Agents Transcripts

API endpoints for Agents Transcripts

GET /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

POST /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

GET /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

PATCH /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

DELETE /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

POST /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

POST /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

GET /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