Vetspire

Vetspire is a cloud-based, AI-enabled veterinary practice management (PIMS) platform for animal hospitals and clinics, covering electronic medical records, scheduling, client communications, billing, inventory, labs, and reminders. Vetspire exposes a single public GraphQL API at https://api.vetspire.com/graphql - every action in the product is powered by GraphQL - authenticated with an Authorization API token and organized by veterinary practice domains (Accounts, Clinical, Schedule, Billing, Inventory, Hospital, Lab, Reminders, Conversations, Analytics, Events). The schema exposes 400+ object types, 248 input objects, and 112 enums, with a maximum query depth of 8.

12 APIs 0 Features
VeterinaryPractice ManagementPIMSHealthcareGraphQLElectronic Medical RecordsScheduling

APIs

Vetspire Accounts & Clients API

GraphQL operations over the Accounts domain - search and read client (pet owner) records including contact details, addresses, balances, linked patients, and communication prefe...

Vetspire Patients API

GraphQL operations over the Clinical domain patient records - species, breed, sex, weight history, microchip, alerts, and the owning client - plus mutations to register and upda...

Vetspire Schedule & Appointments API

GraphQL operations over the Schedule domain - list appointments for a location and date range, read provider schedules by location, and create, reschedule, or cancel appointment...

Vetspire Encounters & Clinical Records API

GraphQL operations over the Clinical and Treatment domains - encounters (visits/SOAP notes), treatment sheets, immunizations, prescriptions, and clinical history for a patient, ...

Vetspire Billing & Invoices API

GraphQL operations over the Billing and New Billing domains - invoices, line items, orders, payments, and accounts-receivable balances, with mutations to create invoices, apply ...

Vetspire Inventory & Products API

GraphQL operations over the Inventory domain - products and the product catalog, pricing, stock levels, stock transfers, and vendors, with mutations to manage products and adjus...

Vetspire Hospital & Locations API

GraphQL operations over the Hospital domain - organization and location records, providers (staff/DVMs), rooms, and operating hours used to scope scheduling, billing, and report...

Vetspire Lab & Diagnostics API

GraphQL operations over the Lab domain - diagnostic lab orders and results linked to encounters and patients, including reference ranges and result status, with mutations to cre...

Vetspire Reminders API

GraphQL operations over the Reminders domain - due and overdue service reminders (vaccinations, wellness, recalls) per patient and client, used to drive compliance reporting and...

Vetspire Conversations & Communications API

GraphQL operations over the Conversations and Marketing domains - client messaging threads (SMS/email), templates, and campaigns, with mutations to send messages and manage conv...

Vetspire Analytics & Reporting API

GraphQL operations over the Analytics domain - aggregate practice metrics and reporting datasets (production, revenue, appointments, compliance) used for dashboards and data war...

Vetspire Events API

GraphQL operations over the Events domain - a queryable log of platform events (record created, updated, deleted, and workflow triggers) for auditing, synchronization, and integ...

Collections

GraphQL

Vetspire GraphQL API

Vetspire is a cloud-based veterinary practice management platform. Its entire public API is GraphQL - "every action within Vetspire is powered by GraphQL requests." Clients decl...

GRAPHQL

Pricing Plans

Vetspire Plans Pricing

4 plans

PLANS

Rate Limits

Vetspire Rate Limits

2 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
💬
Support
Support

Sources

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: Vetspire GraphQL API
  version: '1.0'
  description: GraphQL operations for the Vetspire veterinary practice management platform. All requests are HTTP POST to
    https://api.vetspire.com/graphql with an Authorization API token. Grouped by documented domain. Representative queries
    grounded in developer.vetspire.com; confirm exact fields via live introspection. Max query depth is 8.
request:
  auth:
    type: apikey
    apikey:
      key: Authorization
      value: '{{apiToken}}'
      in: header
