Vapi · Schema

ClientMessageTranscript

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
phoneNumber object This is the phone number that the message is associated with.
type string This is the type of the message. "transcript" is sent as transcriber outputs partial or final transcript.
timestamp number This is the timestamp of the message.
call object This is the call that the message is associated with.
customer object This is the customer that the message is associated with.
assistant object This is the assistant that the message is associated with.
role string This is the role for which the transcript is for.
transcriptType string This is the type of the transcript.
transcript string This is the transcript content.
isFiltered boolean Indicates if the transcript was filtered for security reasons.
detectedThreats array List of detected security threats if the transcript was filtered.
originalTranscript string The original transcript before filtering (only included if content was filtered).
View JSON Schema on GitHub

JSON Schema

vapi-clientmessagetranscript-schema.json Raw ↑
{
  "$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"
  ]
}