---
title: "Reorder practitioners for a site"
method: PUT
path: "/shop/practitioners/order"
tags: ["Practitioners"]
---

# Reorder practitioners for a site

`PUT /shop/practitioners/order`

Reorders the practitioners at a site in one request. The order of
`practitioner_ids` in the body determines each practitioner's
`order` field (first ID → `order: 0`, second → `order: 1`, etc.).
IDs not listed are unaffected and keep their existing `order`.

Returns the full ordered list (same shape as the GET response) so
callers can re-render without a follow-up fetch.

Requires the `SETTINGS_MANAGE` permission on the site.

## Request body

- object
  - `site_id` string, uuid, required — ID of the site whose practitioners are being reordered. All `practitioner_ids` must belong to this site.
  - `practitioner_ids` string[], required — Practitioner IDs in the desired display order. Index in the array becomes the practitioner's `order` field.

## Response `200`

The reordered list of practitioners.

- object
  - `data` PractitionerSummary[], required — Practitioner summaries in the newly-applied display order.
    - `id` string, object-id, required — The ID of the practitioner.
    - `name` string, required — The full name of the practitioner.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `422` — The request didn't pass validation

---

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