API reference · Integrations
Endpoints for clinics that use Vettigo: status, client and patient lookup, and clinical-note export.
Guides:Work with Link and Vettigo
POST/workspaces/{workspaceId}/consultations/{consultationId}/vettigo/export
Adds the supplied clinical note as a new, dated note in a Vettigo animal's medical record, authored by the caller's Vettigo user and department. The animal is taken from the consultation: a consultation started from Vettigo for an animal, else the Vettigo animal synced to the consultation's patient, else the animal of the Vettigo appointment the consultation was started from.
The note text is taken from the request, not from the consultation's stored note. Not idempotent: every call adds another note.
Errors: 400 when the consultation is not linked to Vettigo, the note is empty or the request is invalid (all reported as Invalid Vettigo request); 401 when the caller has no linked Vettigo account or Vettigo rejects Vetnio's credentials; 404 when the consultation does not exist; 429 on Vettigo rate limiting; 500 for other Vettigo failures.
AcceptsPersonal key
workspaceIdstringrequiredIdentifier of the Vetnio workspace (clinic). The caller must be a member. The Vettigo clinic used is the one the caller last launched Vetnio from, not something configured on the workspace.
consultationIdstringrequiredVetnio consultation (UUID) whose Vettigo animal or appointment receives the note.
clinicalNotestringrequiredThe note to write. Either HTML or plain text, or a JSON object serialised as a string (a structured note), which is written as one Field name: block per key with the key turned into a readable label. HTML is converted to plain text and characters Vettigo cannot store are replaced. Must not be empty after conversion.
statusenumrequiredAlways ok; failures are returned as errors.
httpStatusnumberrequiredAlways 200. Kept for older clients.
animalIDnumberrequirednullableVettigo animal id whose medical record received the note. null when the animal was resolved through the consultation's Vettigo appointment instead.
curl -X POST "https://vetnio.com/api/v2/workspaces/furunculotic-loud-chihuahua/consultations/a1b2c3d4-e5f6-7890-abcd-ef1234567890/vettigo/export" \
-H "Authorization: Bearer $VETNIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"clinicalNote": "<p><strong>Anamnesis</strong><br>Limping on the left hind leg for 2 weeks.</p><p><strong>Plan</strong><br>Meloxicam 0.1 mg/kg PO SID for 5 days.</p>"
}'{
"status": "ok",
"httpStatus": 200,
"animalID": 482913
}GET/workspaces/{workspaceId}/vettigo/clients
Searches clients (owners) by name in the Vettigo clinic the caller last launched Vetnio from, using Vettigo's own search. Returns at most 50 clients. Queries shorter than 3 characters (after trimming) return an empty list without contacting Vettigo. Returns 401 when the caller has no linked Vettigo account and 429 when Vettigo's rate limit is hit.
AcceptsPersonal key
workspaceIdstringrequiredIdentifier of the Vetnio workspace (clinic). The caller must be a member. The Vettigo clinic used is the one the caller last launched Vetnio from, not something configured on the workspace.
querystringrequiredName or part of a name to search for. At least 3 characters after trimming; avoid commas, which Vettigo treats as separators.
clientsarray of objectsrequiredMatching clients, at most 50, in Vettigo's order. Empty when the query is shorter than 3 characters.
idnumberrequiredVettigo client id. Pass it as clientId to list the client's animals.
namestringrequiredClient name from Vettigo, or #<id> when Vettigo has none.
clientNumbernumberrequirednullableThe clinic's customer number for this client in Vettigo, or null. The search result has no contact details, so this is the only way to tell clients with the same name apart.
curl "https://vetnio.com/api/v2/workspaces/furunculotic-loud-chihuahua/vettigo/clients?query=Morgan" \
-H "Authorization: Bearer $VETNIO_API_KEY"{
"clients": [
{
"id": 104552,
"name": "Alex Morgan",
"clientNumber": 2381
}
]
}GET/workspaces/{workspaceId}/vettigo/clients/{clientId}/patients
Lists every animal belonging to a client in the caller's Vettigo clinic, including deceased animals. Read-only: nothing is created in Vetnio. Returns 401 when the caller has no linked Vettigo account.
AcceptsPersonal key
workspaceIdstringrequiredIdentifier of the Vetnio workspace (clinic). The caller must be a member. The Vettigo clinic used is the one the caller last launched Vetnio from, not something configured on the workspace.
clientIdnumberrequiredVettigo client id, as returned in clients[].id by the client search.
patientsarray of objectsrequiredAll of the client's animals in Vettigo, including deceased ones. Not paginated.
idnumberrequiredVettigo animal id.
namestringrequiredAnimal name from Vettigo, or #<id> when Vettigo has none.
breedstringrequirednullableVettigo's race label for the animal, passed through as text. Depending on the clinic's data it can hold a species rather than a breed. null when not set.
regNumberstringrequirednullableThe animal's registration number in Vettigo (free text, up to 50 characters), or null. This is not the microchip number.
curl "https://vetnio.com/api/v2/workspaces/furunculotic-loud-chihuahua/vettigo/clients/104552/patients" \
-H "Authorization: Bearer $VETNIO_API_KEY"{
"patients": [
{
"id": 482913,
"name": "Bella",
"breed": "Labrador retriever",
"regNumber": "string"
}
]
}GET/workspaces/{workspaceId}/vettigo/status
Returns whether the calling user has a Vettigo account linked to Vetnio. The link is created when the user first opens Vetnio from inside Vettigo, cannot be set up through the REST API, and is the same in every workspace. Use it to decide whether to offer Vettigo features. Never fails: any problem is reported as connected: false.
AcceptsPersonal key
workspaceIdstringrequiredIdentifier of the Vetnio workspace (clinic). The caller must be a member. The Vettigo clinic used is the one the caller last launched Vetnio from, not something configured on the workspace.
connectedbooleanrequiredtrue when the calling user has a Vettigo account linked to Vetnio, which happens the first time they open Vetnio from Vettigo. The other Vettigo endpoints return 401 while this is false. Also false when the status could not be determined.
ehrIntegrationNamestringrequirednullableName of the connected practice-management system: always vettigo when connected is true, otherwise null.
curl "https://vetnio.com/api/v2/workspaces/furunculotic-loud-chihuahua/vettigo/status" \
-H "Authorization: Bearer $VETNIO_API_KEY"{
"connected": true,
"ehrIntegrationName": "vettigo"
}