Documentation

Partner API documentation

Everything on this page is generated from the canonical contract (version 1.0.0). The same contract produces the OpenAPI document and the SDK.

Authentication

The partner API accepts exactly one credential type: a partner API key in the Authorization header. Keys are hashed at rest, scoped, expiring, revocable, and bound to one partner and plan.

Authorization: Bearer vios_k1_...
Base URL: https://www.vetios.tech/api/v1
partner_api
The external contract

https://www.vetios.tech/api/v1/**

browser_application
Not for integrations

VetIOS web console pages and their same-origin API calls

internal_service
Not for integrations

Internal routes under /api/* outside /api/v1 (console, scheduled jobs, internal agents)

API reference

POST/api/v1/inference/differentialscope: inference

Run a structured veterinary differential diagnosis request.

curl -X POST https://www.vetios.tech/api/v1/inference/differential \
  -H "Authorization: Bearer $VETIOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"species":"canine","breed":"mixed breed","age_years":0.42,"weight_kg":6.2,"sex":"male_intact","region":"Nairobi","presenting_signs":["lethargy","anorexia","vomiting","bloody diarrhea","dehydration"],"history":{"duration_days":2,"progression":"acute","owner_observations":["Lethargy and anorexia began first","Repeated vomiting and hemorrhagic diarrhea followed within a day"]},"preventive_history":{"vaccination_status":"incomplete","deworming_history":"unknown"},"diagnostic_tests":{"cbc":{"leukopenia":"present","neutropenia":"present"}}}'
POST/api/v1/inference/drug-checkscope: inference

Check species-aware medication safety and interaction risk.

curl -X POST https://www.vetios.tech/api/v1/inference/drug-check \
  -H "Authorization: Bearer $VETIOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inference_event_id":"11111111-1111-4111-8111-111111111111","context":{"resource_profile":"advanced","regulatory_region":"KE","comorbidities":["chronic kidney disease"],"lab_flags":["elevated creatinine"]}}'
POST/api/v1/inference/adversarialscope: simulation

Run adversarial or boundary-condition inference simulation.

curl -X POST https://www.vetios.tech/api/v1/inference/adversarial \
  -H "Authorization: Bearer $VETIOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"request_id":"22222222-2222-4222-8222-222222222222","steps":8,"mode":"adaptive","base_case":{"species":"feline","symptoms":["dyspnea","open mouth breathing"],"metadata":{"scenario":"conflicting_temperature"}}}'
POST/api/v1/outcomes/contributescope: outcomes

Attach an outcome report with explicit evidence and reviewer provenance to a prior inference.

curl -X POST https://www.vetios.tech/api/v1/outcomes/contribute \
  -H "Authorization: Bearer $VETIOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"request_id":"33333333-3333-4333-8333-333333333333","inference_event_id":"11111111-1111-4111-8111-111111111111","outcome":{"type":"diagnosis_confirmed","payload":{"label":"Canine parvoviral enteritis","confidence":0.99,"label_type":"lab_confirmed","reviewer_exposure":"unknown","verification_context":{"schema_version":"outcome-verification-context-v1","testing":{"decision":"performed","reason":"Diagnostic verification requested at presentation."},"reference_standard":{"name":"Laboratory report","evidence_refs":["44444444-4444-4444-8444-444444444444"]},"specimen_timing":"unknown"},"lab_result_id":"44444444-4444-4444-8444-444444444444"},"timestamp":"2026-06-06T12:00:00.000Z"}}'
GET/api/v1/dataset/prevalencescope: dataset

Read de-identified regional prevalence aggregates.

curl -X GET https://www.vetios.tech/api/v1/dataset/prevalence \
  -H "Authorization: Bearer $VETIOS_API_KEY"
GET/api/v1/models/cardscope: inference

Read the active model card and trust posture for partner review.

curl -X GET https://www.vetios.tech/api/v1/models/card \
  -H "Authorization: Bearer $VETIOS_API_KEY"
POST/api/v1/petpass/syncscope: petpass

Push a de-identified visit summary into a PetPass timeline.

curl -X POST https://www.vetios.tech/api/v1/petpass/sync \
  -H "Authorization: Bearer $VETIOS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"owner_account_id":"55555555-5555-4555-8555-555555555555","pet_id":"66666666-6666-4666-8666-666666666666","visit_date":"2026-06-06T09:30:00.000Z","summary":"Annual wellness exam completed.","diagnoses":["healthy adult examination"],"next_appointment":"2027-06-06T09:30:00.000Z"}'
GET/api/v1/petpass/history/{pet_id}scope: petpass

Retrieve a PetPass health timeline for a linked pet.

curl -X GET https://www.vetios.tech/api/v1/petpass/history/{pet_id} \
  -H "Authorization: Bearer $VETIOS_API_KEY"
GET/api/v1/usage/quotascope: usage

Read current API quota use and projected monthly consumption.

curl -X GET https://www.vetios.tech/api/v1/usage/quota \
  -H "Authorization: Bearer $VETIOS_API_KEY"
GET/api/v1/usage/analyticsscope: usage

Read endpoint, error, latency, and billable usage analytics.

curl -X GET https://www.vetios.tech/api/v1/usage/analytics \
  -H "Authorization: Bearer $VETIOS_API_KEY"

Reading CIRE on clinical responses

Clinical responses include a cire block. Act on publication.publication_state (NOMINAL, REVIEW, CAUTION, SUPPRESSED). Read reliability.reliability_state before treating any score as reliable: without confirmed outcomes for your slice it is UNVALIDATED. Differential concentration describes the shape of the ranking, never its correctness. The example below is generated by the CIRE engine.

nominal-structure-no-outcomesSynthetic

Concentrated differential, no outcome evidence

Structure is nominal, so publication may be NOMINAL; with zero confirmed outcomes the reliability state is UNVALIDATED.

differential = [0.9, 0.06, 0.04]
probability_semantics = categorical_exhaustive
semantics_status = valid
differential_concentration = 0.781006
cps = 0.087598
structural_state = NOMINAL
publication_state = NOMINAL
reliability_state = UNVALIDATED

generated by @vetios/cire-engine · CIRE 2.0.0 · sha256 c1ae352bbf79952842f8c3069fa8cc446fb1c853f1f58da5795f3e7b4d6955b3

Species coverage

Conditions in the inference engine's registry per species, computed from the registry itself. A species with few conditions has correspondingly narrow differentials.

canine · 51feline · 16bovine · 13ovine · 7caprine · 7equine · 6avian · 3reptile · 2exotic · 1

Plans, rate limits, and quota headers

sandbox
10 / min
500 / month
clinic
60 / min
10,000 / month
research
120 / min
50,000 / month
enterprise
1000 / min
5,000,000 / month
  • X-RateLimit-Limit — requests per minute
  • X-RateLimit-Remaining — remaining requests in the current minute window
  • X-RateLimit-Reset — unix timestamp for minute window reset
  • X-Quota-Limit — requests per month
  • X-Quota-Remaining — remaining requests in the current monthly window
  • X-Quota-Reset — unix timestamp for monthly quota reset
  • X-Partner-Plan — sandbox, clinic, research, or enterprise

Partner access

Partner keys are issued after onboarding review.