Docs
Meetings

Free times

GEThttps://api.norreach.app/v1/availability

Free times for a meeting type (default: the booking page's default type) between from and to (default: the next 7 days; at most 31 days), worked out from the hosts' working hours, calendars, buffers and notice — the same times your booking page offers. Narrow it to one host with host_id. Book one with POST /meetings.

meetings:readOperation id: get_availability
GET/availability
curl -X GET "https://api.norreach.app/v1/availability" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
Free times
{
  "object": "availability",
  "meeting_type_id": "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",
  "duration_minutes": 30,
  "timezone": "Europe/Stockholm",
  "from": "2026-11-10T00:00:00.000Z",
  "to": "2026-11-17T00:00:00.000Z",
  "slots": [
    {
      "start": "2026-11-12T09:00:00.000Z",
      "end": "2026-11-12T09:30:00.000Z",
      "host_ids": [
        "0b6f8a52-8d9e-4c1a-b7f3-5e2d9c4a1b00"
      ]
    }
  ],
  "truncated": false
}

Authorizations

Authorizationstringheaderrequired

Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope meetings:read. API keys and scopes

Query parameters

meeting_type_idstring (uuid)query

An id (UUID).

host_idstring (uuid)query

An id (UUID).

fromstring (date-time)query
tostring (date-time)query
limitintegerquery

Response

200application/json— Free times

object"availability"required
meeting_type_idstring (uuid)required

An id (UUID).

duration_minutesnumberrequired
timezonestringrequired

The booking page's time zone (slots themselves are UTC).

fromstringrequired

RFC 3339 UTC timestamp with milliseconds.

tostringrequired

RFC 3339 UTC timestamp with milliseconds.

slotsobject[]required
Show child attributes
slots[].startstringrequired

RFC 3339 UTC timestamp with milliseconds.

slots[].endstringrequired

RFC 3339 UTC timestamp with milliseconds.

slots[].host_idsstring (uuid)[]required
truncatedbooleanrequired

More free times exist than were returned — narrow the range.

Errors

Errors are application/problem+json with a stable code.

StatusCodeMeaning
400bad_requestThe request couldn't be read.
400unknown_fieldThe request has a field this operation doesn't know.
401unauthorizedA valid API key is required.
403insufficient_scopeThis API key doesn't have the scope this operation needs.
403feature_not_enabledThe API isn't switched on for this workspace.
404not_foundThat doesn't exist.
409conflictThat conflicts with the current state.
422validation_failedThe request has invalid fields.
429rate_limitedToo many requests. Slow down and try again.
500server_errorSomething went wrong on our side.
503unavailableThe API isn't available right now. Try again shortly.