Vapi · Schema

ClientMessageModelOutput

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. "model-output" is sent as the model outputs tokens.
turnId string This is the unique identifier for the current LLM turn. All tokens from the same LLM response share the same turnId. Use this to group tokens and discard on interruption.
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.
output object This is the output of the model. It can be a token or tool call.
View JSON Schema on GitHub

JSON Schema

vapi-clientmessagemodeloutput-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ClientMessageModelOutput",
  "title": "ClientMessageModelOutput",
  "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. \"model-output\" is sent as the model outputs tokens.",
      "enum": [
        "model-output"
      ]
    },
    "turnId": {
      "type": "string",
      "description": "This is the unique identifier for the current LLM turn. All tokens from the same\nLLM response share the same turnId. Use this to group tokens and discard on interruption."
    },
    "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"
        }
      ]
    },
    "output": {
      "type": "object",
      "description": "This is the output of the model. It can be a token or tool call."
    }
  },
  "required": [
    "type",
    "output"
  ]
}