Vapi Campaigns API

The Campaigns API from Vapi — 2 operation(s) for campaigns.

Operations 5

POST /campaign Create Campaign #
GET /campaign List Campaigns #
GET /campaign/{id} Get Campaign #
PATCH /campaign/{id} Update Campaign #
DELETE /campaign/{id} Delete Campaign #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/vapi-campaigns-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

vapi-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vapi Analytics Campaigns API
  description: Voice AI for developers.
  version: '1.0'
  contact: {}
servers:
- url: https://api.vapi.ai
tags:
- name: Campaigns
paths:
  /campaign:
    post:
      operationId: CampaignController_create
      summary: Create Campaign
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCampaignDTO'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
      tags:
      - Campaigns
      security:
      - bearer: []
    get:
      operationId: CampaignController_findAll
      summary: List Campaigns
      parameters:
      - name: id
        required: false
        in: query
        schema:
          type: string
      - name: status
        required: false
        in: query
        schema:
          enum:
          - scheduled
          - in-progress
          - ended
          type: string
      - name: page
        required: false
        in: query
        description: This is the page number to return. Defaults to 1.
        schema:
          minimum: 1
          type: number
      - name: sortOrder
        required: false
        in: query
        description: This is the sort order for pagination. Defaults to 'DESC'.
        schema:
          enum:
          - ASC
          - DESC
          type: string
      - name: sortBy
        required: false
        in: query
        description: This is the column to sort by. Defaults to 'createdAt'.
        schema:
          enum:
          - createdAt
          - duration
          - cost
          type: string
      - name: limit
        required: false
        in: query
        description: This is the maximum number of items to return. Defaults to 100.
        schema:
          minimum: 0
          maximum: 1000
          type: number
      - name: createdAtGt
        required: false
        in: query
        description: This will return items where the createdAt is greater than the specified value.
        schema:
          format: date-time
          type: string
      - name: createdAtLt
        required: false
        in: query
        description: This will return items where the createdAt is less than the specified value.
        schema:
          format: date-time
          type: string
      - name: createdAtGe
        required: false
        in: query
        description: This will return items where the createdAt is greater than or equal to the specified value.
        schema:
          format: date-time
          type: string
      - name: createdAtLe
        required: false
        in: query
        description: This will return items where the createdAt is less than or equal to the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtGt
        required: false
        in: query
        description: This will return items where the updatedAt is greater than the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtLt
        required: false
        in: query
        description: This will return items where the updatedAt is less than the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtGe
        required: false
        in: query
        description: This will return items where the updatedAt is greater than or equal to the specified value.
        schema:
          format: date-time
          type: string
      - name: updatedAtLe
        required: false
        in: query
        description: This will return items where the updatedAt is less than or equal to the specified value.
        schema:
          format: date-time
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignPaginatedResponse'
      tags:
      - Campaigns
      security:
      - bearer: []
  /campaign/{id}:
    get:
      operationId: CampaignController_findOne
      summary: Get Campaign
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
      tags:
      - Campaigns
      security:
      - bearer: []
    patch:
      operationId: CampaignController_update
      summary: Update Campaign
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCampaignDTO'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
      tags:
      - Campaigns
      security:
      - bearer: []
    delete:
      operationId: CampaignController_remove
      summary: Delete Campaign
      parameters:
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
      tags:
      - Campaigns
      security:
      - bearer: []
