Skip to main content
Version: 2.0.0

Create Tenant

Tenants are used to group users and roles together. A user can have different roles in multiple tenants. The most common use case for using tenants is organization or company.

Create Tenant

First of all we need to get our API_SECRET_KEY from the dashboard and get the current project_id and env_id

Replace API_SECRET_KEY with the key from the Permit dashboard along with the project_id and env_id you got from the API in the following command.

curl 'https://api.permit.io/v2/facts/{project_id}/{env_id}/tenants' \
-H 'authorization: Bearer API_SECRET_KEY'
--data-raw '{"key":"new-tenant-name","name":"New Tenant Name","description":"New tenant description"}' \

The return user object will look like this:

{
"key": "new-tenant-name",
"id": "1e17ad4486cb4320bba067b2f19exxxx",
"organization_id": "903ebc2765b848289d6dfbd3c21exxxx",
"project_id": "3c4244c7bcab4c97990e5bc724daxxxx",
"environment_id": "9ba956da646948538efaee4cf10dxxxx",
"created_at": "2023-07-31T08:16:03+00:00",
"updated_at": "2023-07-31T08:16:03+00:00",
"last_action_at": "2023-07-31T08:16:03+00:00",
"name": "New Tenant Name",
"description": "New tenant description",
"attributes": null
}

Get all tenants

Note the search query parameter in the following command.

curl 'https://api.permit.io/v2/facts/{project_id}/{env_id}/tenants?search=default&include_total_count=true&page=1&per_page=100' \
-H 'authorization: Bearer API_SECRET_KEY'

The return user object will look like this:

{
"data": [
{
"key": "default",
"id": "5620130cc6a74ada9f0c194cab20a53e",
"organization_id": "903ebc2765b848289d6dfbd3c21exxxx",
"project_id": "3c4244c7bcab4c97990e5bc724daxxxx",
"environment_id": "9ba956da646948538efaee4cf10dxxxx",
"created_at": "2023-02-28T10:07:44+00:00",
"updated_at": "2023-02-28T10:07:44+00:00",
"last_action_at": "2023-02-28T10:07:44+00:00",
"name": "Default Tenant",
"description": null,
"attributes": null
}
],
"total_count": 1,
"page_count": 1
}```