Assistant Associations
Manage AI assistant access to libraries for knowledge retrieval and RAG (Retrieval-Augmented Generation).
Two distinct things live here: the assistant-access flag, a library-level toggle that lets assistants query the library's embeddings, and per-file assistants, lightweight embedded assistants scoped to a single file.
GET /api/libraries/{id}/assistant-access
Check whether assistant access is enabled for a library.
Authentication: Required
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
Response:
A bare boolean.
false
PUT /api/libraries/{id}/assistant-access
Enable or disable assistant access for a library.
Authentication: Required
Permissions: Requires library:share
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
enable | boolean | Yes | Enable (true) or disable (false) assistant access |
Example:
{ "enable": true }
Response:
Responds with the updated library (and a Location header).
{
"enable": true
}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000001"
},
"inf:library-share": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/shares/{principalId}",
"templated": true
},
"inf:assistants": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants"
},
"inf:sync": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/_sync"
},
"inf:files": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/files"
},
"inf:account": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/account"
},
"inf:library-owner": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/owner"
},
"inf:library-shares": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/shares"
},
"inf:comments": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000001/comments"
},
"inf:library-assistant-access": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000001/assistant-access"
},
"inf:favorite": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/favorite"
},
"inf:library-integration": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000001/integration"
}
},
"naturalId": "admin:engineering-docs",
"connectionOwner": "admin",
"isLocal": true,
"permissions": {
"assignTags": true,
"changeOwner": true,
"configure": true,
"connect": true,
"edit": true,
"delete": true,
"write": true,
"sync": true,
"rename": true,
"share": true,
"editConnection": true
},
"id": "00000000-0000-4000-8000-000000000001",
"type": "local",
"name": "Engineering Docs",
"slug": "engineering-docs",
"description": null,
"ownerId": "admin",
"data": null,
"folderId": null,
"shared": false,
"assistantAccess": true,
"embedded": false,
"syncedAt": null,
"syncInterval": null,
"snapshotOfId": null,
"chatId": null,
"source": null,
"sourceId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme",
"integration": null,
"_embedded": {
"inf:library-driver": {
"_links": {
"self": {
"href": "https://informer.example.com/api/library-drivers/local"
}
},
"id": "local",
"name": "Local",
"defaultSyncInterval": null,
"isLocal": true,
"sync": {}
}
}
}
Enabling assistant access lets AI assistants query the library's vector embeddings for knowledge retrieval. The library needs indexed files for this to be useful.
DELETE /api/libraries/{id}/assistant-access
Disable assistant access for a library.
Authentication: Required
Permissions: Requires library:share
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
Response:
Responds 200 with an empty body.
GET /api/libraries/{id}/assistants
List the embedded per-file assistants you own in this library.
Authentication: Required
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
sort | string | Sort field |
limit | integer | Maximum results |
Response:
A HAL collection. Each embedded assistant carries its file(s), model, and chat.
{
"_links": {
"self": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants?limit=0"
}
},
"start": 0,
"count": 1,
"total": 1,
"_embedded": {
"inf:assistant": [
{
"_links": {
"self": {
"href": "https://informer.example.com/api/assistants/00000000-0000-4000-8000-000000000001"
},
"inf:draft": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/draft"
},
"inf:edit": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_edit"
},
"inf:comments": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/comments{?sort,limit}",
"templated": true
},
"inf:assistant-promote": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000002/assistants/admin%3Aoverview-helper/_promote"
},
"inf:assistant-share": {
"href": "https://informer.example.com/api/assistants/00000000-0000-4000-8000-000000000001/shares/{principalId}",
"templated": true
},
"inf:assistant-owner": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/owner"
},
"inf:assistant-datasets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/datasets"
},
"inf:assistant-skills": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/skills"
},
"inf:assistant-toolkits": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/toolkits"
},
"inf:assistant-references": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/references"
},
"inf:assistant-shares": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/shares"
},
"inf:assistant-icon": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/icon"
},
"inf:assistant-secrets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/secrets"
},
"inf:assistant-copy": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_copy"
},
"inf:favorite": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/favorite"
},
"inf:assistant-files": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files"
},
"inf:assistant-file-upload": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files/_upload"
},
"inf:assistant-usage": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/usage"
},
"inf:create-image": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_create-image"
},
"inf:chat-external": {
"href": "https://informer.example.com/assistants/admin%3Aoverview-helper/chat"
}
},
"naturalId": "admin:overview-helper",
"searchName": "overview helper",
"permissions": {
"chat": true,
"edit": true,
"share": true,
"delete": true,
"write": true,
"changeOwner": true,
"copy": true,
"rename": true,
"assignTags": true
},
"id": "00000000-0000-4000-8000-000000000001",
"name": "Overview helper",
"description": null,
"slug": "overview-helper",
"ownerId": "admin",
"welcome": null,
"modelId": "00000000-0000-4000-8000-000000000003",
"instructions": "You are an AI assistant with full access to the file overview.md. \n This file has contentType text/markdown, size 11, and removeUrl of null. \n The remoteUrl can be a link to open the file in a new window.\n You have access to the contents of the file via embeddings\n\n",
"suggestions": [
"Summarize this file",
"List the key sections"
],
"token": null,
"data": null,
"source": null,
"sourceId": null,
"folderId": null,
"editingId": null,
"shared": false,
"embedded": true,
"dispatcher": false,
"libraryId": "00000000-0000-4000-8000-000000000002",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme",
"chat": null,
"files": [
{
"extension": "md",
"tenant": "acme",
"id": "00000000-0000-4000-8000-000000000004",
"filename": "overview.md",
"embedded": false,
"contentType": "text/markdown",
"lobId": "16400",
"role": null,
"description": null,
"data": {},
"createdById": null,
"letterheadId": null,
"jobActionAttachmentId": null,
"jobActionId": null,
"oauthClientId": null,
"assistantId": null,
"directory": false,
"indexed": false,
"indexingStartedAt": null,
"indexingErroredAt": null,
"indexingErrorMessage": null,
"indexedAt": null,
"parentId": null,
"libraryId": "00000000-0000-4000-8000-000000000002",
"remoteId": null,
"remoteUrl": null,
"size": "524288",
"modifiedAt": "2026-01-15T16:20:00.000Z",
"messageId": null,
"chatId": null,
"expiresAt": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"ownerId": null,
"templateId": null,
"integrationId": null,
"AssistantFile": {
"id": "00000000-0000-4000-8000-000000000005",
"fileId": "00000000-0000-4000-8000-000000000004",
"assistantId": "00000000-0000-4000-8000-000000000001",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme"
}
}
],
"model": {
"naturalId": "go_everyday",
"permissions": {},
"promptPpm": null,
"completionPpm": null,
"cacheReadPpm": null,
"cacheWriteShortPpm": null,
"cacheWriteLongPpm": null,
"id": "00000000-0000-4000-8000-000000000003",
"model": null,
"slug": "go_everyday",
"provider": null
},
"icon": null
}
]
}
}
This lists only the embedded assistants owned by the caller. Two users can each have their own per-file assistant for the same file.
POST /api/libraries/{id}/assistants
Create an embedded assistant scoped to a file in the library.
Authentication: Required
Permissions: Read access to the library
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
fileId | string (UUID) | Yes | File the assistant is scoped to |
name | string | No | Assistant name (defaults to a library-specific name) |
instructions | string | No | Extra instructions appended to the generated file instructions |
suggestions | array | No | Suggested prompts |
Example:
{
"fileId": "file-uuid",
"name": "Documentation Helper",
"suggestions": ["Summarize this document", "What are the main topics covered?"]
}
Response:
Responds 201 Created with the assistant and a Location header.
{
"fileId": "00000000-0000-4000-8000-000000000001",
"name": "Overview helper",
"suggestions": [
"Summarize this file",
"List the key sections"
]
}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/assistants/00000000-0000-4000-8000-000000000002"
},
"inf:draft": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/draft"
},
"inf:edit": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_edit"
},
"inf:comments": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/comments{?sort,limit}",
"templated": true
},
"inf:assistant-promote": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000003/assistants/admin%3Aoverview-helper/_promote"
},
"inf:assistant-share": {
"href": "https://informer.example.com/api/assistants/00000000-0000-4000-8000-000000000002/shares/{principalId}",
"templated": true
},
"inf:assistant-owner": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/owner"
},
"inf:assistant-datasets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/datasets"
},
"inf:assistant-skills": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/skills"
},
"inf:assistant-toolkits": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/toolkits"
},
"inf:assistant-references": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/references"
},
"inf:assistant-shares": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/shares"
},
"inf:assistant-icon": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/icon"
},
"inf:assistant-secrets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/secrets"
},
"inf:assistant-copy": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_copy"
},
"inf:favorite": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/favorite"
},
"inf:assistant-files": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files"
},
"inf:assistant-file-upload": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files/_upload"
},
"inf:assistant-usage": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/usage"
},
"inf:create-image": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_create-image"
},
"inf:chat-external": {
"href": "https://informer.example.com/assistants/admin%3Aoverview-helper/chat"
}
},
"naturalId": "admin:overview-helper",
"searchName": "overview helper",
"permissions": {
"chat": true,
"edit": true,
"share": true,
"delete": true,
"write": true,
"changeOwner": true,
"copy": true,
"rename": true,
"assignTags": true
},
"id": "00000000-0000-4000-8000-000000000002",
"shared": false,
"dispatcher": false,
"tenant": "acme",
"name": "Overview helper",
"ownerId": "admin",
"libraryId": "00000000-0000-4000-8000-000000000003",
"suggestions": [
"Summarize this file",
"List the key sections"
],
"instructions": "You are an AI assistant with full access to the file overview.md. \n This file has contentType text/markdown, size 11, and removeUrl of null. \n The remoteUrl can be a link to open the file in a new window.\n You have access to the contents of the file via embeddings\n\n",
"embedded": true,
"updatedAt": "2026-01-15T16:20:00.000Z",
"createdAt": "2026-01-15T16:20:00.000Z",
"modelId": "00000000-0000-4000-8000-000000000004",
"slug": "overview-helper",
"description": null,
"welcome": null,
"secrets": null,
"data": null,
"editingId": null,
"folderId": null,
"source": null,
"sourceId": null,
"token": null
}
If you already own an embedded assistant for the same file, this returns that existing assistant with status 200 instead of creating a duplicate.
GET /api/libraries/{id}/assistants/{assistantId}
Get one of your embedded per-file assistants.
Authentication: Required
Permissions: You must own the assistant (otherwise 404)
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
assistantId | string (UUID) | Assistant id |
Response:
The assistant, with chatId set when you have an open chat with it.
{
"_links": {
"self": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants/00000000-0000-4000-8000-000000000001"
},
"inf:draft": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/draft"
},
"inf:edit": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_edit"
},
"inf:comments": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/comments{?sort,limit}",
"templated": true
},
"inf:assistant-promote": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000002/assistants/admin%3Aoverview-helper/_promote"
},
"inf:assistant-share": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants/00000000-0000-4000-8000-000000000001/shares/{principalId}",
"templated": true
},
"inf:assistant-owner": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/owner"
},
"inf:assistant-datasets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/datasets"
},
"inf:assistant-skills": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/skills"
},
"inf:assistant-toolkits": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/toolkits"
},
"inf:assistant-references": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/references"
},
"inf:assistant-shares": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/shares"
},
"inf:assistant-icon": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/icon"
},
"inf:assistant-secrets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/secrets"
},
"inf:assistant-copy": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_copy"
},
"inf:favorite": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/favorite"
},
"inf:assistant-files": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files"
},
"inf:assistant-file-upload": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files/_upload"
},
"inf:assistant-usage": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/usage"
},
"inf:create-image": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_create-image"
},
"inf:chat-external": {
"href": "https://informer.example.com/assistants/admin%3Aoverview-helper/chat"
}
},
"naturalId": "admin:overview-helper",
"searchName": "overview helper",
"permissions": {
"chat": true,
"edit": true,
"share": true,
"delete": true,
"write": true,
"changeOwner": true,
"copy": true,
"rename": true,
"assignTags": true
},
"id": "00000000-0000-4000-8000-000000000001",
"name": "Overview helper",
"description": null,
"slug": "overview-helper",
"ownerId": "admin",
"welcome": null,
"modelId": "00000000-0000-4000-8000-000000000003",
"instructions": "You are an AI assistant with full access to the file overview.md. \n This file has contentType text/markdown, size 11, and removeUrl of null. \n The remoteUrl can be a link to open the file in a new window.\n You have access to the contents of the file via embeddings\n\n",
"suggestions": [
"Summarize this file",
"List the key sections"
],
"token": null,
"data": null,
"source": null,
"sourceId": null,
"folderId": null,
"editingId": null,
"shared": false,
"embedded": true,
"dispatcher": false,
"libraryId": "00000000-0000-4000-8000-000000000002",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme",
"model": {
"naturalId": "go_everyday",
"permissions": {},
"promptPpm": null,
"completionPpm": null,
"cacheReadPpm": null,
"cacheWriteShortPpm": null,
"cacheWriteLongPpm": null,
"id": "00000000-0000-4000-8000-000000000003",
"model": null,
"slug": "go_everyday",
"provider": null
},
"icon": null,
"chatId": null
}
PUT /api/libraries/{id}/assistants/{assistantId}
Update one of your embedded per-file assistants.
Authentication: Required
Permissions: You must own the assistant (otherwise 404)
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
assistantId | string (UUID) | Assistant id |
Request Body:
Any of name, description, instructions, model, token, suggestions, welcome, data, icon, shared. Only the provided fields change.
Example:
{ "name": "Updated Documentation Helper", "suggestions": ["Summarize", "Explain", "Find examples"] }
Response:
Responds 200 with the updated assistant.
{
"name": "Overview helper",
"suggestions": [
"Summarize this file",
"Explain the architecture"
]
}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants/00000000-0000-4000-8000-000000000001"
},
"inf:draft": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/draft"
},
"inf:edit": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_edit"
},
"inf:comments": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/comments{?sort,limit}",
"templated": true
},
"inf:assistant-promote": {
"href": "https://informer.example.com/api/libraries/00000000-0000-4000-8000-000000000002/assistants/admin%3Aoverview-helper/_promote"
},
"inf:assistant-share": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants/00000000-0000-4000-8000-000000000001/shares/{principalId}",
"templated": true
},
"inf:assistant-owner": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/owner"
},
"inf:assistant-datasets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/datasets"
},
"inf:assistant-skills": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/skills"
},
"inf:assistant-toolkits": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/toolkits"
},
"inf:assistant-references": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/references"
},
"inf:assistant-shares": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/shares"
},
"inf:assistant-icon": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/icon"
},
"inf:assistant-secrets": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/secrets"
},
"inf:assistant-copy": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_copy"
},
"inf:favorite": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/favorite"
},
"inf:assistant-files": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files"
},
"inf:assistant-file-upload": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/files/_upload"
},
"inf:assistant-usage": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/usage"
},
"inf:create-image": {
"href": "https://informer.example.com/api/assistants/admin%3Aoverview-helper/_create-image"
},
"inf:chat-external": {
"href": "https://informer.example.com/assistants/admin%3Aoverview-helper/chat"
}
},
"naturalId": "admin:overview-helper",
"searchName": "overview helper",
"permissions": {
"chat": true,
"edit": true,
"share": true,
"delete": true,
"write": true,
"changeOwner": true,
"copy": true,
"rename": true,
"assignTags": true
},
"id": "00000000-0000-4000-8000-000000000001",
"name": "Overview helper",
"description": null,
"slug": "overview-helper",
"ownerId": "admin",
"welcome": null,
"modelId": "00000000-0000-4000-8000-000000000003",
"instructions": "You are an AI assistant with full access to the file overview.md. \n This file has contentType text/markdown, size 11, and removeUrl of null. \n The remoteUrl can be a link to open the file in a new window.\n You have access to the contents of the file via embeddings\n\n",
"suggestions": [
"Summarize this file",
"Explain the architecture"
],
"token": null,
"data": null,
"source": null,
"sourceId": null,
"folderId": null,
"editingId": null,
"shared": false,
"embedded": true,
"dispatcher": false,
"libraryId": "00000000-0000-4000-8000-000000000002",
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme",
"model": {
"naturalId": "go_everyday",
"permissions": {},
"promptPpm": null,
"completionPpm": null,
"cacheReadPpm": null,
"cacheWriteShortPpm": null,
"cacheWriteLongPpm": null,
"id": "00000000-0000-4000-8000-000000000003",
"model": null,
"slug": "go_everyday",
"provider": null
},
"icon": null
}
DELETE /api/libraries/{id}/assistants/{assistantId}
Delete one of your embedded per-file assistants.
Authentication: Required
Permissions: You must own the assistant (otherwise 404)
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
assistantId | string (UUID) | Assistant id |
Response:
Responds 200 with an empty body.
POST /api/libraries/{id}/assistants/{assistantId}/_promote
Promote an embedded per-file assistant to a standalone assistant.
Authentication: Required
Permissions: You must own the assistant
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Library id or natural id |
assistantId | string (UUID) | Assistant id |
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name for the promoted assistant |
Response:
Responds 200 with the promoted assistant.
{
"name": "Engineering Overview Assistant"
}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants/00000000-0000-4000-8000-000000000001/_promote"
},
"inf:draft": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/draft"
},
"inf:edit": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/_edit"
},
"inf:comments": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/comments{?sort,limit}",
"templated": true
},
"inf:assistant-share": {
"href": "https://informer.example.com/api/libraries/admin%3Aengineering-docs/assistants/00000000-0000-4000-8000-000000000001/_promote/shares/{principalId}",
"templated": true
},
"inf:assistant-owner": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/owner"
},
"inf:assistant-datasets": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/datasets"
},
"inf:assistant-skills": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/skills"
},
"inf:assistant-toolkits": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/toolkits"
},
"inf:assistant-references": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/references"
},
"inf:assistant-shares": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/shares"
},
"inf:assistant-icon": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/icon"
},
"inf:assistant-secrets": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/secrets"
},
"inf:assistant-copy": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/_copy"
},
"inf:favorite": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/favorite"
},
"inf:assistant-files": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/files"
},
"inf:assistant-file-upload": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/files/_upload"
},
"inf:assistant-usage": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/usage"
},
"inf:create-image": {
"href": "https://informer.example.com/api/assistants/admin%3Aengineering-overview-assistant/_create-image"
},
"inf:chat-external": {
"href": "https://informer.example.com/assistants/admin%3Aengineering-overview-assistant/chat"
}
},
"naturalId": "admin:engineering-overview-assistant",
"searchName": "engineering overview assistant",
"permissions": {
"chat": true,
"edit": true,
"share": true,
"delete": true,
"write": true,
"changeOwner": true,
"copy": true,
"rename": true,
"assignTags": true
},
"id": "00000000-0000-4000-8000-000000000001",
"name": "Engineering Overview Assistant",
"description": null,
"slug": "engineering-overview-assistant",
"ownerId": "admin",
"welcome": null,
"modelId": "00000000-0000-4000-8000-000000000002",
"instructions": "You are an AI assistant with full access to the file overview.md. \n This file has contentType text/markdown, size 11, and removeUrl of null. \n The remoteUrl can be a link to open the file in a new window.\n You have access to the contents of the file via embeddings\n\n",
"suggestions": [
"Summarize this file",
"Explain the architecture"
],
"token": null,
"data": null,
"source": null,
"sourceId": null,
"folderId": null,
"editingId": null,
"shared": false,
"embedded": false,
"dispatcher": false,
"libraryId": null,
"createdAt": "2026-01-15T16:20:00.000Z",
"updatedAt": "2026-01-15T16:20:00.000Z",
"tenant": "acme",
"model": {
"naturalId": "go_everyday",
"permissions": {},
"promptPpm": null,
"completionPpm": null,
"cacheReadPpm": null,
"cacheWriteShortPpm": null,
"cacheWriteLongPpm": null,
"id": "00000000-0000-4000-8000-000000000002",
"model": null,
"slug": "go_everyday",
"provider": null
},
"icon": null
}
Promotion updates the same assistant: it sets embedded: false and libraryId: null and renames it. It does not create a copy, and the assistant is no longer returned by the library's assistant routes afterward (it has left the library).