components:
  schemas:
    ElevenLabsPronunciationDictionaryLocator:
      type: object
      properties:
        pronunciationDictionaryId:
          type: string
          description: This is the ID of the pronunciation dictionary to use.
          title: This is the ElevenLabs Pronunciation Dictionary ID
        versionId:
          type: string
          description: This is the version ID of the pronunciation dictionary to use.
          title: This is the ElevenLabs Pronunciation Dictionary Version ID
      required:
      - pronunciationDictionaryId
      - versionId
    TogetherAIModel:
      type: object
      properties:
        messages:
          description: This is the starting state for the conversation.
          type: array
          items:
            $ref: '#/components/schemas/OpenAIMessage'
        tools:
          type: array
          description: 'These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.


            Both `tools` and `toolIds` can be used together.'
          items:
            oneOf:
            - $ref: '#/components/schemas/CreateApiRequestToolDTO'
              title: ApiRequestTool
            - $ref: '#/components/schemas/CreateBashToolDTO'
              title: BashTool
            - $ref: '#/components/schemas/CreateCodeToolDTO'
              title: CodeTool
            - $ref: '#/components/schemas/CreateComputerToolDTO'
              title: ComputerTool
            - $ref: '#/components/schemas/CreateDtmfToolDTO'
              title: DtmfTool
            - $ref: '#/components/schemas/CreateEndCallToolDTO'
              title: EndCallTool
            - $ref: '#/components/schemas/CreateFunctionToolDTO'
              title: FunctionTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO'
              title: GoHighLevelCalendarAvailabilityTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO'
              title: GoHighLevelCalendarEventCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactCreateToolDTO'
              title: GoHighLevelContactCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactGetToolDTO'
              title: GoHighLevelContactGetTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO'
              title: GoogleCalendarCheckAvailabilityTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCreateEventToolDTO'
              title: GoogleCalendarCreateEventTool
            - $ref: '#/components/schemas/CreateGoogleSheetsRowAppendToolDTO'
              title: GoogleSheetsRowAppendTool
            - $ref: '#/components/schemas/CreateHandoffToolDTO'
              title: HandoffTool
            - $ref: '#/components/schemas/CreateMcpToolDTO'
              title: McpTool
            - $ref: '#/components/schemas/CreateQueryToolDTO'
              title: QueryTool
            - $ref: '#/components/schemas/CreateSlackSendMessageToolDTO'
              title: SlackSendMessageTool
            - $ref: '#/components/schemas/CreateSmsToolDTO'
              title: SmsTool
            - $ref: '#/components/schemas/CreateTextEditorToolDTO'
              title: TextEditorTool
            - $ref: '#/components/schemas/CreateTransferCallToolDTO'
              title: TransferCallTool
            - $ref: '#/components/schemas/CreateSipRequestToolDTO'
              title: SipRequestTool
            - $ref: '#/components/schemas/CreateVoicemailToolDTO'
              title: VoicemailTool
        toolIds:
          description: 'These are the tools that the assistant can use during the call. To use transient tools, use `tools`.


            Both `tools` and `toolIds` can be used together.'
          type: array
          items:
            type: string
        knowledgeBase:
          description: These are the options for the knowledge base.
          oneOf:
          - $ref: '#/components/schemas/CreateCustomKnowledgeBaseDTO'
            title: Custom
        provider:
          type: string
          enum:
          - together-ai
        model:
          type: string
          description: This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
        temperature:
          type: number
          description: This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
          minimum: 0
          maximum: 2
        maxTokens:
          type: number
          description: This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
          minimum: 50
          maximum: 10000
        emotionRecognitionEnabled:
          type: boolean
          description: 'This determines whether we detect user''s emotion while they speak and send it as an additional info to model.


            Default `false` because the model is usually are good at understanding the user''s emotion from text.


            @default false'
        numFastTurns:
          type: number
          description: 'This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai.


            Default is 0.


            @default 0'
          minimum: 0
      required:
      - provider
      - model
    DeepInfraModel:
      type: object
      properties:
        messages:
          description: This is the starting state for the conversation.
          type: array
          items:
            $ref: '#/components/schemas/OpenAIMessage'
        tools:
          type: array
          description: 'These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.


            Both `tools` and `toolIds` can be used together.'
          items:
            oneOf:
            - $ref: '#/components/schemas/CreateApiRequestToolDTO'
              title: ApiRequestTool
            - $ref: '#/components/schemas/CreateBashToolDTO'
              title: BashTool
            - $ref: '#/components/schemas/CreateCodeToolDTO'
              title: CodeTool
            - $ref: '#/components/schemas/CreateComputerToolDTO'
              title: ComputerTool
            - $ref: '#/components/schemas/CreateDtmfToolDTO'
              title: DtmfTool
            - $ref: '#/components/schemas/CreateEndCallToolDTO'
              title: EndCallTool
            - $ref: '#/components/schemas/CreateFunctionToolDTO'
              title: FunctionTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO'
              title: GoHighLevelCalendarAvailabilityTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO'
              title: GoHighLevelCalendarEventCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactCreateToolDTO'
              title: GoHighLevelContactCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactGetToolDTO'
              title: GoHighLevelContactGetTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO'
              title: GoogleCalendarCheckAvailabilityTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCreateEventToolDTO'
              title: GoogleCalendarCreateEventTool
            - $ref: '#/components/schemas/CreateGoogleSheetsRowAppendToolDTO'
              title: GoogleSheetsRowAppendTool
            - $ref: '#/components/schemas/CreateHandoffToolDTO'
              title: HandoffTool
            - $ref: '#/components/schemas/CreateMcpToolDTO'
              title: McpTool
            - $ref: '#/components/schemas/CreateQueryToolDTO'
              title: QueryTool
            - $ref: '#/components/schemas/CreateSlackSendMessageToolDTO'
              title: SlackSendMessageTool
            - $ref: '#/components/schemas/CreateSmsToolDTO'
              title: SmsTool
            - $ref: '#/components/schemas/CreateTextEditorToolDTO'
              title: TextEditorTool
            - $ref: '#/components/schemas/CreateTransferCallToolDTO'
              title: TransferCallTool
            - $ref: '#/components/schemas/CreateSipRequestToolDTO'
              title: SipRequestTool
            - $ref: '#/components/schemas/CreateVoicemailToolDTO'
              title: VoicemailTool
        toolIds:
          description: 'These are the tools that the assistant can use during the call. To use transient tools, use `tools`.


            Both `tools` and `toolIds` can be used together.'
          type: array
          items:
            type: string
        knowledgeBase:
          description: These are the options for the knowledge base.
          oneOf:
          - $ref: '#/components/schemas/CreateCustomKnowledgeBaseDTO'
            title: Custom
        provider:
          type: string
          enum:
          - deepinfra
        model:
          type: string
          description: This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
        temperature:
          type: number
          description: This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
          minimum: 0
          maximum: 2
        maxTokens:
          type: number
          description: This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
          minimum: 50
          maximum: 10000
        emotionRecognitionEnabled:
          type: boolean
          description: 'This determines whether we detect user''s emotion while they speak and send it as an additional info to model.


            Default `false` because the model is usually are good at understanding the user''s emotion from text.


            @default false'
        numFastTurns:
          type: number
          description: 'This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai.


            Default is 0.


            @default 0'
          minimum: 0
      required:
      - provider
      - model
    OAuth2AuthenticationPlan:
      type: object
      properties:
        type:
          type: string
          enum:
          - oauth2
        url:
          type: string
          description: This is the OAuth2 URL.
        clientId:
          type: string
          description: This is the OAuth2 client ID.
        clientSecret:
          type: string
          description: This is the OAuth2 client secret.
        scope:
          type: string
          description: This is the scope of the OAuth2 token.
          maxLength: 1000
      required:
      - type
      - url
      - clientId
      - clientSecret
    LMNTVoice:
      type: object
      properties:
        cachingEnabled:
          type: boolean
          description: This is the flag to toggle voice caching for the assistant.
          example: true
          default: true
        provider:
          type: string
          description: This is the voice provider that will be used.
          enum:
          - lmnt
        voiceId:
          description: This is the provider-specific ID that will be used.
          oneOf:
          - type: string
            enum:
            - amy
            - ansel
            - autumn
            - ava
            - brandon
            - caleb
            - cassian
            - chloe
            - dalton
            - daniel
            - dustin
            - elowen
            - evander
            - huxley
            - james
            - juniper
            - kennedy
            - lauren
            - leah
            - lily
            - lucas
            - magnus
            - miles
            - morgan
            - natalie
            - nathan
            - noah
            - nyssa
            - oliver
            - paige
            - ryan
            - sadie
            - sophie
            - stella
            - terrence
            - tyler
            - vesper
            - violet
            - warrick
            - zain
            - zeke
            - zoe
            title: Preset Voice Options
          - type: string
            title: LMNT Voice ID
        speed:
          type: number
          description: This is the speed multiplier that will be used.
          minimum: 0.25
          maximum: 2
          example: null
        language:
          description: Two letter ISO 639-1 language code. Use "auto" for auto-detection.
          enum:
          - aa
          - ab
          - ae
          - af
          - ak
          - am
          - an
          - ar
          - as
          - av
          - ay
          - az
          - ba
          - be
          - bg
          - bh
          - bi
          - bm
          - bn
          - bo
          - br
          - bs
          - ca
          - ce
          - ch
          - co
          - cr
          - cs
          - cu
          - cv
          - cy
          - da
          - de
          - dv
          - dz
          - ee
          - el
          - en
          - eo
          - es
          - et
          - eu
          - fa
          - ff
          - fi
          - fj
          - fo
          - fr
          - fy
          - ga
          - gd
          - gl
          - gn
          - gu
          - gv
          - ha
          - he
          - hi
          - ho
          - hr
          - ht
          - hu
          - hy
          - hz
          - ia
          - id
          - ie
          - ig
          - ii
          - ik
          - io
          - is
          - it
          - iu
          - ja
          - jv
          - ka
          - kg
          - ki
          - kj
          - kk
          - kl
          - km
          - kn
          - ko
          - kr
          - ks
          - ku
          - kv
          - kw
          - ky
          - la
          - lb
          - lg
          - li
          - ln
          - lo
          - lt
          - lu
          - lv
          - mg
          - mh
          - mi
          - mk
          - ml
          - mn
          - mr
          - ms
          - mt
          - my
          - na
          - nb
          - nd
          - ne
          - ng
          - nl
          - nn
          - 'no'
          - nr
          - nv
          - ny
          - oc
          - oj
          - om
          - or
          - os
          - pa
          - pi
          - pl
          - ps
          - pt
          - qu
          - rm
          - rn
          - ro
          - ru
          - rw
          - sa
          - sc
          - sd
          - se
          - sg
          - si
          - sk
          - sl
          - sm
          - sn
          - so
          - sq
          - sr
          - ss
          - st
          - su
          - sv
          - sw
          - ta
          - te
          - tg
          - th
          - ti
          - tk
          - tl
          - tn
          - to
          - tr
          - ts
          - tt
          - tw
          - ty
          - ug
          - uk
          - ur
          - uz
          - ve
          - vi
          - vo
          - wa
          - wo
          - xh
          - yi
          - yue
          - yo
          - za
          - zh
          - zu
          - auto
          example: en
          oneOf:
          - type: string
            enum:
            - aa
            - ab
            - ae
            - af
            - ak
            - am
            - an
            - ar
            - as
            - av
            - ay
            - az
            - ba
            - be
            - bg
            - bh
            - bi
            - bm
            - bn
            - bo
            - br
            - bs
            - ca
            - ce
            - ch
            - co
            - cr
            - cs
            - cu
            - cv
            - cy
            - da
            - de
            - dv
            - dz
            - ee
            - el
            - en
            - eo
            - es
            - et
            - eu
            - fa
            - ff
            - fi
            - fj
            - fo
            - fr
            - fy
            - ga
            - gd
            - gl
            - gn
            - gu
            - gv
            - ha
            - he
            - hi
            - ho
            - hr
            - ht
            - hu
            - hy
            - hz
            - ia
            - id
            - ie
            - ig
            - ii
            - ik
            - io
            - is
            - it
            - iu
            - ja
            - jv
            - ka
            - kg
            - ki
            - kj
            - kk
            - kl
            - km
            - kn
            - ko
            - kr
            - ks
            - ku
            - kv
            - kw
            - ky
            - la
            - lb
            - lg
            - li
            - ln
            - lo
            - lt
            - lu
            - lv
            - mg
            - mh
            - mi
            - mk
            - ml
            - mn
            - mr
            - ms
            - mt
            - my
            - na
            - nb
            - nd
            - ne
            - ng
            - nl
            - nn
            - 'no'
            - nr
            - nv
            - ny
            - oc
            - oj
            - om
            - or
            - os
            - pa
            - pi
            - pl
            - ps
            - pt
            - qu
            - rm
            - rn
            - ro
            - ru
            - rw
            - sa
            - sc
            - sd
            - se
            - sg
            - si
            - sk
            - sl
            - sm
            - sn
            - so
            - sq
            - sr
            - ss
            - st
            - su
            - sv
            - sw
            - ta
            - te
            - tg
            - th
            - ti
            - tk
            - tl
            - tn
            - to
            - tr
            - ts
            - tt
            - tw
            - ty
            - ug
            - uk
            - ur
            - uz
            - ve
            - vi
            - vo
            - wa
            - wo
            - xh
            - yi
            - yue
            - yo
            - za
            - zh
            - zu
            title: ISO 639-1 Language Code
          - type: string
            enum:
            - auto
            title: Auto-detect
        chunkPlan:
          description: This is the plan for chunking the model output before it is sent to the voice provider.
          allOf:
          - $ref: '#/components/schemas/ChunkPlan'
        fallbackPlan:
          description: This is the plan for voice provider fallbacks in the event that the primary voice provider fails.
          allOf:
          - $ref: '#/components/schemas/FallbackPlan'
      required:
      - provider
      - voiceId
    CerebrasModel:
      type: object
      properties:
        messages:
          description: This is the starting state for the conversation.
          type: array
          items:
            $ref: '#/components/schemas/OpenAIMessage'
        tools:
          type: array
          description: 'These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.


            Both `tools` and `toolIds` can be used together.'
          items:
            oneOf:
            - $ref: '#/components/schemas/CreateApiRequestToolDTO'
              title: ApiRequestTool
            - $ref: '#/components/schemas/CreateBashToolDTO'
              title: BashTool
            - $ref: '#/components/schemas/CreateCodeToolDTO'
              title: CodeTool
            - $ref: '#/components/schemas/CreateComputerToolDTO'
              title: ComputerTool
            - $ref: '#/components/schemas/CreateDtmfToolDTO'
              title: DtmfTool
            - $ref: '#/components/schemas/CreateEndCallToolDTO'
              title: EndCallTool
            - $ref: '#/components/schemas/CreateFunctionToolDTO'
              title: FunctionTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO'
              title: GoHighLevelCalendarAvailabilityTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO'
              title: GoHighLevelCalendarEventCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactCreateToolDTO'
              title: GoHighLevelContactCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactGetToolDTO'
              title: GoHighLevelContactGetTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO'
              title: GoogleCalendarCheckAvailabilityTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCreateEventToolDTO'
              title: GoogleCalendarCreateEventTool
            - $ref: '#/components/schemas/CreateGoogleSheetsRowAppendToolDTO'
              title: GoogleSheetsRowAppendTool
            - $ref: '#/components/schemas/CreateHandoffToolDTO'
              title: HandoffTool
            - $ref: '#/components/schemas/CreateMcpToolDTO'
              title: McpTool
            - $ref: '#/components/schemas/CreateQueryToolDTO'
              title: QueryTool
            - $ref: '#/components/schemas/CreateSlackSendMessageToolDTO'
              title: SlackSendMessageTool
            - $ref: '#/components/schemas/CreateSmsToolDTO'
              title: SmsTool
            - $ref: '#/components/schemas/CreateTextEditorToolDTO'
              title: TextEditorTool
            - $ref: '#/components/schemas/CreateTransferCallToolDTO'
              title: TransferCallTool
            - $ref: '#/components/schemas/CreateSipRequestToolDTO'
              title: SipRequestTool
            - $ref: '#/components/schemas/CreateVoicemailToolDTO'
              title: VoicemailTool
        toolIds:
          description: 'These are the tools that the assistant can use during the call. To use transient tools, use `tools`.


            Both `tools` and `toolIds` can be used together.'
          type: array
          items:
            type: string
        knowledgeBase:
          description: These are the options for the knowledge base.
          oneOf:
          - $ref: '#/components/schemas/CreateCustomKnowledgeBaseDTO'
            title: Custom
        model:
          type: string
          description: This is the name of the model. Ex. cognitivecomputations/dolphin-mixtral-8x7b
          enum:
          - llama3.1-8b
          - llama-3.3-70b
        provider:
          type: string
          enum:
          - cerebras
        temperature:
          type: number
          description: This is the temperature that will be used for calls. Default is 0 to leverage caching for lower latency.
          minimum: 0
          maximum: 2
        maxTokens:
          type: number
          description: This is the max number of tokens that the assistant will be allowed to generate in each turn of the conversation. Default is 250.
          minimum: 50
          maximum: 10000
        emotionRecognitionEnabled:
          type: boolean
          description: 'This determines whether we detect user''s emotion while they speak and send it as an additional info to model.


            Default `false` because the model is usually are good at understanding the user''s emotion from text.


            @default false'
        numFastTurns:
          type: number
          description: 'This sets how many turns at the start of the conversation to use a smaller, faster model from the same provider before switching to the primary model. Example, gpt-3.5-turbo if provider is openai.


            Default is 0.


            @default 0'
          minimum: 0
      required:
      - model
      - provider
    ContextEngineeringPlanAll:
      type: object
      properties:
        type:
          type: string
          enum:
          - all
      required:
      - type
    OpenAIModel:
      type: object
      properties:
        messages:
          description: This is the starting state for the conversation.
          type: array
          items:
            $ref: '#/components/schemas/OpenAIMessage'
        tools:
          type: array
          description: 'These are the tools that the assistant can use during the call. To use existing tools, use `toolIds`.


            Both `tools` and `toolIds` can be used together.'
          items:
            oneOf:
            - $ref: '#/components/schemas/CreateApiRequestToolDTO'
              title: ApiRequestTool
            - $ref: '#/components/schemas/CreateBashToolDTO'
              title: BashTool
            - $ref: '#/components/schemas/CreateCodeToolDTO'
              title: CodeTool
            - $ref: '#/components/schemas/CreateComputerToolDTO'
              title: ComputerTool
            - $ref: '#/components/schemas/CreateDtmfToolDTO'
              title: DtmfTool
            - $ref: '#/components/schemas/CreateEndCallToolDTO'
              title: EndCallTool
            - $ref: '#/components/schemas/CreateFunctionToolDTO'
              title: FunctionTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarAvailabilityToolDTO'
              title: GoHighLevelCalendarAvailabilityTool
            - $ref: '#/components/schemas/CreateGoHighLevelCalendarEventCreateToolDTO'
              title: GoHighLevelCalendarEventCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactCreateToolDTO'
              title: GoHighLevelContactCreateTool
            - $ref: '#/components/schemas/CreateGoHighLevelContactGetToolDTO'
              title: GoHighLevelContactGetTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCheckAvailabilityToolDTO'
              title: GoogleCalendarCheckAvailabilityTool
            - $ref: '#/components/schemas/CreateGoogleCalendarCreateEventToolDTO'
              title: GoogleCalendarCreateEventTool
            - $ref: '#/components/schemas/CreateGoogleSheetsRowAppendToolDTO'
              title: GoogleSheetsRowAppendTool
            - $ref: '#/components/schemas/CreateHandoffToolDTO'
              title: HandoffTool
            - $ref: '#/components/schemas/CreateMcpToolDTO'
              title: McpTool
            - $ref: '#/components/schemas/CreateQueryToolDTO'
              title: QueryTool
            - $ref: '#/components/schemas/CreateSlackSendMessageToolDTO'
              ti

# --- truncated at 32 KB (708 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vapi/refs/heads/main/openapi/vapi-campaigns-api-openapi.yml