SpeechdashHelp Center

Documents

Library documents, including finished audio and video transcripts. There is no separate transcripts resource. Transcription jobs stay in the app; completed jobs appear here with source=transcription.

GET
/documents

Lists library documents. Finished transcriptions are included; there is no /transcripts collection. Check source and transcript_id.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings > API, prefixed with sh_live_.

In: header

Query Parameters

limit?integer
Range1 <= value <= 100
Default25
cursor?string

Value of next_cursor from a previous page.

query?string

Case-insensitive title filter.

include_archived?string

Value in

  • "true"
  • "false"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/documents"
{  "data": [    {      "id": "string",      "title": "string",      "language": "string",      "document_type": "string",      "status": "string",      "is_archived": true,      "total_sentences": 0,      "version_id": "string",      "source": "string",      "transcript_id": "string",      "visibility": "public",      "share_url": "string",      "created_at": "string",      "updated_at": "string"    }  ],  "next_cursor": "string",  "has_more": true}
POST
/documents

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings > API, prefixed with sh_live_.

In: header

Header Parameters

Idempotency-Key?string

Optional retry key. Replaying the same key with the same body returns the first successful response for 24 hours. Oversized speech responses cannot be replayed and answer 409 instead of regenerating. Not supported on streaming audio endpoints.

Length1 <= length <= 256

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/documents" \  -H "Content-Type: application/json" \  -d '{    "text": "string"  }'
{  "id": "string",  "title": "string",  "language": "string",  "document_type": "string",  "status": "string",  "is_archived": true,  "total_sentences": 0,  "version_id": "string",  "source": "string",  "transcript_id": "string",  "visibility": "public",  "share_url": "string",  "created_at": "string",  "updated_at": "string",  "text": "string"}
GET
/documents/{document_id}

Returns the document and its current text. Transcripts include speaker and timestamp headers in text, with source set to transcription. Reader timestamp hiding is app-only; stored text keeps the headers. visibility and share_url describe the unlisted web share page.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings > API, prefixed with sh_live_.

In: header

Path Parameters

document_id*string
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/documents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "id": "string",  "title": "string",  "language": "string",  "document_type": "string",  "status": "string",  "is_archived": true,  "total_sentences": 0,  "version_id": "string",  "source": "string",  "transcript_id": "string",  "visibility": "public",  "share_url": "string",  "created_at": "string",  "updated_at": "string",  "text": "string"}
DELETE
/documents/{document_id}

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings > API, prefixed with sh_live_.

In: header

Path Parameters

document_id*string
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/documents/497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
PUT
/documents/{document_id}

Update title, text, language, archive state, or visibility. Public documents expose an unlisted share_url.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings > API, prefixed with sh_live_.

In: header

Path Parameters

document_id*string
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/documents/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "title": "string",  "language": "string",  "document_type": "string",  "status": "string",  "is_archived": true,  "total_sentences": 0,  "version_id": "string",  "source": "string",  "transcript_id": "string",  "visibility": "public",  "share_url": "string",  "created_at": "string",  "updated_at": "string",  "text": "string"}
POST
/documents/{document_id}/translate

Create a new translated version. Bills the same credit wallet as MP3 export: 0.5 display credits (1 wallet cent) per started 30 seconds of estimated speech. Transcript clocks (0:34, SPEAKER_00 · 0:34, (0:34)) are playback references copied unchanged; they are not sent through the translation engine. Answers 402 when the wallet is short, and 503 when translation is not configured or down.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings > API, prefixed with sh_live_.

In: header

Path Parameters

document_id*string
Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/documents/497f6eca-6276-4993-bfeb-53cbbbba6f08/translate" \  -H "Content-Type: application/json" \  -d '{    "target_language": "string"  }'
{  "id": "string",  "title": "string",  "language": "string",  "document_type": "string",  "status": "string",  "is_archived": true,  "total_sentences": 0,  "version_id": "string",  "source": "string",  "transcript_id": "string",  "visibility": "public",  "share_url": "string",  "created_at": "string",  "updated_at": "string",  "text": "string"}
GET
/documents/{document_id}/export

Download the current version as PDF, DOCX, TXT, CSV, SRT, or VTT. SRT/VTT need a transcription or complete sentence timings. This does not generate billed MP3/WAV audio.

Authorization

ApiKeyAuth
AuthorizationBearer <token>

API key from Settings > API, prefixed with sh_live_.

In: header

Path Parameters

document_id*string
Formatuuid

Query Parameters

format*string

Value in

  • "pdf"
  • "docx"
  • "txt"
  • "csv"
  • "srt"
  • "vtt"
timestamps?string

Value in

  • "1"
  • "true"
  • "0"
  • "false"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/documents/497f6eca-6276-4993-bfeb-53cbbbba6f08/export?format=pdf"
Empty