Properties
| Name | Type | Description |
|---|---|---|
| name | string | This is the name of the campaign. This is just for your own reference. |
| assistantId | string | This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. |
| workflowId | string | This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. |
| squadId | string | This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used. |
| phoneNumberId | string | This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive. |
| dialPlan | array | This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: ph |
| schedulePlan | object | This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization’s concurrency limit is reached. Any remaining calls will be retried for up to one hour as |
| customers | array | These are the customers that will be called in the campaign. Required if dialPlan is not provided. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/CreateCampaignDTO",
"title": "CreateCampaignDTO",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "This is the name of the campaign. This is just for your own reference.",
"example": "Q2 Sales Campaign"
},
"assistantId": {
"type": "string",
"description": "This is the assistant ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used."
},
"workflowId": {
"type": "string",
"description": "This is the workflow ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used."
},
"squadId": {
"type": "string",
"description": "This is the squad ID that will be used for the campaign calls. Note: Only one of assistantId, workflowId, or squadId can be used."
},
"phoneNumberId": {
"type": "string",
"description": "This is the phone number ID that will be used for the campaign calls. Required if dialPlan is not provided. Note: phoneNumberId and dialPlan are mutually exclusive."
},
"dialPlan": {
"description": "This is a list of dial entries, each specifying a phone number and the customers to call using that number. Use this when you want different phone numbers to call different sets of customers. Note: phoneNumberId and dialPlan are mutually exclusive.",
"type": "array",
"items": {
"$ref": "#/components/schemas/DialPlanEntry"
}
},
"schedulePlan": {
"description": "This is the schedule plan for the campaign. Calls will start at startedAt and continue until your organization\u2019s concurrency limit is reached. Any remaining calls will be retried for up to one hour as capacity becomes available. After that hour or after latestAt, whichever comes first, any calls that couldn\u2019t be placed won\u2019t be retried.",
"allOf": [
{
"$ref": "#/components/schemas/SchedulePlan"
}
]
},
"customers": {
"description": "These are the customers that will be called in the campaign. Required if dialPlan is not provided.",
"type": "array",
"items": {
"$ref": "#/components/schemas/CreateCustomerDTO"
}
}
},
"required": [
"name"
]
}
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-createcampaigndto"
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.