# Create availability Creates a new Availability record. Availability resource in the Animal Health Data Store Endpoint: POST /site/{siteId}/ahds/v1/availability Version: 1.0 Security: bearer ## Path parameters: - `siteId` (number, required) Site identifier ## Request fields (application/json): - `availabilityId` (string, required) Canonical identifier for this availability resource. Example: "123e4567-e89b-12d3-a456-426614174000" - `availabilityDate` (string, required) Calendar date for which these availability slots apply. Example: "2025-01-01" - `extensions` (object) Vendor- or practice-specific extensions at the availability level. - `resourceId` (string, required) Identifier of the resource (e.g., clinician, room, equipment) this availability applies to. Example: "123e4567-e89b-12d3-a456-426614174000" - `siteId` (string, required) Identifier of the site/location where this availability applies. Example: "123e4567-e89b-12d3-a456-426614174000" - `slots` (array, required) List of availability slots for the specified date and resource. - `slots.capacity` (number) Maximum number of appointments that can be booked in this slot. - `slots.endsAt` (string, required) End of the slot in RFC 3339 format, including timezone offset. Example: "2025-01-01T00:00:00.000Z" - `slots.extensions` (object) Vendor- or practice-specific slot-level extensions. - `slots.slotId` (string, required) Identifier for this specific availability slot. Example: "123e4567-e89b-12d3-a456-426614174000" - `slots.startsAt` (string, required) Start of the slot in RFC 3339 format, including timezone offset. Example: "2025-01-01T00:00:00.000Z" - `slots.status` (string, required) Current status of the slot. Enum: "free", "booked", "blocked", "tentative", "cancelled" - `timezone` (string, required) IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland'). ## Response 201 fields (application/json): - `availabilityId` (string, required) Canonical identifier for this availability resource. Example: "123e4567-e89b-12d3-a456-426614174000" - `createdAt` (string, required) Timestamp when this availability record was created. Example: "2025-01-01T00:00:00.000Z" - `availabilityDate` (string, required) Calendar date for which these availability slots apply. Example: "2025-01-01T00:00:00Z" - `extensions` (object, required) Vendor- or practice-specific extensions at the availability level. - `resourceId` (string, required) Identifier of the resource (e.g., clinician, room, equipment) this availability applies to. Example: "123e4567-e89b-12d3-a456-426614174000" - `siteId` (string, required) Identifier of the site/location where this availability applies. Example: "123e4567-e89b-12d3-a456-426614174000" - `slots` (array, required) List of availability slots for the specified date and resource. - `slots.capacity` (number) Maximum number of appointments that can be booked in this slot. - `slots.endsAt` (string, required) End of the slot in RFC 3339 format, including timezone offset. Example: "2025-01-01T00:00:00.000Z" - `slots.extensions` (object) Vendor- or practice-specific slot-level extensions. - `slots.slotId` (string, required) Identifier for this specific availability slot. Example: "123e4567-e89b-12d3-a456-426614174000" - `slots.startsAt` (string, required) Start of the slot in RFC 3339 format, including timezone offset. Example: "2025-01-01T00:00:00.000Z" - `slots.status` (string, required) Current status of the slot. Enum: "free", "booked", "blocked", "tentative", "cancelled" - `timezone` (string, required) IANA timezone name used to interpret local slot times (e.g., 'Pacific/Auckland'). - `updatedAt` (string, required) Timestamp when this availability record was last updated. Example: "2025-01-01T00:00:00.000Z" ## Response 400 fields ## Response 401 fields ## Response 409 fields