API Reference

Get SOAP record

Returns a single SOAP (Subjective / Objective / Assessment / Plan) examination record by fingerprint. ### Ownership & Visibility SOAP records are global entities — multiple clinics may view the same record via the patient's `CustomerClinicConnection`, but only the clinic matching `performed_by_clinic_fp` can modify it. This endpoint is **read-only** and respects visibility only. ### Status State Machine - `DRAFT` → `IN_PROGRESS` → `SIGNED` → `LOCKED` - A `SIGNED` record is immutable; corrections require a new amendment record. ### Plan Items The `plan` field contains free-text summary. Structured plan items (medications, labs, vaccines, follow-up appointments, todos) live in a separate polymorphic `plan_items` collection not returned here — fetch via the upcoming `/api/v1/soap/{fp}/plan-items` endpoint.

GET
/api/v1/soap/{fp}

Authorization

JWT-auth
AuthorizationBearer <token>

API key issued from the Vetigen Developer Portal. Pass as Authorization: Bearer YOUR_API_KEY.

In: header

Path Parameters

fp*string

SOAP record fingerprint (soap_{ULID}).

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -H "Authorization: Bearer $VETIGEN_API_KEY" \  https://api.vetigen.com/api/v1/soap/soap_01JABC
{
  "success": true,
  "data": {
    "fp": "soap_01JABC...",
    "patient_fp": "patient_01JABC...",
    "soap_type": "EXAMINATION",
    "status": "SIGNED",
    "subjective": "Owner reports lethargy over the last 48 hours, reduced appetite, one episode of vomiting yesterday evening.",
    "objective": "Temp 39.2°C, HR 110 bpm, mucous membranes pale pink, CRT < 2s, mild abdominal tenderness on palpation.",
    "assessment": "Suspected acute gastroenteritis; pancreatitis to rule out pending bloods.",
    "plan": "IV fluids (LRS @ 2× maintenance), maropitant 1 mg/kg SC q24h, recheck in 24h, run cPL and CBC.",
    "performed_by_clinic_fp": "clinic_01JABC...",
    "signed_at": "2026-04-10T13:45:00.000Z",
    "created_at": "2026-04-10T12:00:00.000Z"
  }
}
{
  "success": false,
  "error": {
    "code": "AUTH.UNAUTHORIZED",
    "message": "Authentication required.",
    "severity": "error"
  }
}
{
  "success": false,
  "error": {
    "code": "AUTH.FORBIDDEN",
    "message": "Insufficient permissions.",
    "severity": "error"
  }
}
{
  "success": false,
  "error": {
    "code": "PATIENT.NOT_FOUND",
    "message": "Patient with fingerprint patient_01JABC does not exist.",
    "severity": "error",
    "details": {}
  }
}
{
  "success": false,
  "error": {
    "code": "AUTH.RATE_LIMITED",
    "message": "Rate limit exceeded. Retry in 42 seconds.",
    "severity": "warning"
  }
}
{
  "success": false,
  "error": {
    "code": "PATIENT.NOT_FOUND",
    "message": "Patient with fingerprint patient_01JABC does not exist.",
    "severity": "error",
    "details": {}
  }
}

List calendar events

Returns calendar events (appointments, surgeries, vaccinations, checkups, emergencies, sales) for the clinic associated with your API key. ### Timezone `start_at` and `end_at` are always UTC ISO 8601. When displaying to end users, convert to the clinic's configured timezone (returned in the `Patient` owner's locale settings, not on the event itself). ### Date Range Both `start_date` and `end_date` are optional. If omitted, the default window is **today through 30 days ahead**. Max allowed range is 90 days per request. ### Event Types & Status Machine - **Types:** `APPOINTMENT`, `SURGERY`, `VACCINATION`, `CHECKUP`, `EMERGENCY`, `SALE` - **Status flow:** `SCHEDULED → CHECKED_IN → IN_PROGRESS → PENDING_CHECKOUT → CLOSED` (or `CANCELLED`)

Get diagnostic study

Returns a single Cortex diagnostic study — typically a lab result ingested from in-clinic analyzers (ASTM, HL7, DICOM, POCT1-A) via the Vetigen Cortex daemon, or manual entry. ### What Is Cortex? **Vetigen Cortex** is an on-premises Go daemon running on clinic computers that interfaces with lab instruments and imaging modalities, normalizes results, and pushes them to the Vetigen API. Each result creates a `CortexDiagnosticStudy` entity. See the [Diagnostics Guide](/docs/guides/lab-results) for integration details. ### Modalities `HEMATOLOGY` · `BIOCHEMISTRY` · `URINALYSIS` · `RADIOLOGY` · `ULTRASOUND` · `ENDOSCOPY` ### Result Flags Each analyte entry includes a `flag` field — `normal` / `low` / `high` / `critical` — computed against the patient's species-specific reference range at the time of acquisition.