{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ClientMessageTranscript",
"title": "ClientMessageTranscript",
"type": "object",
"properties": {
"phoneNumber": {
"description": "This is the phone number that the message is associated with.",
"oneOf": [
{
"$ref": "#/components/schemas/CreateByoPhoneNumberDTO",
"title": "ByoPhoneNumber"
},
{
"$ref": "#/components/schemas/CreateTwilioPhoneNumberDTO",
"title": "TwilioPhoneNumber"
},
{
"$ref": "#/components/schemas/CreateVonagePhoneNumberDTO",
"title": "VonagePhoneNumber"
},
{
"$ref": "#/components/schemas/CreateVapiPhoneNumberDTO",
"title": "VapiPhoneNumber"
},
{
"$ref": "#/components/schemas/CreateTelnyxPhoneNumberDTO",
"title": "TelnyxPhoneNumber"
}
]
},
"type": {
"type": "string",
"description": "This is the type of the message. \"transcript\" is sent as transcriber outputs partial or final transcript.",
"enum": [
"transcript",
"transcript[transcriptType=\"final\"]"
]
},
"timestamp": {
"type": "number",
"description": "This is the timestamp of the message."
},
"call": {
"description": "This is the call that the message is associated with.",
"allOf": [
{
"$ref": "#/components/schemas/Call"
}
]
},
"customer": {
"description": "This is the customer that the message is associated with.",
"allOf": [
{
"$ref": "#/components/schemas/CreateCustomerDTO"
}
]
},
"assistant": {
"description": "This is the assistant that the message is associated with.",
"allOf": [
{
"$ref": "#/components/schemas/CreateAssistantDTO"
}
]
},
"role": {
"type": "string",
"description": "This is the role for which the transcript is for.",
"enum": [
"assistant",
"user"
]
},
"transcriptType": {
"type": "string",
"description": "This is the type of the transcript.",
"enum": [
"partial",
"final"
]
},
"transcript": {
"type": "string",
"description": "This is the transcript content."
},
"isFiltered": {
"type": "boolean",
"description": "Indicates if the transcript was filtered for security reasons."
},
"detectedThreats": {
"description": "List of detected security threats if the transcript was filtered.",
"type": "array",
"items": {
"type": "string"
}
},
"originalTranscript": {
"type": "string",
"description": "The original transcript before filtering (only included if content was filtered)."
}
},
"required": [
"type",
"role",
"transcriptType",
"transcript"
]
}