VaroVet API — Build veterinary integrations

VaroVet API

A practice management system your developers can build on.

A clean, versioned REST API over the whole clinic — clients, pets, appointments, visits and billing. Read it, write it, and get told the moment anything changes.

Public reference, no login. Free sandbox key — production access comes with Enterprise.

POST /v1/appointments api.varovet.com
{
  "pet_id": "pet_2Bn7",
  "clinic_id": "cli_9Ld3",
  "starts_at": "2026-02-14T09:30:00Z",
  "reason": "Annual wellness exam"
}
201 Created 84 ms · eu-west
{
  "id": "apt_7QpL3d",
  "status": "booked",
  "pet_id": "pet_2Bn7",
  "starts_at": "2026-02-14T09:30:00Z"
}

01 · Resources

Everything is a resource.

Clients, pets, appointments, visits, invoices — read them, filter them, and pull in related records with expand in a single call.

Full API reference
/clients
Pet owners — the people you bill and notify.
/pets
Animals under a client, visible across clinics.
/appointments
Book, reschedule and cancel visits.
/visits
Completed encounters — diagnosis, treatment, vitals.
/invoices
Billing documents with totals and payment status.
/vaccinations
Administered records with next-due dates.
/services
Bookable services and catalog products.
/staff
Vets and staff for appointment assignment.
/clinics
The clinics in an organization.
/files
Documents and images attached to a visit.

02 · Webhooks

Stop polling. We'll tell you.

Subscribe once and receive every change as it happens — appointments, visits, invoices, vaccinations. Signed, retried, and ordered.

SIGNING
Every payload is HMAC-signed. Verify it in three lines.
RETRIES
Failed deliveries retry with backoff for up to 24 hours.
ORDERING
Events carry a monotonic id so you can order and dedupe.
TESTING
Replay any event from the dashboard against your endpoint.
Delivery log
https://hooks.acme-vet.com/varovet
TimeEventObjectRes
14:32:08appointment.bookedapt_7QpL3d200
14:31:21appointment.cancelledapt_2Rf9Kk200
14:30:34visit.signedvis_3Fh1200
14:29:47invoice.paidinv_51Km200
14:29:00pet.updatedpet_2Bn7200
14:28:13vaccination.duevac_7Yt4200
14:27:26client.createdcli_9Ld3200
last 24 h — 4 812 delivered · 0 failed · p95 210 ms

03 · Spec first

The spec is the contract.

A single OpenAPI 3.1 document describes every endpoint, shape and error. Generate a client, import it into Postman, or track it as it evolves.

openapi.json

One spec, always current

Generated from the running API, never hand-maintained. Point your codegen at it.

Open
postman

Import and try

Load the spec into Postman and hit every endpoint against your sandbox in minutes.

Open
changelog

Versioned, no surprises

Additive changes ship within v1; breaking changes get a new version and notice.

Open
$ curl https://api.varovet.com/v1/pets \
    -H "Authorization: Bearer vv_live_..."
$ npx openapi-typescript https://docs.varovet.com/openapi.json -o api.d.ts
 types written · 68 operations · 0 errors

04 · Getting started

First call in ten minutes. Live in a week.

01

Create a sandbox

Ask for a sandbox key. It runs against a full copy of the API with test data — no card, no clinic, no risk.

02

Scope a key

Grant only the read and write scopes your integration needs. Everything else is closed by construction.

03

Flip to production

Swap the key for a live one when you’re ready. Same contract, same shapes — nothing else changes.

05 · Reliability

Numbers you can hold us to.

Predictable rate limits, standard headers, and a status page. No surprises in production.

UPTIME · 90 DAYS
99.98%
LATENCY p50 / p99
78 / 240 ms
30 days agotoday
RATE LIMIT
600 req / min per key
REGION
Amsterdam, Netherlands
INCIDENTS
None in 90 days

06 · Data & compliance

It's the clinic's data. The API treats it that way.

Access is scoped per organization, every call is logged, and consent is enforced in code — not left to convention.

HOSTING
EU-hosted in Amsterdam, Netherlands. Data never leaves the region.
CONSENT
Cross-clinic data sharing requires explicit owner consent, enforced by the API.
AUDIT LOG
Every write is attributed and retained for 24 months.
DELETION
Deletion requests propagate through the API and are honoured within 30 days.

07 · Start here

Two ways in. Both start today.

Read the reference now, or tell us what you're building and we'll get you a sandbox key.

Read the docs

The full reference, guides and OpenAPI spec — public, no login required.

Read the docs

Tell us what you're building

A sandbox key, scoped access, and a real person to help you integrate.

Tell us what you're building