Vocode Actions API

The Actions API from Vocode — 4 operation(s) for actions.

OpenAPI Specification

vocode-actions-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Vocode Hosted Actions API
  description: Hosted REST API for the Vocode voice AI platform. Place and manage outbound and inbound phone calls driven by configurable voice agents, and manage the agents, voices, prompts, actions, phone numbers, and webhooks that power them. All requests are authenticated with a Bearer API key. This specification covers the hosted API and is distinct from the open-source vocode-core Python library.
  termsOfService: https://www.vocode.dev
  contact:
    name: Vocode Support
    url: https://docs.vocode.dev
  version: 1.0.0
servers:
- url: https://api.vocode.dev/v1
  description: Production environment
security:
- HTTPBearer: []
tags:
- name: Actions
paths:
  /actions/create:
    post:
      operationId: createAction
      tags:
      - Actions
      summary: Create an action
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionParams'
      responses:
        '200':
          description: The created action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
        '422':
          $ref: '#/components/responses/ValidationError'
  /actions:
    get:
      operationId: getAction
      tags:
      - Actions
      summary: Get an action
      parameters:
      - name: id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The requested action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
        '422':
          $ref: '#/components/responses/ValidationError'
  /actions/list:
    get:
      operationId: listActions
      tags:
      - Actions
      summary: List actions
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Size'
      responses:
        '200':
          description: A paginated page of actions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionPage'
        '422':
          $ref: '#/components/responses/ValidationError'
  /actions/update:
    post:
      operationId: updateAction
      tags:
      - Actions
      summary: Update an action
      parameters:
      - name: id
        in: query
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionParams'
      responses:
        '200':
          description: The updated action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Action'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  parameters:
    Size:
      name: size
      in: query
      required: false
      schema:
        type: integer
        default: 10
    Page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        default: 1
  schemas:
    ActionParams:
      type: object
      required:
      - type
      properties:
        type:
          type: string
          enum:
          - action_transfer_call
          - action_end_conversation
          - action_dtmf
          - action_set_hold
          - action_add_to_conference
          - action_external
        config:
          type: object
    ValidationError:
      type: object
      required:
      - loc
      - msg
      - type
      properties:
        loc:
          type: array
          items:
            type: string
        msg:
          type: string
        type:
          type: string
    ActionPage:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Action'
        page:
          type: integer
        size:
          type: integer
        total:
          type: integer
    HTTPValidationError:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    Action:
      type: object
      required:
      - id
      - user_id
      - type
      properties:
        id:
          type: string
          format: uuid
        user_id:
          type: string
          format: uuid
        type:
          type: string
          enum:
          - action_transfer_call
          - action_end_conversation
          - action_dtmf
          - action_set_hold
          - action_add_to_conference
          - action_external
        config:
          type: object
  responses:
    ValidationError:
      description: Validation error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/HTTPValidationError'
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer