Skip to content

Frequently Asked Questions

General Questions

How do I perform delta loads? e.g. appointments in the last x hours:

Using the field comparators documented here, you can easily perform delta loads by setting the epoch time variable as the last time you synced.

http
https://api.trial.ezyvet.com/v2/appointment?modified_at={"gt":"1745107200"}

How can I raise API feature requests?

The ezyVet API operates under a WYSISYG framework and is constantly being improved which means some features that are available in the UI may not have API representation. Feature requests can be made by submitting a support ticket via the API Support email address. Whilst we will consider each request, we cannot guarentee each request will be fulfilled.

Authentication

How do I authenticate with the API?

Check out the API documentation here.

An example cURL:

cURL
curl    --location 'https://api.ezyvet.com/v1/oauth/access_token' \
        --header 'Content-Type: application/json' \
        --data '{
            "client_id": "string",
            "client_secret": "string",
            "partner_id": "string",
            "scope": "read-appointment",
            "grant_type": "client_credentials",
            "site_uid": "string"
        }'

How do I get the site_uid for an existing connection?

Take an existing ezyVet JWT access token and decode it using code.

WARNING

It's strongly encouraged to avoid using online tools such as https://www.jwt.io/ due to the sensitivity of the data being decoded.

Sample python code:

python
import jwt
import json

def decode_token(token: str):
    """
    :param token: jwt token
    :return:
    """
    decoded_data = jwt.decode(jwt=token,options={"verify_signature": False})
    print(json.dumps(decoded_data, indent=4))

token = input("Paste token here: ")
decode_token(token)

Example output of above code:

json
{
    "aud": "string",
    "jti": "string",
    "iat": 1765746831,
    "nbf": 1765746831,
    "exp": 1765790031,
    "sub": "string",
    "scopes": [
        "read-appointment",
        "write-appointment",
        "create-booking"
    ],
    "iss": "auth.ezyvet.com",
    "grp": "apisandbox",
    "url": "apisandbox.ezyvet.com",
    "site_uid": "site_jtv5H29i8pLkXi1wjWJQL",
    "zone": "usw2"
}

API Endpoints

Troubleshooting

Is an integration configured correctly?

  • Are all scopes for the integration record enabled?
  • Have you distributed the client_credentials.txt file to the appropriate contact?
  • Are there any other steps required that are noted in the integration user guide?

INFO

All scopes for an integration record should be enabled to ensure proper functionality.

Why can I not access a sandbox/trial environment?

  • Confirm your UI user credentials are correct.
  • Confirm your API credentials are correct.
  • Confirm your integration's scopes are all enabled.
  • Confirm the site you're accessing is correct.
  • Trial sites expire and will result in a 404 - Not found error when attempting to browse to it. Contact the Partnerships team for assistance.