Vagaro Appointments API

Appointment status, timing, and service-provider details. Endpoints modeled.

Operations 2

GET /appointments List appointments (modeled) #
GET /appointments/{appointmentId} Get an appointment (modeled) #

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/vagaro-appointments-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

vagaro-appointments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vagaro Enterprise Business API (Partial, Community-Modeled)…
  description: Vagaro publishes a "PUBLIC - Enterprise Business API V2" reference at docs.vagaro.com (readme.io).
  version: v2
  contact:
    name: Vagaro
    url: https://www.vagaro.com/pro
  license:
    name: Proprietary
    url: https://docs.vagaro.com/
servers:
- url: https://api.vagaro.com/{region}/api/v2
  description: Vagaro Enterprise Business API (region-scoped)
  variables:
    region:
      default: us
      description: Business region assigned to the Vagaro account, as documented in the API basics guide.
security:
- bearerAuth: []
tags:
- name: Appointments
  description: Appointment status, timing, and service-provider details. Endpoints modeled.
paths:
  /appointments:
    get:
      operationId: listAppointments
      tags:
      - Appointments
      summary: List appointments (modeled)
      description: Modeled from Vagaro's documented capability summary and the confirmed Appointment webhook payload fields. Exact query parameters and pagination are not publicly confirmed.
      x-endpointsModeled: true
      parameters:
      - name: businessId
        in: query
        schema:
          type: string
        description: Modeled - filter to a single business location.
      - name: startDate
        in: query
        schema:
          type: string
          format: date
        description: Modeled - inclusive range start.
      - name: endDate
        in: query
        schema:
          type: string
          format: date
        description: Modeled - inclusive range end.
      responses:
        '200':
          description: A list of appointments (modeled response shape).
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Appointment'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /appointments/{appointmentId}:
    get:
      operationId: getAppointment
      tags:
      - Appointments
      summary: Get an appointment (modeled)
      x-endpointsModeled: true
      parameters:
      - name: appointmentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: An appointment (modeled response shape).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Appointment'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Appointment not found.
components:
  schemas:
    Appointment:
      type: object
      description: Fields confirmed via the Appointment webhook payload documentation.
      properties:
        appointmentId:
          type: string
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        bookingStatus:
          type: string
          description: e.g. Confirmed, Awaiting Confirmation, No Show, Service Completed.
        serviceTitle:
          type: string
        serviceId:
          type: string
        amount:
          type: number
        eventType:
          type: string
          description: Appointment, Class, or PersonalOff.
        customerId:
          type: string
        serviceProviderId:
          type: string
        businessId:
          type: string
        bookingSource:
          type: string
          description: e.g. Google, Yelp, Instagram, Facebook, Vagaro Marketplace.
        formResponseIds:
          type: array
          items:
            type: string
  responses:
    Unauthorized:
      description: Missing or invalid access token, or token lacks the required scope.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: token issued by /merchants/generate-access-token