---
title: "Search for free slots"
method: GET
path: "/free-slots"
tags: ["free-slots"]
---

# Search for free slots

`GET /free-slots`

Search for bookable free slots for one or more practitioners at a location, for a given single patient service.

## Query parameters

- `serviceId` integer, required — The id of the service to search free slots for
- `locationId` integer, required — The id of the location to search free slots at
- `practitionerIds` integer[], required
- `from` union, required — Start of the search window (UTC)
  - string
  - string
- `to` union — End of the search window (UTC), up to 7 days after `from`
  - string
  - string
- `interval` number — Slot step in minutes

## Response `200`

An array of free slots per practitioner

- object
  - `data` object[], required
    - `practitionerId` integer, required
    - `slots` object[], required
      - `start` string, required — Slot start (UTC ISO datetime)
      - `end` string, required — Slot end (UTC ISO datetime)

## Other responses

- `400` — Invalid query — e.g. `to` before `from`, date range exceeds 7 days, or `interval` not one of: 5, 10, 15, 20, 30, 45, 60, 75, 90

---

[API](https://skmtc.dev/splose/apis/splose-public-api.md) · [All operations](https://skmtc.dev/splose/apis/splose-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/splose/splose-public-api/revisions/648d60075f00/schema)
