List an agent's training sources (crawled URLs, text snippets, uploaded files), newest first, paged with limit/offset and filterable by type. Requires the read:sources permission.
Authorization
BearerAuth read:sourcesIn: header
Scope: read:sources
Path Parameters
Query Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/agents/string/sources"{
"items": [
{
"id": 42,
"agentId": "a1b2c3d4e5",
"type": "url",
"name": "https://acme.com/pricing",
"status": "indexed",
"sizeBytes": 18324,
"wordCount": 812,
"errorMessage": null,
"createdAt": "2026-08-01T10:00:00.000Z"
}
],
"total": 0,
"limit": 0,
"offset": 0
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"issues": [
{
"path": "string",
"message": "string"
}
]
}Get a conversation GET
One conversation with its transcript (capped at 500 messages; `truncated` is true when longer). Returns 404 when the conversation does not exist or belongs to an agent this key cannot access. Requires the `read:conversations` permission.
Add a training source POST
Add a URL or text snippet to an agent's knowledge and queue background indexing. Poll `GET /agents/{id}/sources` or `GET /agents/{id}/training-status` to watch progress. Requires the `write:sources` permission.