iblai-api-agent-disclaimer
Mirrored from
iblai/vibe·skills/agents/iblai-api-agent-disclaimer/SKILL.md. This page is generated — edit it in the repository, not here.
Manage an agent's disclaimers via the API: the Advisory text (a single field on
the agent's settings/), the User Agreement (its own create / update /
activate lifecycle), and the agreements users record when they accept it. Use
when adding legal or advisory notices users must see or accept. The UI twin is
/iblai-vibe-agent-disclaimer.
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). - Not connected yet? Run
/iblai-api-loginfirst to populateIBLAI_ORG,IBLAI_USERNAME, andIBLAI_API_KEY.
Reads
- GET
https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/users/{username}/mentors/{mentor}/settings/— Advisory text lives in thedisclaimerfield. - GET
https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/users/{username}/disclaimers/?mentor_id={mentor}&scope=mentor— User Agreement list (readresults[0]for the agent's agreement). Rows carryid,content,title,active,scope,mentors[],has_agreed(whether the caller accepted it),created_at,updated_at. Other filters:active,search,ordering,page,page_size. - GET
…/users/{username}/disclaimer-agreements/?disclaimer={id}&mentor_id={mentor}— who accepted the agreement:id,disclaimer,agreed_at,user_id,user_email,user_full_name. Filter one user withusername; paginate withpage/page_size. Admins see every user; others see only their own.
Writes
PUT
…/users/{username}/mentors/{mentor}/settings/— save Advisory text:{ "disclaimer": "string" }POST
…/users/{username}/disclaimers/— create a User Agreement:{ "content": "string (required)", "mentors": ["uuid"], "scope": "mentor", "active": "boolean" }PATCH
…/users/{username}/disclaimers/{id}/— update content or toggle activation:{ "content": "string" }or
{ "active": "boolean" }POST
…/users/{username}/disclaimers/{id}/add-mentor//…/remove-mentor/— attach or detach one more agent (body{"mentor_id": "uuid"}, admins only). Removing the last agent fails with 400. Once an agreement has two agents, its GET, PUT and PATCH return 400 "Disclaimer has multiple mentors, which is not supported." until you remove one, and a create with twomentorsis refused: keep one agent per agreement.POST
…/users/{username}/disclaimer-agreements/— accept an agreement as the caller ({"disclaimer": id}). DELETE…/disclaimer-agreements/{id}/withdraws one (admins may delete any user's).
There is no DELETE for a User Agreement: switch it off with active: false.
Example
Create and activate a User Agreement for an agent:
curl -X POST \
"https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/disclaimers/" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "By continuing, you agree to use this assistant for educational purposes only.",
"mentors": ["'"$MENTOR"'"],
"scope": "mentor",
"active": true
}'
Notes
- The Advisory is one field (
disclaimer) on the agentsettings/— send only that key in the PUT; other settings are left unchanged. - The User Agreement is a separate object users must accept; activate exactly one
per agent via
active: true, and deactivate others with a PATCHactive: false. - The disclaimers list endpoint is filtered with
mentor_id+scope=mentor; the current agreement is the first item inresults. - A POST without
activecreates the agreement already active. - Verified against the live schema (4.411.0) and a live create on 2026-10-02.