Skip to content

AHDS Store API (1.0)

Animal Health Data Store - V1 API Documentation

Overview
Languages
Servers
Mock server

https://docs.heydonto.com/_mock/apis/animal-health/openapi/

Local Development

http://localhost:8083/

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Request

Creates a new Availability record. Availability resource in the Animal Health Data Store

Security
bearer
Path
siteIdnumberrequired

Site identifier

Bodyapplication/jsonrequired
availabilityIdstringrequired

Canonical identifier for this availability resource.

Example: "123e4567-e89b-12d3-a456-426614174000"
availabilityDatestringrequired

Calendar date for which these availability slots apply.

Example: "2025-01-01"
extensionsobject

Vendor- or practice-specific extensions at the availability level.

resourceIdstringrequired

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: "123e4567-e89b-12d3-a456-426614174000"
siteIdstringrequired

Identifier of the site/location where this availability applies.

Example: "123e4567-e89b-12d3-a456-426614174000"
slotsArray of objects(SlotDto)required

List of availability slots for the specified date and resource.

slots[].​capacitynumber

Maximum number of appointments that can be booked in this slot.

slots[].​endsAtstringrequired

End of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​extensionsobject

Vendor- or practice-specific slot-level extensions.

slots[].​slotIdstringrequired

Identifier for this specific availability slot.

Example: "123e4567-e89b-12d3-a456-426614174000"
slots[].​startsAtstringrequired

Start of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​statusstringrequired

Current status of the slot.

Enum"free""booked""blocked""tentative""cancelled"
timezonestringrequired

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

curl -i -X POST \
  'https://docs.heydonto.com/_mock/apis/animal-health/openapi/site/{siteId}/ahds/v1/availability' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "availabilityId": "123e4567-e89b-12d3-a456-426614174000",
    "availabilityDate": "2025-01-01",
    "extensions": {},
    "resourceId": "123e4567-e89b-12d3-a456-426614174000",
    "siteId": "123e4567-e89b-12d3-a456-426614174000",
    "slots": [
      {
        "capacity": 0,
        "endsAt": "2025-01-01T00:00:00.000Z",
        "extensions": {},
        "slotId": "123e4567-e89b-12d3-a456-426614174000",
        "startsAt": "2025-01-01T00:00:00.000Z",
        "status": "free"
      }
    ],
    "timezone": "string"
  }'

Responses

Availability created successfully

Bodyapplication/json
availabilityIdstringrequired

Canonical identifier for this availability resource.

Example: "123e4567-e89b-12d3-a456-426614174000"
createdAtstring(date-time)required

Timestamp when this availability record was created.

Example: "2025-01-01T00:00:00.000Z"
availabilityDatestring(date-time)required

Calendar date for which these availability slots apply.

Example: "2025-01-01T00:00:00Z"
extensionsobjectrequired

Vendor- or practice-specific extensions at the availability level.

resourceIdstringrequired

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: "123e4567-e89b-12d3-a456-426614174000"
siteIdstringrequired

Identifier of the site/location where this availability applies.

Example: "123e4567-e89b-12d3-a456-426614174000"
slotsArray of objects(SlotDto)required

List of availability slots for the specified date and resource.

slots[].​capacitynumber

Maximum number of appointments that can be booked in this slot.

slots[].​endsAtstringrequired

End of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​extensionsobject

Vendor- or practice-specific slot-level extensions.

slots[].​slotIdstringrequired

Identifier for this specific availability slot.

Example: "123e4567-e89b-12d3-a456-426614174000"
slots[].​startsAtstringrequired

Start of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​statusstringrequired

Current status of the slot.

Enum"free""booked""blocked""tentative""cancelled"
timezonestringrequired

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

updatedAtstring(date-time)required

Timestamp when this availability record was last updated.

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "availabilityId": "123e4567-e89b-12d3-a456-426614174000", "createdAt": "2025-01-01T00:00:00.000Z", "availabilityDate": "2025-01-01T00:00:00Z", "extensions": {}, "resourceId": "123e4567-e89b-12d3-a456-426614174000", "siteId": "123e4567-e89b-12d3-a456-426614174000", "slots": [ { … } ], "timezone": "string", "updatedAt": "2025-01-01T00:00:00.000Z" }

Request

Returns a paginated list of Availabilities for the specified site. Supports filtering and sorting.

Security
bearer
Path
siteIdnumberrequired

Site identifier

Query
pagenumber>= 0

Page number (0-indexed)

Default 0
pageSizenumber[ 1 .. 100 ]

Number of items per page

Default 10
sortBystring

Field to sort by

Enum"createdAt""updatedAt""availabilityDate""timezone"
sortOrderstring

Sort order

Default "asc"
Enum"asc""desc"
resourceIdstring

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: resourceId=123e4567-e89b-12d3-a456-426614174000
timezonestring

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/animal-health/openapi/site/{siteId}/ahds/v1/availability?page=0&pageSize=10&sortBy=createdAt&sortOrder=asc&resourceId=123e4567-e89b-12d3-a456-426614174000&timezone=string' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Paginated list of Availabilities

Request

Returns a single Availability by its unique identifier.

Security
bearer
Path
siteIdnumberrequired

Site identifier

availabilityIdstringrequired

Availability unique identifier (UUID)

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/animal-health/openapi/site/{siteId}/ahds/v1/availability/{availabilityId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Availability found

Bodyapplication/json
availabilityIdstringrequired

Canonical identifier for this availability resource.

Example: "123e4567-e89b-12d3-a456-426614174000"
createdAtstring(date-time)required

Timestamp when this availability record was created.

Example: "2025-01-01T00:00:00.000Z"
availabilityDatestring(date-time)required

Calendar date for which these availability slots apply.

Example: "2025-01-01T00:00:00Z"
extensionsobjectrequired

Vendor- or practice-specific extensions at the availability level.

resourceIdstringrequired

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: "123e4567-e89b-12d3-a456-426614174000"
siteIdstringrequired

Identifier of the site/location where this availability applies.

Example: "123e4567-e89b-12d3-a456-426614174000"
slotsArray of objects(SlotDto)required

List of availability slots for the specified date and resource.

slots[].​capacitynumber

Maximum number of appointments that can be booked in this slot.

slots[].​endsAtstringrequired

End of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​extensionsobject

Vendor- or practice-specific slot-level extensions.

slots[].​slotIdstringrequired

Identifier for this specific availability slot.

Example: "123e4567-e89b-12d3-a456-426614174000"
slots[].​startsAtstringrequired

Start of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​statusstringrequired

Current status of the slot.

Enum"free""booked""blocked""tentative""cancelled"
timezonestringrequired

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

updatedAtstring(date-time)required

Timestamp when this availability record was last updated.

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "availabilityId": "123e4567-e89b-12d3-a456-426614174000", "createdAt": "2025-01-01T00:00:00.000Z", "availabilityDate": "2025-01-01T00:00:00Z", "extensions": {}, "resourceId": "123e4567-e89b-12d3-a456-426614174000", "siteId": "123e4567-e89b-12d3-a456-426614174000", "slots": [ { … } ], "timezone": "string", "updatedAt": "2025-01-01T00:00:00.000Z" }

Request

Partially updates an existing Availability. Only provided fields will be updated.

Security
bearer
Path
siteIdnumberrequired

Site identifier

availabilityIdstringrequired

Availability unique identifier (UUID)

Bodyapplication/jsonrequired
availabilityDatestring

Calendar date for which these availability slots apply.

Example: "2025-01-01"
extensionsobject

Vendor- or practice-specific extensions at the availability level.

resourceIdstring

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: "123e4567-e89b-12d3-a456-426614174000"
siteIdstring

Identifier of the site/location where this availability applies.

Example: "123e4567-e89b-12d3-a456-426614174000"
slotsArray of objects(SlotDto)

List of availability slots for the specified date and resource.

timezonestring

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

curl -i -X PATCH \
  'https://docs.heydonto.com/_mock/apis/animal-health/openapi/site/{siteId}/ahds/v1/availability/{availabilityId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "availabilityDate": "2025-01-01",
    "extensions": {},
    "resourceId": "123e4567-e89b-12d3-a456-426614174000",
    "siteId": "123e4567-e89b-12d3-a456-426614174000",
    "slots": [
      {
        "capacity": 0,
        "endsAt": "2025-01-01T00:00:00.000Z",
        "extensions": {},
        "slotId": "123e4567-e89b-12d3-a456-426614174000",
        "startsAt": "2025-01-01T00:00:00.000Z",
        "status": "free"
      }
    ],
    "timezone": "string"
  }'

Responses

Availability updated successfully

Bodyapplication/json
availabilityIdstringrequired

Canonical identifier for this availability resource.

Example: "123e4567-e89b-12d3-a456-426614174000"
createdAtstring(date-time)required

Timestamp when this availability record was created.

Example: "2025-01-01T00:00:00.000Z"
availabilityDatestring(date-time)required

Calendar date for which these availability slots apply.

Example: "2025-01-01T00:00:00Z"
extensionsobjectrequired

Vendor- or practice-specific extensions at the availability level.

resourceIdstringrequired

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: "123e4567-e89b-12d3-a456-426614174000"
siteIdstringrequired

Identifier of the site/location where this availability applies.

Example: "123e4567-e89b-12d3-a456-426614174000"
slotsArray of objects(SlotDto)required

List of availability slots for the specified date and resource.

slots[].​capacitynumber

Maximum number of appointments that can be booked in this slot.

slots[].​endsAtstringrequired

End of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​extensionsobject

Vendor- or practice-specific slot-level extensions.

slots[].​slotIdstringrequired

Identifier for this specific availability slot.

Example: "123e4567-e89b-12d3-a456-426614174000"
slots[].​startsAtstringrequired

Start of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​statusstringrequired

Current status of the slot.

Enum"free""booked""blocked""tentative""cancelled"
timezonestringrequired

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

updatedAtstring(date-time)required

Timestamp when this availability record was last updated.

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "availabilityId": "123e4567-e89b-12d3-a456-426614174000", "createdAt": "2025-01-01T00:00:00.000Z", "availabilityDate": "2025-01-01T00:00:00Z", "extensions": {}, "resourceId": "123e4567-e89b-12d3-a456-426614174000", "siteId": "123e4567-e89b-12d3-a456-426614174000", "slots": [ { … } ], "timezone": "string", "updatedAt": "2025-01-01T00:00:00.000Z" }

Request

Fully replaces an existing Availability. All fields must be provided.

Security
bearer
Path
siteIdnumberrequired

Site identifier

availabilityIdstringrequired

Availability unique identifier (UUID)

Bodyapplication/jsonrequired
availabilityDatestringrequired

Calendar date for which these availability slots apply.

Example: "2025-01-01"
extensionsobjectrequired

Vendor- or practice-specific extensions at the availability level.

resourceIdstringrequired

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: "123e4567-e89b-12d3-a456-426614174000"
siteIdstringrequired

Identifier of the site/location where this availability applies.

Example: "123e4567-e89b-12d3-a456-426614174000"
slotsArray of objects(SlotDto)required

List of availability slots for the specified date and resource.

slots[].​capacitynumber

Maximum number of appointments that can be booked in this slot.

slots[].​endsAtstringrequired

End of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​extensionsobject

Vendor- or practice-specific slot-level extensions.

slots[].​slotIdstringrequired

Identifier for this specific availability slot.

Example: "123e4567-e89b-12d3-a456-426614174000"
slots[].​startsAtstringrequired

Start of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​statusstringrequired

Current status of the slot.

Enum"free""booked""blocked""tentative""cancelled"
timezonestringrequired

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

curl -i -X PUT \
  'https://docs.heydonto.com/_mock/apis/animal-health/openapi/site/{siteId}/ahds/v1/availability/{availabilityId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "availabilityDate": "2025-01-01",
    "extensions": {},
    "resourceId": "123e4567-e89b-12d3-a456-426614174000",
    "siteId": "123e4567-e89b-12d3-a456-426614174000",
    "slots": [
      {
        "capacity": 0,
        "endsAt": "2025-01-01T00:00:00.000Z",
        "extensions": {},
        "slotId": "123e4567-e89b-12d3-a456-426614174000",
        "startsAt": "2025-01-01T00:00:00.000Z",
        "status": "free"
      }
    ],
    "timezone": "string"
  }'

Responses

Availability replaced successfully

Bodyapplication/json
availabilityIdstringrequired

Canonical identifier for this availability resource.

Example: "123e4567-e89b-12d3-a456-426614174000"
createdAtstring(date-time)required

Timestamp when this availability record was created.

Example: "2025-01-01T00:00:00.000Z"
availabilityDatestring(date-time)required

Calendar date for which these availability slots apply.

Example: "2025-01-01T00:00:00Z"
extensionsobjectrequired

Vendor- or practice-specific extensions at the availability level.

resourceIdstringrequired

Identifier of the resource (e.g., clinician, room, equipment) this availability applies to.

Example: "123e4567-e89b-12d3-a456-426614174000"
siteIdstringrequired

Identifier of the site/location where this availability applies.

Example: "123e4567-e89b-12d3-a456-426614174000"
slotsArray of objects(SlotDto)required

List of availability slots for the specified date and resource.

slots[].​capacitynumber

Maximum number of appointments that can be booked in this slot.

slots[].​endsAtstringrequired

End of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​extensionsobject

Vendor- or practice-specific slot-level extensions.

slots[].​slotIdstringrequired

Identifier for this specific availability slot.

Example: "123e4567-e89b-12d3-a456-426614174000"
slots[].​startsAtstringrequired

Start of the slot in RFC 3339 format, including timezone offset.

Example: "2025-01-01T00:00:00.000Z"
slots[].​statusstringrequired

Current status of the slot.

Enum"free""booked""blocked""tentative""cancelled"
timezonestringrequired

IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland').

updatedAtstring(date-time)required

Timestamp when this availability record was last updated.

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "availabilityId": "123e4567-e89b-12d3-a456-426614174000", "createdAt": "2025-01-01T00:00:00.000Z", "availabilityDate": "2025-01-01T00:00:00Z", "extensions": {}, "resourceId": "123e4567-e89b-12d3-a456-426614174000", "siteId": "123e4567-e89b-12d3-a456-426614174000", "slots": [ { … } ], "timezone": "string", "updatedAt": "2025-01-01T00:00:00.000Z" }

Request

Permanently deletes a Availability record.

Security
bearer
Path
siteIdnumberrequired

Site identifier

availabilityIdstringrequired

Availability unique identifier (UUID)

curl -i -X DELETE \
  'https://docs.heydonto.com/_mock/apis/animal-health/openapi/site/{siteId}/ahds/v1/availability/{availabilityId}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Availability deleted successfully

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations