Skip to main content
GET
/
v1
/
venues
/
{venue_id}
/
availability
/
variants
/
{variant_id}
curl "https://api.saoma.io/v1/venues/lutetia-paris/availability/variants/b2d3f4a5-6789-4abc-def0-123456789abc?date=2026-06-20" \
  -H "Authorization: Bearer $SAOMA_API_KEY"
{
  "data": {
    "venue_id": "8a276fea-1b85-4189-912c-01c9eea6ce75",
    "treatment_id": "a1c2e3f4-5678-49ab-cdef-0123456789ab",
    "variant_id": "b2d3f4a5-6789-4abc-def0-123456789abc",
    "date": "2026-06-20",
    "slots": [
      { "time": "09:00", "out_of_hours": false, "available_capacity": 2 },
      { "time": "09:30", "out_of_hours": false, "available_capacity": 1 },
      { "time": "14:00", "out_of_hours": false, "available_capacity": 2 }
    ]
  }
}
Same as Get venue availability, but restricted to a single bookable variant (a duration × price option of a treatment). Slots are computed with that variant’s duration, and only therapists qualified for its treatment are considered, so the result is a subset of the whole-venue availability. Requires the availability:read scope.
A variant belongs to exactly one treatment, so the variant_id is all you need — no treatment_id is required. Variant ids are returned (with their duration and is_default flag) by GET /v1/venues/{venue_id}/treatments.

Path parameters

venue_id
string
required
The venue id or slug.
variant_id
string
required
The variant id. Its parent treatment must belong to the venue.

Query parameters

date
string (ISO date)
A single day, YYYY-MM-DD. Mutually exclusive with from/to.
from
string (ISO date)
Start of the range, inclusive. Requires to.
to
string (ISO date)
End of the range, inclusive. Max from + 62 days.
You must provide either date or both from and to.

Response

Same shape as Get venue availability{ data: { date, slots } } in single-day mode, { data: { from, to, days } } in range mode — plus the echoed identifiers venue_id, treatment_id (the variant’s parent treatment) and variant_id.

Errors

HTTPBodyMeaning
400{ "error": "Provide \date` or `from`/`to`” }`Missing or conflicting period params
403{ "error": "Forbidden" }Your key is scoped to another venue/org
404{ "error": "Venue not found" }Unknown venue
404{ "error": "Variant not found" }Unknown variant, or its treatment is not in the venue

Example

curl "https://api.saoma.io/v1/venues/lutetia-paris/availability/variants/b2d3f4a5-6789-4abc-def0-123456789abc?date=2026-06-20" \
  -H "Authorization: Bearer $SAOMA_API_KEY"
{
  "data": {
    "venue_id": "8a276fea-1b85-4189-912c-01c9eea6ce75",
    "treatment_id": "a1c2e3f4-5678-49ab-cdef-0123456789ab",
    "variant_id": "b2d3f4a5-6789-4abc-def0-123456789abc",
    "date": "2026-06-20",
    "slots": [
      { "time": "09:00", "out_of_hours": false, "available_capacity": 2 },
      { "time": "09:30", "out_of_hours": false, "available_capacity": 1 },
      { "time": "14:00", "out_of_hours": false, "available_capacity": 2 }
    ]
  }
}