Skip to content

Release Notes

ezyVet version 44.4 (March 2026)

Changes

  • External Rx records can be updated while referencing a disabled user IF the Rx is not being changed from an active user to a disabled user
  • External Rx records that reference a disabled user can be updated to reference an active user.
  • Updated inventory/v1/requirements to allow filtering by levels higher than inventory locations. (e.g departments, business unit, entity)
  • The v1/externalprescription endpoint will now follow standard error handling and return exception-based status codes rather than always returning 200s
  • Added /v4/communication/sentCommunicationendpoint which allows the API user to bulk upload communications to ezyVet that have already been sent from an external system. These records will not be sent by ezyVet. Max number of records that can be uploaded in a single API request is 500.
  • Added v4/role endpoint which is intended to be used in conjuncton with the v4/user endpoints when creating or updating users.
  • Added v2.1/product/servicefee/bulk endpoint which provides the ability to bulk add or remove service fees to products for given ownerships.
  • Added /inventory/v2/balances endpoint which returns quantity-on-hand (QOH) for all active tracked products at a given location or organisational unit. Acts similar to the inventory/v1/requirements endpoint but without the requirement of having an inventory threshold configured.
  • When authenticating with the /v1/oauth/access_token endpoint, the site_uid field has become a mandatory field.
Details

How to get the site_uid?

  • For existing API connections, the site_uid for is encrypted in existing JWT access tokens and can be extracted by decoding the token.
    • See example on how you can implement this here.
  • For new API connections, the site_uid is included in the credentials text file that is downloaded from the site.

ezyVet version 44.3 (February 2026)

Changes

  • Added v4/user endpoint which supports GET, POST & PATCH to fetch, create and update users. Max page size is 500 records.
  • Added v4/user/bulk endpoint which supports POST & PATCH to create and update user records in bulk.
  • Added v1.1/animal endpoint which supports GET to fetch a list of animals. Max page size is 2000 records.
  • Improved ezyvab/availability endpoint to support a minimum duration value of 5 provided additional filters are provided. See the Availability guide
  • Added a detailed API filtering guide
  • General performance and accuracy improvements.

ezyVet version 44.1 (December 2025)

Changes

  • Migrated v1/communication endpoint to v2/communication whilst keeping legacy support for v1/communication. Please use v2 moving forward to maintain best practice.
  • Added uid field and query parameter to v2/communication.

Notice

  • POST /v1/oauth/access_token

From March 2026, the site_uid field will become a mandatory field when generating an access token.

Details

How to get the site_uid?

  • For existing API connections, the site_uid for is encrypted in existing JWT access tokens and can be extracted by decoding the token.
    • See example on how you can implement this here.
  • For new API connections, the site_uid is included in the credentials text file that is downloaded from the site.

ezyVet version 43.9 (November 2025)

Changes

  • PATCH /v1/externalprescription
Details

Overview

  • date_of_prescription Is No Longer Required

    • API users are no longer required to include the date_of_prescription field when performing a PATCH request on an existing prescription record.
    • PATCH requests without date_of_prescription will continue to function as expected.
    • This change reduces the need for clients to pass through unchanged values.
  • date_of_prescription Will Be Ignored if Provided If a PATCH request includes the date_of_prescription parameter:

    • The system will accept the request without throwing validation errors.
    • However, the value will not be used to update the prescription record.
    • The original prescription date will remain unchanged.

Reason for Change

This update prevents accidental modification of the original prescription date, ensuring data integrity while maintaining backward compatibility for clients who continue sending the field.

Impact on Clients

No action is required for existing integrators.

API users may continue to include date_of_prescription in PATCH requests, but should no longer rely on it for updates.

ezyVet version 43.8 (October 2025)

Changes

  • POST /v1/externalprescription
  • PATCH /v1/externalprescription
Details

Data Model Changes

  • New attribute: external_prescription_item_list.date_of_lastdispense INT NULL
  • New attribute: external_prescription_item_list.status ENUM NULL
    • CANCELLED_DR,DECLINED_DR,CANCELLED_CLIENT,DECLINED_CLIENT,PENDING,CURRENT
  • New attribute: external_prescription_item_list.status_date INT NULL

POST Rules

  • Client payload must NOT include item external_prescription_item_list.status or external_prescription_item_list.status_date.

If present → error: "status or status_date are not allowed on POST, use PATCH instead."

  • If item date_of_lastdispense is present (or backfilled by root): status = CURRENT; status_date = item’s date_of_lastdispense.

Otherwise: status = PENDING; status_date = date_of_prescription.

PATCH Rules

  • If no item provides a status, at least one item must provide date_of_lastdispense; otherwise:

    • Error: "date_of_lastdispense is required when status is not provided."
    • Important: If any item provides Declined/Cancelled status, the above per-item date_of_lastdispense requirement is not enforced for items without status (partial updates accepted).
  • Allowed statuses on PATCH: DECLINED_DR, DECLINED_CLIENT, CANCELLED_DR, CANCELLED_CLIENT

  • status_date: Required and numeric when status is Declined or Cancelled.

  • Error: "status_date is required and must be numeric when status is Declined or Cancelled."

Status transition rules (per item):

  • Determination of current (from) status is based on matching the item’s external_product_reference to the existing active externalprescriptionitem row.

  • Declined allowed only from Pending or null. Error: "Only Pending items can be changed to Declined."

  • Cancelled allowed only from Current.Error: "Only Dispensed items can be changed to Cancelled."

  • If client provides root date_of_lastdispense: only items with empty date_of_lastdispense get the root date.

Deprecation

  • Root-level date_of_lastdispense is deprecated; continue supporting for backward compatibility.
  • date_of_lastdispense is optional on POST; conditionally required on PATCH only when no status is provided anywhere.
  • Prefer using item-level date_of_lastdispense.

ezyVet version 42.9

Changes

  • Updated the v2/wellnessplanmembership endpoint:
    • Added support for reference (payment reference) as a query parameter.
    • Enhanced PATCH operation to support status for locking memberships.

ezyVet version 42.7

Changes

  • Updated the blood_pressure field in the v1/healthstatus endpoints to accept both num & string instead of num for GET, POST, and PATCH operations.

ezyVet version 42.4

Changes

  • Added hospital_uid field to the v2/separation endpoint when returning department ownership separations.

ezyVet version 42

Changes

  • Added ownership_id and ownership_uid fields to the v2/productsupplier endpoint.

ezyVet version 41.7

Changes

  • Added type query parameter to the v2/separation endpoint.

ezyVet version 40.3

Changes

  • Added DELETE method to the v1/externalprescription endpoint.

ezyVet version 40.2

Changes

  • Added POST & PATCH methods to the v1/externalprescription endpoint.

ezyVet version 40

Changes

  • Added GET method for the v2/estimate endpoint.

ezyVet version 39.6

Changes

  • Added GET method for the v2/resource endpoint.
  • Added GET method for the v2/separation endpoint.

ezyVet version 39.0

Changes

  • Added date_of_birth field to the v1/contact endpoint.
  • Added driver_license_number field to the v1/contact endpoint.
  • Added driver_license_ field to the v1/contact endpoint.
  • Added driver_license_ field to the v1/contact endpoint.
  • Added serial_number field to the v1/prescriptionitem endpoint.

ezyVet version 38.6

Changes

  • Added GET method for the v2/prescription endpoint.
  • Added GET and POST method for the v2/contactdetail endpoint.
  • Updated response body for the v2/contact endpoint.

ezyVet version 38.1

Changes

  • Added GET method for the v2/contact endpoint.

ezyVet version 37.9

Changes

  • Added GET method for the v2/appointmenttype endpoint.
  • Added uid field to the v2/appointmenttype endpoint.

ezyVet version 37.5

Changes

  • Added POST and PATCH for the v1/vaccination endpoint.
  • Added value_cleaned field to the v1/contactdetail endpoint.
Details
  • Use the value_cleaned field to find the value of a ContactDetail where prefixes are added and special characters are stripped from phone numbers.
  • Use the value_cleaned query parameter to query ContactDetail records by phone numbers without any special characters or formatting.

ezyVet version 36.8

Changes

  • Added POST, PATCH & DELETE for the v1/address endpoint.
  • Added validation to v2/appointment endpoint to check that the query has the sales_resource present in the list of resources when attempting to POST or PATCH.

ezyVet version 36.7

Changes

  • Added the v1/barcode endpoint
    • Use the for_type to find the type of record that the Barcode is for. EG: "product".
    • Use the for_id to find the ID of the record that the Barcode is for.
  • Added the website field to the v2/contact endpoint

ezyVet version 36.6

Changes

  • Added contact_id to the v1/eparation endpoint.

ezyVet version 36.4

Changes

  • Added a date field to the v1/invoiceline and v2/invoiceline endpoints.
    • Use the date field to know the date the the product on the invoiceline was administered on the related clinical record.
  • Added preferred and subscription_groups fields to the v1/contactdetail endpoint.
    • Use the preferred field to find which ContactDetail is a preferred contact method for the related Contact
    • Use the subscription_groups field to find a list of subscription groups that the ContactDetail is subscribed

ezyVet version 36.2

Changes

  • When you change an ezyVet Go calendar, the applicable changes sync to ezyVet
  • Added the expected_price field to the v2/productsupplier endpoint
  • You can update product prices that have a maximum of four digits after the decimal point.
  • Added a date field to the v2/stocktransaction endpoint.
    • Use the date field to know the date of an inventory transaction.

ezyVet version 36.1

Changes

  • Increased the possible inventory locations that you can use with the v2/invoiceline endpoint.

ezyVet version 35.9

Changes

  • Fixed an issue where Email/SMS communications created by the API wouldn't send

ezyVet version 35.4

Changes

  • Fixed an issue where the invoice was not showing credit invoices as linked records.
    • The linked_payments field now also shows credit invoices with a new parameter type specifying invoice or payment.
  • Added the linked_payments field to the v2/invoice endpoint.