Skip to content

The SPI is a combination of a subset of ezyVet's API and the PACS provider's API that provides customers a consistent workflow experience.

Contact​

Servers​

https://api.ezyvet.comezyVet Production Environment
https://api.trial.ezyvet.comezyVet Trial Environment

Partner Authentication​


Get an access token from the partner​

POST
/accesstoken

This endpoint must be implemented by the Partner.

This endpoint will allow ezyVet to authenticate and use the Partner's web services

Request Body​

application/json
JSON
{
  
"client_id": "partner-clinic",
  
"client_secret": "partner-secret",
  
"grant_type": "client_credentials"
}

Responses​

Returns an access token.

application/json
JSON
{
  
"access_token": "CnKAVqSqp6UBq3Ei17e1UIj2U39UuOQI1i9Db3QT",
  
"token_type": "Bearer"
}

Samples​


Authentication​


Fetch a JWT bearer token​

POST
/v1/oauth/access_token

Generates a valid access token, given client credentials. Access tokens have an 12-hour TTL.

Request Body​

application/json
JSON
{
  
"partner_id": "string",
  
"client_id": "string",
  
"client_secret": "string",
  
"grant_type": "client_credentials",
  
"scope": "string",
  
"site_uid": "string"
}

Responses​

A JSON object containing the access token details.

application/json
JSON
{
  
"access_token": "string",
  
"token_type": "string",
  
"expires_in": 0
}

Samples​


Modalities​


Get modalities​

GET
/modalities

This endpoint must be implemented by the Partner.

This endpoint will allow ezyVet to get a list of supported modalities.

Responses​

Returns a list of supported modalities

application/json
JSON
{
  
"modalities": [
  
  
{
  
  
  
"name": "Autorefraction",
  
  
  
"code": "AR"
  
  
}
  
]
}

Samples​


Attachment​


Creates a single Attachment​

POST
/v1/attachment

Creates a single Attachment that links to a Consult with an ID of 1.

Authorizations​

bearerAuth
clientCredentials Flow
Token URL"https://api.ezyvet.com/v1/oauth/access_token"
Scopes:
  • "write-attachment"Create and update attachment resources

Request Body​

multipart/form-data
object

The record type the Attachment is for. E.g. Animal, Contact, Consult.

The ID number of the record the Attachment is linked to.

Notes that are related to the Attachment

The data of the file.

Format"binary"

Create an Attachment using an existing file in ezyVet.

Responses​

Successful response

application/json
JSON
{
  
"meta": {
  
  
"timestamp": "string"
  
},
  
"items": [
  
  
{
  
  
  
"attachment": {
  
  
  
  
"id": "string",
  
  
  
  
"active": true,
  
  
  
  
"created_at": "string",
  
  
  
  
"modified_at": "string",
  
  
  
  
"file_id": "string",
  
  
  
  
"file_download_url": "string",
  
  
  
  
"mime_type": "string",
  
  
  
  
"name": "string",
  
  
  
  
"primary_image": true,
  
  
  
  
"notes": "string"
  
  
  
}
  
  
}
  
],
  
"messages": [
  
  
{
  
  
}
  
]
}

Samples​


Separations​


Fetch a Separation list​

GET
/v2/separation

Fetches a list containing Separations.
Separations are a complex part of the ezyVet API and is important to understand.
Please read this document to ensure you have an adequate understanding.

Authorizations​

bearerAuth
clientCredentials Flow
Token URL"https://api.ezyvet.com/v1/oauth/access_token"
Scopes:
  • "read-separation"Read separation resources

Parameters​

Query Parameters

id

The ID number used by the system to uniquely identify a Separation.

Type
number
uid

The ID number used by the system to uniquely identify a Separation across all ezyVet sites.

Type
string
active

If true, the Separation is active and usable in ezyVet.

Type
boolean
created_at

The epoch time when the Separation was created.

Type
number
modified_at

The epoch time when the Separation was last modified.

Type
number

Responses​

A list of separations

