Sites & Organisation

Equipment

Equipment represents physical tools or items required to deliver an appointment (e.g. a steam machine, a massage table). Appointment types declare equipment they need; availability calculations enforce concurrency.

get/shop/equipment

List equipment

listEquipment

Returns a paginated list of Equipment configured at the given site. Use this to populate an admin equipment-management view, or to verify equipment IDs before assigning them to appointment types.

Requires the SETTINGS_VIEW permission on the site.

Query parameters

  • site_idstringrequired

    Filter results by the site they belong to

  • pageintegeroptional

    The page to retrieve results from

  • per_pageintegeroptional

    The number of results to return per page

Responses

  • 200

    A paginated list of Equipment items configured at the site.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

post/shop/equipment

Create equipment

createEquipment

Creates a new Equipment record at a site. Once created, the equipment can be assigned to appointment types — bookings then only offer slots when at least one unit is free.

Requires the SETTINGS_MANAGE permission on the target site.

Request body

  • namestringrequired

    Display name. Plain text only.

  • descriptionstringoptionalnullable

    Optional internal note (model, service schedule, location).

  • quantitynumberrequired

    Number of units of this equipment the site has. Used by the availability engine to enforce concurrency limits. Must be greater than 0.

  • site_iduuidrequired

    ID of the site to create this equipment under. The caller's API key must have access to the site.

  • organisation_iduuidoptional

    Optional organisation to attribute this equipment to. Defaults to the caller's primary organisation if omitted.

Responses

  • 201

    A single Equipment item.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 422

    The request didn't pass validation

get/shop/equipment/{equipmentId}

Retrieve an equipment item

getEquipment

Returns a single Equipment record by ID.

Path parameters

  • equipmentIdobject-idrequired

    The unique identifier of the Equipment.

Responses

  • 200

    A single Equipment item.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

put/shop/equipment/{equipmentId}

Update an equipment item

updateEquipment

Partially updates an Equipment record. Every field is optional; only fields you send are written. Requires the SETTINGS_MANAGE permission on the equipment's current site (and the target site too, if site_id is changed).

Path parameters

  • equipmentIdobject-idrequired

    The unique identifier of the Equipment.

Request body

  • namestringoptional

    Display name shown to staff in the admin UI. Plain text only — HTML tags are rejected.

  • descriptionstringoptionalnullable

    Optional internal note about this equipment — model number, service schedule, location. Not surfaced to customers.

  • quantitynumberoptional

    Number of units. Must be greater than 0.

  • site_iduuidoptional

    Move the equipment to a different site. The caller's API key must have access to both the old and new site.

Responses

  • 200

    A single Equipment item.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation

delete/shop/equipment/{equipmentId}

Delete an equipment item

deleteEquipment

Removes an Equipment record. Appointment types still referencing the equipment retain the (now-invalid) ID until their next update — the booking engine treats missing equipment as unavailable, so deleting an in-use equipment item effectively makes those appointment types unbookable.

Requires the SETTINGS_MANAGE permission on the equipment's site.

Path parameters

  • equipmentIdobject-idrequired

    The unique identifier of the Equipment.

Responses

  • 204

    Equipment deleted successfully.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

post/shop/equipment/{equipmentId}/copy

Duplicate an equipment item

copyEquipment

Creates a copy of an existing Equipment item with the supplied fields applied on top of the source. Useful when seeding a new piece of kit off an existing one — for example cloning a treatment table to a second site without rebuilding it from scratch.

Fields omitted from the body are inherited from the source verbatim. Pass site_id to clone the equipment into a different site; omit it to keep the copy on the source site.

Requires the SETTINGS_MANAGE permission on the target site.

Path parameters

  • equipmentIdobject-idrequired

    The unique identifier of the Equipment.

Request body

  • namestringoptional

    Display name for the new copy. Defaults to the source's name — usually you'll want to override this so the two entries are distinguishable.

  • descriptionstringoptional

    Override the long-form description on the copy. Defaults to the source's description.

  • quantitynumberoptional

    Override the unit count available at the site. Must be greater than zero. Defaults to the source's value.

  • site_iduuidoptional

    Override the site the copy belongs to. Defaults to the source's site. The calling user must belong to the target site.

Responses

  • 200

    A single Equipment item.

  • 401

    The user is unauthenticated

  • 403

    The authenticated user does not have permission.

  • 404

    The resource couldn't be found

  • 422

    The request didn't pass validation