Properties
| Name | Type | Description |
|---|---|---|
| listenEnabled | boolean | This determines whether the assistant's calls allow live listening. Defaults to true. Fetch `call.monitor.listenUrl` to get the live listening URL. @default true |
| listenAuthenticationEnabled | boolean | This enables authentication on the `call.monitor.listenUrl`. If `listenAuthenticationEnabled` is `true`, the `call.monitor.listenUrl` will require an `Authorization: Bearer |
| controlEnabled | boolean | This determines whether the assistant's calls allow live control. Defaults to true. Fetch `call.monitor.controlUrl` to get the live control URL. To use, send any control message via a POST request to |
| controlAuthenticationEnabled | boolean | This enables authentication on the `call.monitor.controlUrl`. If `controlAuthenticationEnabled` is `true`, the `call.monitor.controlUrl` will require an `Authorization: Bearer |
| monitorIds | array | This the set of monitor ids that are attached to the assistant. The source of truth for the monitor ids is the assistant_monitor join table. This field can be used for transient assistants and to upda |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/MonitorPlan",
"title": "MonitorPlan",
"type": "object",
"properties": {
"listenEnabled": {
"type": "boolean",
"description": "This determines whether the assistant's calls allow live listening. Defaults to true.\n\nFetch `call.monitor.listenUrl` to get the live listening URL.\n\n@default true",
"example": false
},
"listenAuthenticationEnabled": {
"type": "boolean",
"description": "This enables authentication on the `call.monitor.listenUrl`.\n\nIf `listenAuthenticationEnabled` is `true`, the `call.monitor.listenUrl` will require an `Authorization: Bearer <vapi-public-api-key>` header.\n\n@default false",
"example": false
},
"controlEnabled": {
"type": "boolean",
"description": "This determines whether the assistant's calls allow live control. Defaults to true.\n\nFetch `call.monitor.controlUrl` to get the live control URL.\n\nTo use, send any control message via a POST request to `call.monitor.controlUrl`. Here are the types of controls supported: https://docs.vapi.ai/api-reference/messages/client-inbound-message\n\n@default true",
"example": false
},
"controlAuthenticationEnabled": {
"type": "boolean",
"description": "This enables authentication on the `call.monitor.controlUrl`.\n\nIf `controlAuthenticationEnabled` is `true`, the `call.monitor.controlUrl` will require an `Authorization: Bearer <vapi-public-api-key>` header.\n\n@default false",
"example": false
},
"monitorIds": {
"description": "This the set of monitor ids that are attached to the assistant.\nThe source of truth for the monitor ids is the assistant_monitor join table.\nThis field can be used for transient assistants and to update assistants with new monitor ids.\n\n@default []",
"example": [
"123e4567-e89b-12d3-a456-426614174000"
],
"type": "array",
"items": {
"type": "string"
}
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vapi-monitorplan"
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.