SKILL.md
iblai-api-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 $IBLAIAPIKEYon every request. - Path vars:
{org}=$IBLAIORG,{username}=$IBLAIUSERNAME,
{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 numeric mentor_id, adding/removing users, groups, and emails per role.
- Not connected yet? Run
/iblai-api-loginfirst to populateIBLAI_ORG,
IBLAIUSERNAME, and IBLAIAPI_KEY.
Reads
- GET
…/users/{username}/mentors/{mentor}/settings/— resolve the numericmentor_id. - GET
https://api.iblai.app/dm/api/core/rbac/mentor-access/?mentorid={id}&platformkey={org}— list current role policies. - POST
https://api.iblai.app/dm/api/core/rbac/permissions/check/— can the user search users/groups?
``json { "platform_key": "string (required)", "resources": ["/users/", "/groups/"] } ``
- GET
https://api.iblai.app/dm/api/core/platform/users/?platformkey={org}&platformorg={org}&query={q}&page=1&pagesize=20&returnpolicies=false— user autocomplete. - GET
https://api.iblai.app/dm/api/core/rbac/groups/?platformkey={org}&name={q}&page=1&pagesize=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):
``json { "platformkey": "string (required)", "mentorid": "number (required)", "role": "editor | chat | analyticsviewer (required)", "userstoadd": "number[]", "userstoremove": "number[]", "groupstoadd": "number[]", "groupstoremove": "number[]", "emailstoadd": "string[]", "usernamesto_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 the settings/ 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.
emailstoaddandusernamestoaddinvite by identifier without a prior id
lookup; users and groups are added/removed by numeric id from the search reads.