> ## Documentation Index
> Fetch the complete documentation index at: https://developers.voxys.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create appointment

> Creates a new appointment.



## OpenAPI

````yaml /api-reference/voxys_appointments_swagger.json post /api/v1/accounts/{account_id}/appointments
openapi: 3.1.0
info:
  title: Voxys Connect – Extended Features
  description: >-
    API documentation for Voxys Connect extended features: Campaigns, WhatsApp
    Templates & Flows, Appointments, Scheduled Messages, Projects, Internal
    Channels, Customer Pulse, and Reports.
  version: 1.0.0
  contact:
    email: support@voxys.ai
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://connect.voxys.ai
security:
  - userApiKey: []
tags:
  - name: Appointments
    description: Appointment booking, confirmation, rescheduling, and availability
  - name: Appointment Services
    description: Manage bookable services offered to contacts
  - name: Providers
    description: Manage service providers for appointment booking
paths:
  /api/v1/accounts/{account_id}/appointments:
    post:
      tags:
        - Appointments
      summary: Create appointment
      description: Creates a new appointment.
      operationId: createAppointment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/appointment_create'
      responses:
        '201':
          description: Appointment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appointment'
        '401':
          $ref: '#/components/responses/unauthorized'
        '422':
          $ref: '#/components/responses/unprocessable'
components:
  schemas:
    appointment_create:
      type: object
      required:
        - contact_id
        - service_id
        - provider_id
        - appointment_at
      properties:
        contact_id:
          type: integer
        service_id:
          type: integer
        provider_id:
          type: integer
        appointment_at:
          type: string
          format: date-time
        notes:
          type: string
        conversation_id:
          type: integer
    appointment:
      type: object
      properties:
        id:
          type: integer
        contact_id:
          type: integer
        service_id:
          type: integer
        provider_id:
          type: integer
        appointment_at:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - pending
            - confirmed
            - completed
            - cancelled
            - rescheduled
        notes:
          type: string
        cancellation_reason:
          type: string
        conversation_id:
          type: integer
        created_at:
          type: string
          format: date-time
  responses:
    unauthorized:
      description: Authentication failed – invalid or missing api_access_token
    unprocessable:
      description: Unprocessable entity – validation errors
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: string
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        All API requests must include the `api_access_token` header with a valid
        agent or administrator token.

````