name: iblai-agent-access description: Manage role-based access to an ibl.ai agent via the platform API — list role policies, search users/groups, and grant/revoke editor, chat, or analytics_viewer roles for users, groups, and emails. Use when controlling who can edit, chat with, or view analytics for an agent.
iblai-agent-access
Manage role-based access control that decides who can edit, chat with, or
view analytics for an agent. Searches resolve users and groups; every grant
and revoke flows through the single mentor-access/ write endpoint. Use when
controlling who can edit, chat with, or view analytics for an agent.
Auth & conventions
- Base URL:
https://api.iblai.app - Header:
Authorization: Api-Token $IBLAI_API_KEYon every request. - Path vars:
{org}=$IBLAI_ORG,{username}=$IBLAI_USERNAME,{mentor}= the agent's unique id (e.g.d17dc729-60fd-4363-81a0-f67d9318b03e). - Access writes go through one endpoint —
POST
https://api.iblai.app/dm/api/core/rbac/mentor-access/— keyed by the numericmentor_id, adding/removing users, groups, and emails perrole. - Not connected yet? Run
/iblai-loginfirst to populateIBLAI_ORG,IBLAI_USERNAME, andIBLAI_API_KEY.
Reads
- GET
…/users/{username}/mentors/{mentor}/settings/— resolve the numericmentor_id. - GET
https://api.iblai.app/dm/api/core/rbac/mentor-access/?mentor_id={id}&platform_key={org}— list current role policies. - POST
https://api.iblai.app/dm/api/core/rbac/permissions/check/— can the user search users/groups?{ "platform_key": "string (required)", "resources": ["/users/", "/groups/"] } - GET
https://api.iblai.app/dm/api/core/platform/users/?platform_key={org}&platform_org={org}&query={q}&page=1&page_size=20&return_policies=false— user autocomplete. - GET
https://api.iblai.app/dm/api/core/rbac/groups/?platform_key={org}&name={q}&page=1&page_size=20&include_users=true— group autocomplete.
Writes
- POST
https://api.iblai.app/dm/api/core/rbac/mentor-access/— grant / revoke access (all access changes go through this one endpoint):{ "platform_key": "string (required)", "mentor_id": "number (required)", "role": "editor | chat | analytics_viewer (required)", "users_to_add": "number[]", "users_to_remove": "number[]", "groups_to_add": "number[]", "groups_to_remove": "number[]", "emails_to_add": "string[]", "usernames_to_add": "string[]" }
Example
Grant a user (id 4218) the chat role and revoke a group (id 91) on the agent:
curl -X POST \
"https://api.iblai.app/dm/api/core/rbac/mentor-access/" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform_key": "'"$IBLAI_ORG"'",
"mentor_id": 1057,
"role": "chat",
"users_to_add": [4218],
"groups_to_remove": [91]
}'
Notes
- The write endpoint takes the numeric
mentor_id, not the{mentor}UUID — resolve it from thesettings/read first. - One role per POST: send
roleaseditor,chat, oranalytics_viewerand the add/remove arrays apply to that role only. - Use
permissions/check/before searching — if the user lacks access to/users/or/groups/, skip the corresponding autocomplete. emails_to_addandusernames_to_addinvite by identifier without a prior id lookup; users and groups are added/removed by numeric id from the search reads.