Skip to main content

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:

ParameterTypeDescription
idstringLibrary id or natural id

Response:

A bare boolean.

Get the assistant-access flagGET /api/libraries/admin:engineering-docs/assistant-access
A bare boolean: whether AI assistants may query this library’s embeddings.
Response · 200
false
Captured from the API examples test suite; ids and timestamps are normalized.

PUT /api/libraries/{id}/assistant-access

Enable or disable assistant access for a library.

Authentication: Required

Permissions: Requires library:share

Path Parameters:

ParameterTypeDescription
idstringLibrary id or natural id

Request Body:

FieldTypeRequiredDescription
enablebooleanYesEnable (true) or disable (false) assistant access

Example:

{ "enable": true }

Response:

Responds with the updated library (and a Location header).

Enable assistant accessPUT /api/libraries/admin:engineering-docs/assistant-access
Body is { enable: true|false }. Responds with the updated library (and a Location header).
Request body
{
"enable": true
}
Response · 200
{
"_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": {}
}
}
}
Captured from the API examples test suite; ids and timestamps are normalized.
What it does

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:

ParameterTypeDescription
idstringLibrary id or natural id

Response:

Responds 200 with an empty body.

Disable assistant accessDELETE /api/libraries/admin:engineering-docs/assistant-access
Sets the flag back to false. Responds 200 with an empty body.
Response · 200 · no body
Captured from the API examples test suite; ids and timestamps are normalized.

GET /api/libraries/{id}/assistants

List the embedded per-file assistants you own in this library.

Authentication: Required

Path Parameters:

ParameterTypeDescription
idstringLibrary id or natural id

Query Parameters:

ParameterTypeDescription
sortstringSort field
limitintegerMaximum results

Response:

A HAL collection. Each embedded assistant carries its file(s), model, and chat.

List per-file assistantsGET /api/libraries/admin:engineering-docs/assistants
A HAL collection of the embedded assistants you own in this library, each embedding its file(s), model, and chat.
Response · 200
{
"_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
}
]
}
}
Captured from the API examples test suite; ids and timestamps are normalized.
Owner-scoped

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:

ParameterTypeDescription
idstringLibrary id or natural id

Request Body:

FieldTypeRequiredDescription
fileIdstring (UUID)YesFile the assistant is scoped to
namestringNoAssistant name (defaults to a library-specific name)
instructionsstringNoExtra instructions appended to the generated file instructions
suggestionsarrayNoSuggested 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.

Create a per-file assistantPOST /api/libraries/admin:engineering-docs/assistants
Creates an embedded assistant scoped to one file. name, instructions, and suggestions are optional. If you already have one for this file, the existing assistant is returned (200) rather than a duplicate. Responds 201 with a Location header.
Request body
{
"fileId": "00000000-0000-4000-8000-000000000001",
"name": "Overview helper",
"suggestions": [
"Summarize this file",
"List the key sections"
]
}
Response · 201
{
"_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
}
Captured from the API examples test suite; ids and timestamps are normalized.
Idempotent creation

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:

ParameterTypeDescription
idstringLibrary id or natural id
assistantIdstring (UUID)Assistant id

Response:

The assistant, with chatId set when you have an open chat with it.

Get a per-file assistantGET /api/libraries/admin:engineering-docs/assistants/00000000-0000-4000-8000-000000000001
The embedded assistant, with chatId set when the caller has an open chat with it.
Response · 200
{
"_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
}
Captured from the API examples test suite; ids and timestamps are normalized.

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:

ParameterTypeDescription
idstringLibrary id or natural id
assistantIdstring (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.

Update a per-file assistantPUT /api/libraries/admin:engineering-docs/assistants/00000000-0000-4000-8000-000000000001
Updates the provided fields (name, instructions, suggestions, welcome, icon, shared, …). Responds with the updated assistant.
Request body
{
"name": "Overview helper",
"suggestions": [
"Summarize this file",
"Explain the architecture"
]
}
Response · 200
{
"_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
}
Captured from the API examples test suite; ids and timestamps are normalized.

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:

ParameterTypeDescription
idstringLibrary id or natural id
assistantIdstring (UUID)Assistant id

Response:

Responds 200 with an empty body.

Delete a per-file assistantDELETE /api/libraries/admin:engineering-docs/assistants/00000000-0000-4000-8000-000000000001
Removes the embedded assistant. Responds 200 with an empty body.
Response · 200 · no body
Captured from the API examples test suite; ids and timestamps are normalized.

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:

ParameterTypeDescription
idstringLibrary id or natural id
assistantIdstring (UUID)Assistant id

Request Body:

FieldTypeRequiredDescription
namestringYesName for the promoted assistant

Response:

Responds 200 with the promoted assistant.

Promote a per-file assistantPOST /api/libraries/admin:engineering-docs/assistants/00000000-0000-4000-8000-000000000001/_promote
Promotes the embedded assistant in place to a standalone assistant (embedded false, libraryId null) under the given name. Responds 200 with the promoted assistant.
Request body
{
"name": "Engineering Overview Assistant"
}
Response · 200
{
"_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
}
Captured from the API examples test suite; ids and timestamps are normalized.
Promotion is in place

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).