Getting started

Make your first request to the Plek API in five minutes, with a test key or an API key of your organisation.

Plek is booking software for organisations that run classes, courses, workshops and venue hire. Everything the admin app and the booking site do goes through one REST API at https://api.plekbooking.com, and that API is open to you.

Which API do you need?

You want to… Use Authentication
Sync bookings to a CRM, export customers, create sessions from your planning tool Staff API /api/org/{organisation_id}/… An API key of the organisation
Show the agenda on your own website, build your own booking flow Public booking API /api/public/{org_slug}/… None
Build an app where customers see and manage their own bookings Customer API /api/customer/{org_slug}/… The customer's own sign-in
React the moment something happens Webhooks Signed with a secret
Put the booking flow on a website without code Widgets None
Ask questions about your planning in Claude or ChatGPT The MCP server Your own staff sign-in

1. Get a key

To try things out, staff of an organisation on Plek get a test key in one click: Get a test key. Sign in to the admin app, pick the organisation and read-only or read and write. The key does no more than your own role allows, stops working after an hour, and stays in this browser tab. The API reference fills it in for you, so every "Test request" button works right away.

For an integration, an Admin creates an API key in the admin app under Settings > API & webhooks. Give the key a role with only what it needs, for example a role that can only read bookings. The key is shown once; Plek keeps only a hash of it. See Authentication.

2. Find your organisation id

Staff routes start with /api/org/{organisation_id}. A test key brings its organisation id along. Otherwise ask for it with any staff route the key may read, or look it up in the admin app's address bar after you sign in.

3. Make a request

List the sessions of the coming week:

curl "https://api.plekbooking.com/api/org/$ORGANISATION_ID/sessions?startDate=2026-11-02&endDate=2026-11-08" \
  -H "X-Api-Key: $PLEK_API_KEY"
{
  "sessions": [
    {
      "id": "6f0d1c4e-…",
      "activityId": "1b9e7f2a-…",
      "startTime": "2026-11-02T17:30:00+00:00",
      "endTime": "2026-11-02T18:30:00+00:00",
      "capacity": 12,
      "bookedCount": 9,
      "availableSpots": 3,
      "price": { "amount": 1500, "currency": "EUR", "formatted": "€15.00" },
      "status": "scheduled"
    }
  ],
  "pagination": { "total": 14, "per_page": 20, "current_page": 1, "total_pages": 1, "has_more": false }
}

Amounts are integers in cents with their currency: 1500 EUR is €15.00. Read Conventions before you build on the responses.

The public booking API needs no key at all:

curl "https://api.plekbooking.com/api/public/demo/activities"

4. Go further