Docs
Meetings

Your booking page

GEThttps://api.norreach.app/v1/booking-pages

The workspace's booking page (a workspace has one): its address, whether it's live, its time zone and whether bookings made for a contact (by Nora or through the API) wait for a person's yes. Empty when scheduling isn't set up.

meetings:readOperation id: list_booking_pages
GET/booking-pages
curl -X GET "https://api.norreach.app/v1/booking-pages" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
Your booking page
{
  "object": "list",
  "data": [
    {
      "id": "5c3e2a10-9b8d-4f6e-a1c2-3d4e5f6a7b8c",
      "object": "booking_page",
      "mode": "norreach",
      "slug": "acme",
      "url": "https://www.norreach.app/book/acme",
      "live": true,
      "headline": "Let's talk",
      "intro": null,
      "timezone": "Europe/Stockholm",
      "default_meeting_type_id": "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",
      "assisted_bookings_need_approval": true,
      "updated_at": "2026-11-01T08:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

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

Response

200application/json— Your booking page

object"list"required
dataobject[]required
Show child attributes
data[].idstring (uuid)required

The workspace's id (a workspace has one booking page).

data[].object"booking_page"required
data[].modeenumrequired

norreach: our booking page; external: a link of your own; none: not set up.

One of:norreachexternalnone
data[].slugstring | nullrequired
data[].urlstring | nullrequired

The public page (or your own link in external mode).

data[].livebooleanrequired
data[].headlinestring | nullrequired
data[].introstring | nullrequired
data[].timezonestring | nullrequired
data[].default_meeting_type_idstring (uuid) | nullrequired
data[].assisted_bookings_need_approvalbooleanrequired

Bookings made for a contact (by Nora or through the API) wait for a person's yes.

data[].updated_atstring | nullrequired
has_morebooleanrequired
next_cursorstring | nullrequired

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.
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.