Agents Transcripts
API endpoints for Agents Transcripts
/api/agents/{agent_id}/transcripts List lists all transcripts for an agent.
Retrieves paginated transcript sources for the specified agent. Returns 404 if agent not found, 500 on service error, 200 OK with paginated transcripts on success.
Response Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 404 | Resource not found |
| 500 | Internal server error |
/api/agents/{agent_id}/transcripts Create creates a new transcript source.
Creates a transcript source for the agent (YouTube, RSS, podcast). Returns 404 if agent not found, 400 for validation errors, 500 on creation failure, 201 Created with the transcript on success.
Request Body request.Transcript
Transcript
| Property | Type | Description |
|---|---|---|
| url* | string | URL to YouTube video/channel/playlist, RSS feed, or podcast |
| title* | string | Display title for the transcript source |
| provider* | "youtube" | "rss" | "podcast" | Content provider: youtube, rss, or podcast |
| type* | "video" | "channel" | "playlist" | "feed" | "episode" | Content type: video, channel, playlist, feed, or episode |
| external_id | string | null | Provider-specific identifier |
| fetch_frequency | "daily" | "weekly" | "monthly" | "manual" | How often to check for new content: daily, weekly, monthly, or manual |
| metadata | object | Custom metadata as JSON object |
Response Codes
| Status Code | Description |
|---|---|
| 201 | Resource created successfully |
| 404 | Resource not found |
| 422 | Validation failed |
| 500 | Internal server error |
Resource created successfully
Response response.TranscriptResponse
Transcript
| Property | Type | Description |
|---|---|---|
| id | integer (int64) | Unique transcript identifier |
| agent_id | integer (int64) | ID of agent this transcript belongs to |
| provider | string | Content provider: youtube, rss, or podcast |
| url | string | Source URL |
| title | string | Display title |
| type | string | Content type: video, channel, playlist, feed, or episode |
| external_id | string | null | Provider-specific identifier |
| ingest_status | string | Processing status (pending, processing, completed, failed) |
| ingest_error | string | null | Error message if processing failed |
| items_fetched | integer (int32) | Number of items fetched so far |
| total_items | integer (int32) | Total number of items available |
| fetch_frequency | string | How often to check for new content: daily, weekly, monthly, or manual |
| last_fetched_at | string (date-time) | null | Timestamp when content was last fetched |
| next_fetch_at | string (date-time) | null | Timestamp when next fetch is scheduled |
| metadata | object | Custom metadata |
| created_at | string (date-time) | Timestamp when transcript was created |
| updated_at | string (date-time) | Timestamp when transcript was last updated |
/api/agents/{agent_id}/transcripts/{transcript_id} Get retrieves a single transcript.
Returns a transcript by ID. Returns 404 if agent not found, 400 for invalid ID, 404 if transcript not found or belongs to different agent, 200 OK with the transcript on success.
Response Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Invalid request |
| 404 | Resource not found |
Success
Response response.TranscriptResponse
Transcript
| Property | Type | Description |
|---|---|---|
| id | integer (int64) | Unique transcript identifier |
| agent_id | integer (int64) | ID of agent this transcript belongs to |
| provider | string | Content provider: youtube, rss, or podcast |
| url | string | Source URL |
| title | string | Display title |
| type | string | Content type: video, channel, playlist, feed, or episode |
| external_id | string | null | Provider-specific identifier |
| ingest_status | string | Processing status (pending, processing, completed, failed) |
| ingest_error | string | null | Error message if processing failed |
| items_fetched | integer (int32) | Number of items fetched so far |
| total_items | integer (int32) | Total number of items available |
| fetch_frequency | string | How often to check for new content: daily, weekly, monthly, or manual |
| last_fetched_at | string (date-time) | null | Timestamp when content was last fetched |
| next_fetch_at | string (date-time) | null | Timestamp when next fetch is scheduled |
| metadata | object | Custom metadata |
| created_at | string (date-time) | Timestamp when transcript was created |
| updated_at | string (date-time) | Timestamp when transcript was last updated |
/api/agents/{agent_id}/transcripts/{transcript_id} Update updates an existing transcript.
Updates transcript title or fetch frequency. Returns 404 if agent not found, 400 for invalid ID or validation errors, 404 if transcript not found or belongs to different agent, 500 on update failure, 200 OK with updated transcript on success.
Request Body request.TranscriptUpdate
Transcript Update
| Property | Type | Description |
|---|---|---|
| title | string | null | Display title for the transcript source |
| fetch_frequency | "daily" | "weekly" | "monthly" | "manual" | How often to check for new content: daily, weekly, monthly, or manual |
| metadata | object | Custom metadata as JSON object |
Response Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Invalid request |
| 404 | Resource not found |
| 422 | Validation failed |
| 500 | Internal server error |
Success
Response response.TranscriptResponse
Transcript
| Property | Type | Description |
|---|---|---|
| id | integer (int64) | Unique transcript identifier |
| agent_id | integer (int64) | ID of agent this transcript belongs to |
| provider | string | Content provider: youtube, rss, or podcast |
| url | string | Source URL |
| title | string | Display title |
| type | string | Content type: video, channel, playlist, feed, or episode |
| external_id | string | null | Provider-specific identifier |
| ingest_status | string | Processing status (pending, processing, completed, failed) |
| ingest_error | string | null | Error message if processing failed |
| items_fetched | integer (int32) | Number of items fetched so far |
| total_items | integer (int32) | Total number of items available |
| fetch_frequency | string | How often to check for new content: daily, weekly, monthly, or manual |
| last_fetched_at | string (date-time) | null | Timestamp when content was last fetched |
| next_fetch_at | string (date-time) | null | Timestamp when next fetch is scheduled |
| metadata | object | Custom metadata |
| created_at | string (date-time) | Timestamp when transcript was created |
| updated_at | string (date-time) | Timestamp when transcript was last updated |
/api/agents/{agent_id}/transcripts/{transcript_id} Delete deletes a transcript.
Permanently removes a transcript. Returns 404 if agent not found, 400 for invalid ID, 404 if transcript not found or belongs to different agent, 500 on deletion failure, 204 No Content on success.
Response Codes
| Status Code | Description |
|---|---|
| 204 | Success with no content |
| 400 | Invalid request |
| 404 | Resource not found |
| 500 | Internal server error |
/api/agents/{agent_id}/transcripts/{transcript_id}/fetch Fetch triggers fetching of a transcript.
Queues the transcript for fetching. Returns 404 if agent not found, 400 for invalid ID or if already fetching, 404 if transcript not found or belongs to different agent, 500 on update failure, 200 OK with status on success.
Response Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Invalid request |
| 404 | Resource not found |
| 500 | Internal server error |
/api/agents/{agent_id}/transcripts/{transcript_id}/sync SyncSource triggers synchronization of a specific knowledge source.
Queues the knowledge source for reprocessing, which includes re-parsing content, regenerating chunks, and updating embeddings. Returns 400 for invalid ID, 404 if not found, 409 if already processing, 500 on service error, 200 OK with sync status on success.
Response Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Invalid request |
| 404 | Resource not found |
| 500 | Internal server error |
/api/agents/{agent_id}/transcripts/{transcript_id}/status Status returns the status of a transcript.
Returns detailed fetch progress including items fetched, total items, progress percentage, and any errors. Returns 404 if agent not found, 400 for invalid ID, 404 if transcript not found or belongs to different agent, 200 OK with status on success.
Response Codes
| Status Code | Description |
|---|---|
| 200 | Success |
| 400 | Invalid request |
| 404 | Resource not found |