Vapi · Schema

CreateWebChatDTO

Artificial IntelligenceVoiceAgentsReal-TimeCPaaS

Properties

Name Type Description
assistantId string This is the assistant ID to use for this chat. To use a transient assistant, use `assistant` instead.
assistant object This is the transient assistant configuration for this chat. To use an existing assistant, use `assistantId` instead.
sessionId string This is the ID of the session that will be used for the chat. If provided, the conversation will continue from the previous state. If not provided or expired, a new session will be created.
sessionExpirationSeconds number This is the expiration time for the session. This can ONLY be set if starting a new chat and therefore a new session is created. If session already exists, this will be ignored and NOT be updated for
assistantOverrides object These are the variable values that will be used to replace template variables in the assistant messages. Only variable substitution is supported in web chat - other assistant properties cannot be over
customer object This is the customer information for the chat. Used to automatically manage sessions for repeat customers.
input object This is the input text for the chat. Can be a string or an array of chat messages.
stream boolean This is a flag that determines whether the response should be streamed. When true, the response will be sent as chunks of text.
sessionEnd boolean This is a flag to indicate end of session. When true, the session will be marked as completed and the chat will be ended. Used to end session to send End-of-session report to the customer. When flag i
View JSON Schema on GitHub

JSON Schema

vapi-createwebchatdto-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CreateWebChatDTO",
  "title": "CreateWebChatDTO",
  "type": "object",
  "properties": {
    "assistantId": {
      "type": "string",
      "description": "This is the assistant ID to use for this chat. To use a transient assistant, use `assistant` instead."
    },
    "assistant": {
      "description": "This is the transient assistant configuration for this chat. To use an existing assistant, use `assistantId` instead.",
      "allOf": [
        {
          "$ref": "#/components/schemas/CreateAssistantDTO"
        }
      ]
    },
    "sessionId": {
      "type": "string",
      "description": "This is the ID of the session that will be used for the chat.\nIf provided, the conversation will continue from the previous state.\nIf not provided or expired, a new session will be created."
    },
    "sessionExpirationSeconds": {
      "type": "number",
      "description": "This is the expiration time for the session. This can ONLY be set if starting a new chat and therefore a new session is created.\nIf session already exists, this will be ignored and NOT be updated for the existing session. Use PATCH /session/:id to update the session expiration time.",
      "minimum": 60,
      "maximum": 2592000
    },
    "assistantOverrides": {
      "description": "These are the variable values that will be used to replace template variables in the assistant messages.\nOnly variable substitution is supported in web chat - other assistant properties cannot be overridden.",
      "allOf": [
        {
          "$ref": "#/components/schemas/ChatAssistantOverrides"
        }
      ]
    },
    "customer": {
      "description": "This is the customer information for the chat.\nUsed to automatically manage sessions for repeat customers.",
      "allOf": [
        {
          "$ref": "#/components/schemas/CreateWebCustomerDTO"
        }
      ]
    },
    "input": {
      "description": "This is the input text for the chat.\nCan be a string or an array of chat messages.",
      "oneOf": [
        {
          "type": "string",
          "title": "String"
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SystemMessage",
                "title": "SystemMessage"
              },
              {
                "$ref": "#/components/schemas/UserMessage",
                "title": "UserMessage"
              },
              {
                "$ref": "#/components/schemas/AssistantMessage",
                "title": "AssistantMessage"
              },
              {
                "$ref": "#/components/schemas/ToolMessage",
                "title": "ToolMessage"
              },
              {
                "$ref": "#/components/schemas/DeveloperMessage",
                "title": "DeveloperMessage"
              }
            ]
          },
          "title": "MessageArray"
        }
      ],
      "examples": [
        "Hello, how can you help me?",
        [
          {
            "role": "user",
            "content": "Hello, how can you help me?"
          }
        ]
      ]
    },
    "stream": {
      "type": "boolean",
      "description": "This is a flag that determines whether the response should be streamed.\nWhen true, the response will be sent as chunks of text.",
      "default": false
    },
    "sessionEnd": {
      "type": "boolean",
      "description": "This is a flag to indicate end of session. When true, the session will be marked as completed and the chat will be ended.\nUsed to end session to send End-of-session report to the customer.\nWhen flag is set to true, any messages sent will not be processed and session will directly be marked as completed.",
      "default": false
    }
  },
  "required": [
    "input"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vapi-createwebchatdto"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.