items:
- info:
    name: Accounts & Clients
    type: folder
  items:
  - info:
      name: Search Clients
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query SearchClients($searchTerm: String!) { clients(searchTerm: $searchTerm) { id givenName familyName email
            phoneNumber balance patients { id name species } } }'
          variables:
            searchTerm: Smith
    docs: Search and list clients (pet owners) in the Accounts domain.
- info:
    name: Patients
    type: folder
  items:
  - info:
      name: Get Patient
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query GetPatient($id: ID!) { patient(id: $id) { id name species breed sex status birthDate client { id givenName
            familyName } } }'
          variables:
            id: '1'
    docs: Retrieve a patient (animal) by ID from the Clinical domain.
- info:
    name: Schedule & Appointments
    type: folder
  items:
  - info:
      name: List Appointments for Location
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query LocationAppointments($locationId: ID!, $start: DateTime!, $end: DateTime!) { appointments(locationId:
            $locationId, start: $start, end: $end) { id start end type status patient { id name } provider { id name } } }'
          variables:
            locationId: '1'
            start: '2026-07-04T00:00:00Z'
            end: '2026-07-05T00:00:00Z'
    docs: List appointments for a location and date range (Schedule domain).
- info:
    name: Encounters
    type: folder
  items:
  - info:
      name: List Encounters for Patient
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query PatientEncounters($patientId: ID!) { encounters(patientId: $patientId) { id status date assessment
            plan provider { id name } } }'
          variables:
            patientId: '1'
    docs: List clinical encounters (visits) for a patient.
- info:
    name: Billing & Invoices
    type: folder
  items:
  - info:
      name: List Invoices
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query ClientInvoices($clientId: ID!) { invoices(clientId: $clientId) { id number status total balance lineItems
            { description quantity unitPrice total } } }'
          variables:
            clientId: '1'
    docs: List invoices for a client (Billing / New Billing domains).
- info:
    name: Inventory & Products
    type: folder
  items:
  - info:
      name: Search Products
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query SearchProducts($searchTerm: String!) { products(searchTerm: $searchTerm) { id name code price quantityOnHand
            } }'
          variables:
            searchTerm: vaccine
    docs: Search products in the Inventory domain.
- info:
    name: Hospital & Locations
    type: folder
  items:
  - info:
      name: List Locations
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: query Locations { locations { id name timezone providers { id name } } }
          variables: {}
    docs: List locations and their providers (Hospital domain).
- info:
    name: Reminders
    type: folder
  items:
  - info:
      name: List Reminders for Patient
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query PatientReminders($patientId: ID!) { reminders(patientId: $patientId) { id name status dueDate } }'
          variables:
            patientId: '1'
    docs: List due/overdue reminders for a patient (Reminders domain).
- info:
    name: Lab & Diagnostics
    type: folder
  items:
  - info:
      name: List Lab Orders for Patient
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query PatientLabOrders($patientId: ID!) { labOrders(patientId: $patientId) { id status name results { analyte
            value unit referenceRange flag } } }'
          variables:
            patientId: '1'
    docs: List lab orders and results for a patient (Lab domain).
- info:
    name: Conversations
    type: folder
  items:
  - info:
      name: Send Message
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'mutation SendMessage($input: MessageInput!) { sendMessage(input: $input) { id channel body sentAt } }'
          variables:
            input:
              clientId: '1'
              channel: SMS
              body: Your pet's appointment is tomorrow.
    docs: Send a message to a client (Conversations / Marketing domains).
- info:
    name: Events
    type: folder
  items:
  - info:
      name: List Events
      type: http
    http:
      method: POST
      url: https://api.vetspire.com/graphql
      body:
        type: graphql
        data:
          query: 'query Events($filter: EventFilter) { events(filter: $filter) { id action entityType entityId occurredAt
            } }'
          variables:
            filter:
              since: '2026-07-01T00:00:00Z'
    docs: Query the platform event log (Events domain) for auditing and sync.
bundled: true