Skip to content
GET /role/{id}

Path Parameters

idstring
required·

Role id (role_…).

Response Body

can_reassign_holdersboolean

Whether you may move this role's holders and pending invites to another role (DELETE /role/{id}?reassign_to=): you hold member:manage and do not hold this role yourself.

created_atstring · date-time
descriptionstring,null
group_mapping_countinteger

SCIM group mappings that assign this role. Present only on roles you can manage. While above zero, DELETE /role/{id} is refused (409 role_mapped) until the mappings change.

idstring

Role id (role_…).

is_systemboolean

Predefined roles ship with every organization and cannot be edited away.

member_countinteger

How many members hold this role right now. GET /member?role_id={id} lists them; while it is above zero, DELETE /role/{id} needs reassign_to.

namestring
pending_invite_countinteger

Pending invites issued for this role. Present only on roles you can manage. While above zero, DELETE /role/{id} needs reassign_to, which re-points them.

permissionsstring[]

Permission names from GET /permission. PATCH /role/{id} replaces this list wholesale.

seat_classstring

Whether members holding only this role count toward billable seats.

Possible values:
billablefree_admin
updated_atstring · date-time
curl -X GET 'https://api.elaichi.ai/role/<id>' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json'
const response = await fetch('https://api.elaichi.ai/role/<id>', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import os
import requests

url = "https://api.elaichi.ai/role/<id>"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}

response = requests.get(url, headers=headers)
print(response.json())