application/json
JSON
{
  
"meta": {
  
  
"timestamp": "string",
  
  
"items_page": "string",
  
  
"items_page_total": "string",
  
  
"items_page_size": "string",
  
  
"items_total": "string"
  
},
  
"items": [
  
  
{
  
  
  
"separation": {
  
  
  
  
"id": 0,
  
  
  
  
"uid": "string",
  
  
  
  
"created_at": 0,
  
  
  
  
"modified_at": 0,
  
  
  
  
"active": true,
  
  
  
  
"name": "string",
  
  
  
  
"type": "string",
  
  
  
  
"parent": 0,
  
  
  
  
"child": 0,
  
  
  
  
"separation_type": "string",
  
  
  
  
"contact_id": 0,
  
  
  
  
"contact_uid": "string"
  
  
  
}
  
  
}
  
],
  
"messages": [
  
  
{
  
  
}
  
]
}

Samples​


Breeds & Species​


Get species and breeds​

GET
/breedsandspecies

This endpoint must be implemented by the Partner.

This endpoint will allow ezyVet to get a list of animal species and breeds.

Responses​

Returns a list of species & breeds

application/json
JSON
{
  
"species": [
  
  
{
  
  
  
"code": "CANINE",
  
  
  
"name": "Canine",
  
  
  
"breeds": [
  
  
  
  
{
  
  
  
  
  
"code": "LABRADOR_RETRIEVER",
  
  
  
  
  
"name": "Labrador Retriever"
  
  
  
  
}
  
  
  
]
  
  
}
  
]
}

Samples​


Diagnostic Request​


Send a PACS request​

POST
/diagnosticrequest

This endpoint must be implemented by the partner.

ezyVet will push diagnostic (PACS) requests as they are made/updated/disabled to the partner's diagnostic request endpoint.
The partner must acknowledge the POST request with a HTTP 200 OK once they have received the diagnostic request successfully AND have been able to parse the information correctly.

Request Body​

application/json
JSON
{
  
"id": 595,
  
"active": true,
  
"created_at": 1529901719,
  
"modified_at": 1529901719,
  
"timestamp": 1529897843,
  
"contact": {
  
  
"id": 76,
  
  
"active": true,
  
  
"created_at": 1527011450,
  
  
"modified_at": 1527011450,
  
  
"ownership_id": 1,
  
  
"code": "WendyTest",
  
  
"first_name": "Wendy",
  
  
"last_name": "Ww",
  
  
"business_name": "",
  
  
"is_business": false,
  
  
"is_customer": true,
  
  
"is_supplier": false,
  
  
"is_vet": false,
  
  
"is_syndicate": false,
  
  
"is_staff_member": false,
  
  
"stop_credit": "OK"
  
},
  
"animal": {
  
  
"id": 2,
  
  
"name": "XiaoGouABC",
  
  
"code": "XGABC",
  
  
"sex": {
  
  
  
"id": 1,
  
  
  
"active": true,
  
  
  
"created_at": 1467543440,
  
  
  
"modified_at": 1467543440,
  
  
  
"name": "Male",
  
  
  
"abbreviation": "M",
  
  
  
"is_desexed": false
  
  
},
  
  
"is_dead": false,
  
  
"is_hostile": "",
  
  
"animalcolour_id": 34,
  
  
"integrated_species": {
  
  
  
"id": 293,
  
  
  
"active": true,
  
  
  
"created_at": 1528986101,
  
  
  
"modified_at": 1528986101,
  
  
  
"code": "1",
  
  
  
"name": "Canine"
  
  
},
  
  
"integrated_breed": {
  
  
  
"id": 5055,
  
  
  
"active": true,
  
  
  
"created_at": 1528986101,
  
  
  
"modified_at": 1528986101,
  
  
  
"code": "1",
  
  
  
"name": "AFFENPINSCHER"
  
  
},
  
  
"species": {
  
  
  
"name": "Feline (Cat)",
  
  
  
"integrated": {
  
  
  
  
"name": "Canine",
  
  
  
  
"code": "CANINE1"
  
  
  
}
  
  
},
  
  
"breed": {
  
  
  
"name": "Ragamuffin",
  
  
  
"integrated": {
  
  
  
  
"name": "Labrador Retriever",
  
  
  
  
"code": "LABRADOR_RETRIEVER"
  
  
  
}
  
  
},
  
  
"rabies_number": "",
  
  
"date_of_rabies_vaccination": 0,
  
  
"microchip_number": "",
  
  
"date_of_birth": 1438524000,
  
  
"is_estimated_date_of_birth": false,
  
  
"date_of_death": 0,
  
  
"death_reason": "",
  
  
"date_of_desex": 0,
  
  
"referring_clinic_id": 0,
  
  
"referring_vet_id": 0,
  
  
"residence_contact_id": 0,
  
  
"weight_unit": "kg",
  
  
"weight": 3.499,
  
  
"resuscitate": "Unspecified",
  
  
"notes": "Some notes."
  
},
  
"consult_id": 55,
  
"vet": {
  
  
"id": 31,
  
  
"active": true,
  
  
"created_at": 1494879128,
  
  
"modified_at": 1522194348,
  
  
"name": "Dr Vet",
  
  
"is_vet": true,
  
  
"is_salesperson": true
  
},
  
"reference_number": "AU10674-DR595",
  
"specifics": "",
  
"modality": "DX",
  
"status": "",
  
"supplier_id": 67,
  
"ownership_id": 2,
  
"diagnostic_list": [
  
  
{
  
  
  
"id": 958,
  
  
  
"active": true,
  
  
  
"created_at": 1529901719,
  
  
  
"modified_at": 1529901719,
  
  
  
"diagnostic_id": 190,
  
  
  
"name": "Cardio Ultrasound",
  
  
  
"code": "CardioUS",
  
  
  
"diagnostic_class": "Diagnostic"
  
  
}
  
]
}

