Vapi · Schema

ServerMessageModelOutput

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.
artifact object This is a live version of the `call.artifact`. This matches what is stored on `call.artifact` after the call.
assistant object This is the assistant that the message is associated with.
customer object This is the customer that the message is associated with.
call object This is the call that the message is associated with.
chat object This is the chat object.
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-servermessagemodeloutput-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ServerMessageModelOutput",
  "title": "ServerMessageModelOutput",
  "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."
    },
    "artifact": {
      "description": "This is a live version of the `call.artifact`.\n\nThis matches what is stored on `call.artifact` after the call.",
      "allOf": [
        {
          "$ref": "#/components/schemas/Artifact"
        }
      ]
    },
    "assistant": {
      "description": "This is the assistant that the message is associated with.",
      "allOf": [
        {
          "$ref": "#/components/schemas/CreateAssistantDTO"
        }
      ]
    },
    "customer": {
      "description": "This is the customer that the message is associated with.",
      "allOf": [
        {
          "$ref": "#/components/schemas/CreateCustomerDTO"
        }
      ]
    },
    "call": {
      "description": "This is the call that the message is associated with.",
      "allOf": [
        {
          "$ref": "#/components/schemas/Call"
        }
      ]
    },
    "chat": {
      "description": "This is the chat object.",
      "allOf": [
        {
          "$ref": "#/components/schemas/Chat"
        }
      ]
    },
    "output": {
      "type": "object",
      "description": "This is the output of the model. It can be a token or tool call."
    }
  },
  "required": [
    "type",
    "output"
  ]
}