A valid request URL is required to generate request examples{
"roles": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "teacher",
"name": "Professor",
"is_system": true,
"permissions": [
"$team.manage",
"grades:write"
]
}
]
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}The roles a seat can be given
This environment’s role vocabulary — the two system roles first, then the ones you defined in the panel — so an invite form and a roster’s role select can offer all of them instead of the seeded pair.
Requires $team.manage on the active customer: the list exists to be spent on inviting somebody or changing what they are, and it is your own internal vocabulary, including roles nobody on this team holds. A member without the capability gets 403.
The environment is the contact session’s own and is never a parameter, so owner here is the row seeded into the environment this contact belongs to and never the one in the other half.
permissions mixes the two vocabularies exactly as the JWT does: $… entries are what UserKit evaluates, everything else is yours. There is no member_count — it counts memberships across the whole environment, which is not one team’s to read.
A valid request URL is required to generate request examples{
"roles": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "teacher",
"name": "Professor",
"is_system": true,
"permissions": [
"$team.manage",
"grades:write"
]
}
]
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}{
"error": {
"code": "forbidden",
"message": "your role does not allow this action"
}
}Autorizações
A contact session token, uk_ct_…. Belongs to one of the developer's own users, and reads only that user's data.
Cabeçalhos
The customer this call is acting inside — the same arrangement as X-Organization-Id, one plane down. Switching customers is navigation, not a mutation: nothing is stored, you send a different header, and the membership JOIN behind it decides what you may do there. An id you are not a member of matches no row and answers 404. Absent, the contact's oldest membership answers.
Resposta
The roles this environment defines.
Show child attributes
Show child attributes