| name | iblai-api-agent-dataset |
| description | Manage an ibl.ai agent's training datasets (RAG) via the platform API — list training docs, add resources (file, URL, YouTube, Blackboard, website crawl, GitHub), train/untrain, set visibility and retrain schedule, and delete. Use when feeding an agent knowledge. |
iblai-api-agent-dataset
Manage an agent's training datasets (RAG) through the API: list an agent's
training documents, add new resources to its knowledge base, train / untrain and
set visibility, configure a retrain schedule, and delete datasets. Use when
feeding an agent knowledge.
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),
used here as the pathway.
- Host: these endpoints live under
…/dm/api/ai-index/….
- Not connected yet? Run
/iblai-api-login first to populate IBLAI_ORG,
IBLAI_USERNAME, and IBLAI_API_KEY.
Reads
- GET
https://api.iblai.app/dm/api/ai-index/orgs/{org}/users/{username}/documents/pathways/{mentor}/?limit=5&offset={n}&search={q} — list training docs. Poll this every 2s while any document is pending.
- GET
https://api.iblai.app/dm/api/ai-index/documents/{document_id}/settings/ — retrain schedule.
- GET
https://api.github.com/repos/{owner}/{repo}/branches — list GitHub branches for a repo resource (external, no auth).
Writes
- POST
https://api.iblai.app/dm/api/ai-index/orgs/{org}/users/{username}/documents/train/ — add a training resource (multipart/form-data); type varies:
- File:
{
"file": "File (required)",
"pathway": "{mentor}",
"type": "file|<ext>",
"user_image_description": "string"
}
- URL / YouTube / Blackboard:
{
"type": "url|youtube|blackboard",
"pathway": "{mentor}",
"url": "string (required)"
}
- Website crawl:
{
"type": "webcrawler",
"pathway": "{mentor}",
"url": "string",
"crawler_max_depth": "number",
"crawler_max_pages_limit": "number",
"crawler_match_patterns": "string[]",
"crawler_pattern_type": "glob|regex"
}
- GitHub:
{
"url": "repo url",
"branch": "string",
"pathway": "{mentor}",
"type": "github"
}
- PUT
https://api.iblai.app/dm/api/ai-index/documents/{document_id}/ — train / untrain + visibility:
{
"pathway": "{mentor}",
"url": "string",
"train": "boolean",
"access": "public|private"
}
- POST
https://api.iblai.app/dm/api/ai-index/documents/{document_id}/settings/ — set retrain schedule:
{
"retrain_interval_days": "number (required)"
}
- DELETE
https://api.iblai.app/dm/api/ai-index/documents/{document_id}/ — delete a dataset. Destructive — confirm with the user first.
Example
Add a YouTube video to an agent's knowledge base:
curl -X POST \
"https://api.iblai.app/dm/api/ai-index/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/documents/train/" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-F "type=youtube" \
-F "pathway=$MENTOR" \
-F "url=https://www.youtube.com/watch?v=dQw4w9WgXcQ"
Notes
- The list endpoint should be polled every 2s while any document is
pending so
newly added resources flip to trained as soon as processing finishes.
pathway is the agent's {mentor} unique id on every train/PUT call.
- For GitHub resources, fetch the branch list from the unauthenticated
api.github.com/repos/{owner}/{repo}/branches endpoint to populate branch.
- Deletion is destructive — confirm with the user first.