Responses​

OK

application/json
JSON
{
  
"external_link": "https://www.externalimageviewer.example",
  
"status": "OK"
}

Samples​


Diagnostic Result​


Create a Diagnostic Result​

POST
/v1/diagnosticresult

Creates a single DiagnosticResult.

Authorizations​

bearerAuth
clientCredentials Flow
Token URL"https://api.ezyvet.com/v1/oauth/access_token"
Scopes:
  • "read-diagnosticresult"Read diagnostic result resources
  • "write-diagnosticresult"Create and update diagnostic result resources

Request Body​

application/json
JSON
{
  
"active": "true",
  
"consult_id": "string",
  
"animal_id": "string",
  
"supplier_id": "string",
  
"vet_id": "string",
  
"diagnostic_request_id": "string",
  
"timestamp": "Current epoch",
  
"specifics": "string",
  
"outcome": "string",
  
"diagnostic_result_item_list": [
  
  
{
  
  
  
"name": "string",
  
  
  
"value": "string",
  
  
  
"range_low": "string",
  
  
  
"range_high": "string",
  
  
  
"unit": "string"
  
  
}
  
],
  
"external_link": "string",
  
"study_uid": "1.2.840.113619.2.62.994044785528.114289542805"
}

Responses​

Success

application/json
JSON
{
  
"meta": {
  
  
"timestamp": "string"
  
},
  
"items": [
  
  
{
  
  
  
"diagnosticresult": {
  
  
  
  
"id": "string",
  
  
  
  
"active": "string",
  
  
  
  
"created_at": "string",
  
  
  
  
"modified_at": "string",
  
  
  
  
"ownership_id": "string",
  
  
  
  
"contact_id": "string",
  
  
  
  
"consult_id": "string",
  
  
  
  
"animal_id": "string",
  
  
  
  
"vet_id": "string",
  
  
  
  
"diagnostic_request_id": "string",
  
  
  
  
"timestamp": "string",
  
  
  
  
"specifics": "string",
  
  
  
  
"outcome": "string",
  
  
  
  
"diagnostic_result_item_list": [
  
  
  
  
  
"string"
  
  
  
  
]
  
  
  
}
  
  
}
  
],
  
"messages": [
  
  
"string"
  
]
}

Samples​


Powered by VitePress OpenAPI