Skip to content
Back to skills

Iblai Api Agent Access

ASecurity

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.

  • 15 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 20, 2026
ai-agentsgobashapi

Works with

  • api

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add iblai/vibe --skill iblai-api-agent-access --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Iblai Api Agent Access?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Iblai Api Agent Access
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iblai-iblai-api-agent-access/badge)](https://www.skillsdirectory.com/skills/iblai-iblai-api-agent-access)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: iblai-api-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.
metadata:
  kind: api
---

# 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 $IBLAI_API_KEY` on 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
  numeric `mentor_id`, adding/removing users, groups, and emails per `role`.
- Not connected yet? Run **`/iblai-api-login`** first to populate `IBLAI_ORG`,
  `IBLAI_USERNAME`, and `IBLAI_API_KEY`.

## Reads

- **GET** `…/users/{username}/mentors/{mentor}/settings/` — resolve the numeric `mentor_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?
  ```json
  {
    "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):
  ```json
  {
    "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:

```bash
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 `role` as `editor`, `chat`, or `analytics_viewer` and
  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_add` and `usernames_to_add` invite by identifier without a prior id
  lookup; users and groups are added/removed by numeric id from the search reads.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.