Assistant assignable documents
GET
https://app.sulus.ai/api/v1/kb/assistant/{assistantId}/assignable-articles
Search published documents the caller could still attach to an assistant
Authentication
Send a bearer token created on your dashboard's Developer page:
Authorization: Bearer <YOUR_API_KEY>
Path parameters
assistantId
string
Required
The assistant.
Validation:
the assistant's numeric internal id (digits only) or its public UUID (vapi_assistant_id)Query parameters
q
string
Optional
Nullable
Title contains-filter.
Validation:
nullable|string|max:200Errors
| Status | Meaning | Body |
|---|---|---|
403 |
Assistant belongs to a different organization, or not owned by the caller (non-admin) | |
422 |
Validation failed | {"message":"…","errors":{"field":["…"]}} |
401 |
Missing or invalid bearer token | |
403 |
Feature knowledge_docs not enabled for the account |
Notes
- Same {"data": []} fallback as the endpoint above when the assistant identifier does not resolve.
- Only published documents from assistant-audience libraries visible to the caller, in the assistant's own organization, and not already assigned to it — capped at 100 rows, ordered by title.
curl --request GET \
--url https://app.sulus.ai/api/v1/kb/assistant/{assistantId}/assignable-articles \
--header 'Authorization: Bearer <YOUR_API_KEY>'
import requests
url = "https://app.sulus.ai/api/v1/kb/assistant/{assistantId}/assignable-articles"
headers = {"Authorization": "Bearer <YOUR_API_KEY>"}
response = requests.get(url, headers=headers)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://app.sulus.ai/api/v1/kb/assistant/{assistantId}/assignable-articles"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response
200
{
"data": [
{
"id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"knowledge_base_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Shipping FAQ",
"status": "published",
"updated_at": "2026-07-29T10:02:11.000000Z",
"char_count": 210
}
]
}
Response — GET
/assistant/{assistantId}/assignable-articles
200
{
"data": [
{
"id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"knowledge_base_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Shipping FAQ",
"status": "published",
"updated_at": "2026-07-29T10:02:11.000000Z",
"char_count": 210
}
]
}