---
title: "List Treatments"
method: GET
path: "/api/2026-01-01/treatments"
tags: ["Treatments"]
---

# List Treatments

`GET /api/2026-01-01/treatments`

## Request

- Base URL: `https://jdpdocsdemo.jane.qa`
- URL: `https://jdpdocsdemo.jane.qa/api/2026-01-01/treatments`
- Auth: OAuth 2
  - Authorization code: `https://login.id.janeapp.com/realms/jane_partner_sandbox/protocol/openid-connect/auth?response_type=code&resource=https://jdpdocsdemo.jane.qa&prompt=consent`
  - Token URL: `https://login.id.janeapp.com/realms/jane_partner_sandbox/protocol/openid-connect/token` scopes: `treatments:read`

Returns a list of treatments with pagination support.

Filtering:
Filter records by field values using the format: field[operator]=value

Available fields:
- `public_id`: string
- `staff_member_ids`: UUID string — returns treatments owned by or offered by the staff member (via available treatments)
- `created_at`: ISO 8601 datetime (e.g. 2025-01-01T12:00:00Z)
- `updated_at`: ISO 8601 datetime

Available operators:
- `eq`: Equals
- `gt`: Greater than
- `gte`: Greater than or equal
- `lt`: Less than
- `lte`: Less than or equal

Operator restrictions:
- `public_id` and `staff_member_ids` only support `eq`
- `created_at` and `updated_at` support all operators above

Date-time filters (ex. `created_at`, `updated_at`) must:
- Use [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format
- Be **precise to the second** (e.g. `2025-01-01T12:00:00Z`)

Examples:
```
/treatments?public_id[eq]=abc123
/treatments?created_at[gte]=2025-01-01T00:00:00Z&created_at[lt]=2025-01-02T00:00:00Z
```

## Query parameters

- `page[cursor]` string
- `page[limit]` integer
- `sort` string
- `public_id` IdFilterSchema
  - `eq` string: equals. Multiple equal values are comma-separated: ?field[eq]=value1,value2 (maximum 100 values)
- `staff_member_ids` IdFilterSchema
  - `eq` string: equals. Multiple equal values are comma-separated: ?field[eq]=value1,value2 (maximum 100 values)
- `created_at` DateTimeFilterSchema
  - `eq` string, date-time: equals. Multiple equal values are comma-separated: ?field[eq]=value1,value2
  - `ne` string, date-time: not equals
  - `gt` string, date-time: greater than
  - `gte` string, date-time: greater than or equal to
  - `lt` string, date-time: less than
  - `lte` string, date-time: less than or equal to
- `updated_at` DateTimeFilterSchema
  - `eq` string, date-time: equals. Multiple equal values are comma-separated: ?field[eq]=value1,value2
  - `ne` string, date-time: not equals
  - `gt` string, date-time: greater than
  - `gte` string, date-time: greater than or equal to
  - `lt` string, date-time: less than
  - `lte` string, date-time: less than or equal to

## Response `200`

Treatments retrieved successfully

- TreatmentsResponse: Response for a list of treatments
  - `items` Treatment[]: List of treatments
    - `id` string, uuid: The unique identifier for the treatment
    - `name` string: The name of the treatment
    - `description` string, nullable: A description of the treatment
    - `treatment_duration` integer: The duration of the treatment in seconds
    - `scheduled_duration` integer: The scheduled duration of the treatment in seconds, may include buffer time
    - `price` number, float: The price of the treatment
    - `display_price` boolean: Whether the price is displayed to customers
    - `capacity` integer: The maximum number of patients that can be booked for this treatment
    - `booking_type` 'one_on_one_booking' | 'class_booking' | 'group_booking': The type of booking
    - `booking_info` string, nullable: Additional information about booking this treatment
    - `discipline_id` string, uuid, nullable: The public ID of the discipline associated with this treatment
    - `online_only` boolean: Whether this treatment is offered online only
    - `book_online` boolean: Whether this treatment can be booked online
    - `display_treatment_duration` boolean: Whether the treatment duration is displayed to customers
    - `price_includes_tax` boolean: Whether the price includes tax
    - `color` 'jane-blue' | 'butter' | 'lavender' | 'tangerine' | 'dusk' | 'moss' | 'lilac' | 'flamingo' | 'mint' | 'mauve': The treatment's display color, as a human-readable slug from a fixed palette of 10 values. Hex values for rendering: jane-blue: #00c1ca | butter: #efd59a | lavender: #c4c4d6 | tangerine: #f1b37a | dusk: #8eb8c9 | moss: #8ea785 | lilac: #d1a6c5 | flamingo: #e8a2b6 | mint: #a5d7c5 | mauve: #c38f92
  - `cursor` string, nullable: The Base64 encoded cursor for the next page. null if this is the last page.
  - `limit` integer: Number of items per page
  - `links` object: Links for pagination
    - `after` string, nullable: URL for the next page of results. null if this is the last page.
  - `hasNextPage` boolean: Whether there is a next page of treatments

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `429`: Rate limit exceeded - 100 requests per minute per endpoint per clinic
- `500`: Internal server error

## Changes

- **2026-11-03** `01798f613a5e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/jane/apis/jdp-api/changes/api/2026-01-01/treatments/get.md)

---

[API](https://skmtc.dev/jane/apis/jdp-api.md) - [All operations](https://skmtc.dev/jane/apis/jdp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jane/apis/jdp-api/revisions/01798f613a5e?raw)
