The call's transcript
GET
/v1/mobile/workspace/calls/{call_id}/transcript
const url = 'https://api.vocapable.com/v1/mobile/workspace/calls/example/transcript?after_seq=0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.vocapable.com/v1/mobile/workspace/calls/example/transcript?after_seq=0' \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”call_id
required
Call Id
string
Query Parameters
Section titled “Query Parameters”after_seq
After Seq
integer
Responses
Section titled “Responses”Successful Response
Media typeapplication/json
WorkspaceCallTranscript
A conversation’s stored, redacted transcript (its transfer continuations included).
Poll with after_seq = the last next_after_seq for new turns; the live socket
(POST …/transcript-token) streams the same turns plus partials.
object
call_id
required
Call Id
string
transcription
required
WorkspaceCallTranscription
What a person is told about a call’s transcript (PRD E7-R6, E6-R8).
label is the exact sentence the clients show (“Transcribing”, “Not recorded - made
from a personal phone”, …) so the web console and the app use the same words.
turns
required
Turns
Array<object>
WorkspaceTranscriptTurnobject
id
required
Id
string
seq
required
Seq
integer
speaker
required
Speaker
string
rep
Any of:
WorkspacePersonRef
A teammate named on a record: the id the server holds and the name to show.
object
user_id
required
User Id
string
name
required
Name
string
null
started_at_ms
required
Started At Ms
integer
ended_at_ms
required
Ended At Ms
integer
text
required
Text
string
next_after_seq
required
Next After Seq
integer
redaction
Redaction
string
gaps
Gaps
Array<object>
WorkspaceTranscriptGapA span nothing was captured in (PRD CC8-R3: a payment pause). Shown between the
turn after_seq and the next one as label (“[paused for payment]”).
Example
{ "transcription": { "status": "off", "untranscribed_reason": "personal_phone", "label": "Not transcribed" }, "turns": [ { "speaker": "rep" } ], "redaction": "pii_redacted", "gaps": [ { "kind": "payment_pause" } ]}Validation Error
Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}