---
title: "Create a provider scheduling group"
method: POST
path: "/providerSchedulingGroups"
tags: ["providerSchedulingGroups"]
---

# Create a provider scheduling group

`POST /providerSchedulingGroups`

## Request body

- ProviderSchedulingGroupRequestCreate
  - `_id` string — Luma's internal ID of an object.
  - `user` string — The ID of the root account user.
  - `deleted` 0 | 1 — Flag for logical deletion where 1 means deleted.
  - `createdBy` string — The ID of the user who created this object.
  - `updatedBy` string — The ID of the user who updated this object.
  - `createdAt` string, date-time — The date/time when this object was created.
  - `updatedAt` string, date-time — The date/time when this object was updated.
  - `name` string, required — Name of the provider scheduling group.
  - `groupType` 'structured' | 'parallel', required — The scheduling behavior used to assign appointments across the group's members.
  - `members` object[], required — Members of the scheduling group and their priority tier. Each provider may only appear once in the array.
    - `provider` string, required — ID of a provider.
    - `tier` integer — Priority tier for this provider within the group. Lower tiers are prioritized first.
  - `active` boolean — Indicates whether this group is active and should be used by scheduling logic.

## Response `201`

Successful creation

- ProviderSchedulingGroupResponse — Represents a group of providers configured for shared scheduling behavior, such as round-robin or waterfall assignment of appointments. Each group has a type (structured or parallel) and a list of member providers, each assigned a tier that determines priority within the group. Groups can be toggled active or inactive without being deleted, and are typically referenced by scheduling logic to determine which provider should receive a given appointment.
  - `_id` string — Luma's internal ID of an object.
  - `user` string — The ID of the root account user.
  - `deleted` 0 | 1 — Flag for logical deletion where 1 means deleted.
  - `createdBy` string — The ID of the user who created this object.
  - `updatedBy` string — The ID of the user who updated this object.
  - `createdAt` string, date-time — The date/time when this object was created.
  - `updatedAt` string, date-time — The date/time when this object was updated.
  - `name` string — Name of the provider scheduling group.
  - `groupType` 'structured' | 'parallel' — The scheduling behavior used to assign appointments across the group's members.
  - `members` object[] — Members of the scheduling group and their priority tier. Each provider may only appear once in the array.
    - `provider` string, required — ID of a provider.
    - `tier` integer — Priority tier for this provider within the group. Lower tiers are prioritized first.
  - `active` boolean — Indicates whether this group is active and should be used by scheduling logic.

## Other responses

- `401` — Not authenticated
- `403` — Access token does not have the required scope

---

[API](https://skmtc.net/lumahealth/apis/rest-service.md) · [All operations](https://skmtc.net/lumahealth/apis/rest-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lumahealth/rest-service/revisions/d3c75c2a2f1d/schema)
