---
title: "Schedule a class session; repeat_weeks repeats it weekly at the same local time"
method: POST
path: "/sessions"
tags: ["sessions"]
---

# Schedule a class session; repeat_weeks repeats it weekly at the same local time

`POST /sessions`

## Request

- Base URL: `https://daybag.io/api/v1`
- URL: `https://daybag.io/api/v1/sessions`
- Auth: HTTP bearer

## Request body

- object
  - `offering_id` string, uuid, required
  - `starts_at` string, required: ISO 8601 instant, e.g. 2026-10-03T15:00:00Z
  - `ends_at` string: When it ends, each weekly repeat as long; without it, the class's length after starts_at
  - `repeat_weeks` integer
  - `capacity` integer, nullable: Override the class's seats
  - `teacher` string, uuid, nullable: Who teaches it: a member's user id (Settings → Team); null for nobody. Anyone not on your team answers 400 not_a_member

## Response `201`

Success

- object
  - `data` object[], required
    - `id` string, required
    - `org_id` string, required
    - `offering_id` string, required
    - `starts_at` string, required: ISO 8601 timestamp (UTC)
    - `ends_at` string, required: ISO 8601 timestamp (UTC)
    - `capacity` integer, nullable, required: Seats for this session; null means the class's capacity
    - `status` 'scheduled' | 'cancelled', required
    - `series_id` string, nullable: The calendar entry it's a time of; null when scheduled on its own
    - `occurs_on` string, nullable: Its entry's local date for it
    - `teacher` object, nullable: Who teaches it; null for nobody
      - `user_id` string, required
      - `name` string, required: Their name, or their email's local part until they set one
    - `created_at` string, required: ISO 8601 timestamp (UTC)

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/daybag/apis/daybooked-io-api.md) · [All operations](https://skmtc.dev/daybag/apis/daybooked-io-api/llms.txt) · [OpenAPI document](https://skmtc.dev/daybag/apis/daybooked-io-api/revisions/1f576dead370?raw)
