Content
Manage recordings (audio/video files) within projects.
List Content
GET /v1/projects/{projectId}/content
Returns content in a project.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status: uploaded, processing, completed, failed |
created_after | string | ISO 8601 timestamp |
created_before | string | ISO 8601 timestamp |
limit | integer | Max results (1-100, default: 20) |
cursor | string | Pagination cursor |
Request
curl "https://scribesight.com/api/v1/projects/proj_xxx/content?status=completed&limit=10" \
-H "Authorization: Bearer sk_live_xxx"
Response
{
"data": [
{
"id": "cont_xxxxxxxxxxxx",
"project_id": "proj_xxxxxxxxxxxx",
"filename": "sales-call-2026-01-05.mp4",
"content_type": "video/mp4",
"size_bytes": 52428800,
"duration_seconds": 1847,
"status": "completed",
"has_transcript": true,
"analysis_count": 2,
"created_at": "2026-01-05T14:30:00Z",
"updated_at": "2026-01-05T15:00:00Z"
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJpZCI6Inh4eCJ9"
}
}
Get Content
GET /v1/projects/{projectId}/content/{contentId}
Returns a specific content item with transcript and analyses.
Request
curl https://scribesight.com/api/v1/projects/proj_xxx/content/cont_xxx \
-H "Authorization: Bearer sk_live_xxx"
Upload Content
Uploading content is a multi-step process:
Step 1: Request Upload URL
POST /v1/projects/{projectId}/content/upload-url
Request a presigned URL to upload your file.
curl -X POST https://scribesight.com/api/v1/projects/proj_xxx/content/upload-url \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"filename": "sales-call.mp4",
"content_type": "video/mp4",
"size_bytes": 52428800
}'
Response:
{
"data": {
"content_id": "cont_xxxxxxxxxxxx",
"upload_type": "single",
"upload_url": "https://s3.amazonaws.com/...",
"upload_method": "PUT",
"upload_headers": {
"Content-Type": "video/mp4"
},
"expires_at": "2026-01-06T16:00:00Z"
}
}
Step 2: Upload File
Upload directly to the presigned URL:
curl -X PUT "https://s3.amazonaws.com/..." \
-H "Content-Type: video/mp4" \
--data-binary @sales-call.mp4
Step 3: Confirm Upload
POST /v1/projects/{projectId}/content/{contentId}/upload-complete
Confirm the upload is complete to begin processing.
curl -X POST https://scribesight.com/api/v1/projects/proj_xxx/content/cont_xxx/upload-complete \
-H "Authorization: Bearer sk_live_xxx"
Get Transcript
GET /v1/projects/{projectId}/content/{contentId}/transcript
Returns the transcript for a content item.
Request
curl https://scribesight.com/api/v1/projects/proj_xxx/content/cont_xxx/transcript \
-H "Authorization: Bearer sk_live_xxx"
Response
{
"data": {
"content_id": "cont_xxxxxxxxxxxx",
"text": "Hello, thank you for calling Acme Inc...",
"word_count": 2847,
"segments": [
{
"start": 0.0,
"end": 3.5,
"text": "Hello, thank you for calling Acme Inc.",
"speaker": "Agent"
}
],
"language": "en",
"created_at": "2026-01-05T15:00:00Z"
}
}
Delete Content
DELETE /v1/projects/{projectId}/content/{contentId}
Deletes a content item and all associated data.
curl -X DELETE https://scribesight.com/api/v1/projects/proj_xxx/content/cont_xxx \
-H "Authorization: Bearer sk_live_xxx"
Reprocess Content
POST /v1/projects/{projectId}/content/{contentId}/reprocess
Re-runs transcription for a content item.
curl -X POST https://scribesight.com/api/v1/projects/proj_xxx/content/cont_xxx/reprocess \
-H "Authorization: Bearer sk_live_xxx"