# Event series management ## `POST /api/event-series` **Create an event series** Creates a repeating series and materializes its occurrences immediately. An officer must be signed in. **Request body** Model: {ref}`EventSeriesCreate ` | Field | Type | Required | Description | |---|---|---|---| | `kind` | {ref}`EventKind ` | yes | | | `title` | string | yes | | | `location` | string | no | | | `size` | integer \| null | no | | | `ep_override` | integer \| null | no | Overrides the kind's default EP (effort points) award for occurrences. None uses the preset. | | `notes` | string \| null | no | | | `weekdays` | array of integer | yes | | | `interval_weeks` | integer | no | | | `start_time` | string | yes | | | `timezone` | string | yes | | | `duration_minutes` | integer \| null | no | | | `starts_on` | string (date) | yes | | | `until` | string (date) \| null | no | | **Response `201` — The newly created series.** Model: {ref}`EventSeriesSummary ` | Field | Type | Required | Description | |---|---|---|---| | `id` | string (uuid) | yes | | | `kind` | {ref}`EventKind ` | yes | | | `title` | string | yes | | | `location` | string | yes | | | `size` | integer \| null | yes | | | `ep` | integer | yes | Effort points (EP, shown as Renown on the site) that attending awards. | | `ep_override` | integer \| null | yes | The officer-set EP value behind ep. None means the event's kind sets the preset. | | `notes` | string \| null | yes | | | `rule` | {ref}`SeriesRule ` | yes | | | `active` | boolean | yes | | | `next_starts_at` | string (date-time) \| null | yes | | ## `DELETE /api/event-series/{series_id}` **End an event series** Ends a series. An officer must be signed in. Keeps past occurrences, deletes or cancels future ones, then deletes the series. **Parameters** | Name | In | Type | Required | Description | |---|---|---|---|---| | `series_id` | path | string (uuid) | yes | The event series' ID. | **Response `204`** — The series was ended. ## `PATCH /api/event-series/{series_id}` **Edit an event series** Edits a series' content or schedule. An officer must be signed in. Retimes or retires affected future occurrences, then materializes new ones. **Parameters** | Name | In | Type | Required | Description | |---|---|---|---|---| | `series_id` | path | string (uuid) | yes | The event series' ID. | **Request body** Model: {ref}`EventSeriesUpdate ` | Field | Type | Required | Description | |---|---|---|---| | `kind` | {ref}`EventKind ` \| null | no | | | `title` | string \| null | no | | | `location` | string \| null | no | | | `size` | integer \| null | no | | | `ep_override` | integer \| null | no | Overrides the kind's default EP (effort points) award for occurrences. None uses the preset. | | `notes` | string \| null | no | | | `weekdays` | array of integer \| null | no | | | `interval_weeks` | integer \| null | no | | | `start_time` | string \| null | no | | | `timezone` | string \| null | no | | | `duration_minutes` | integer \| null | no | | | `starts_on` | string (date) \| null | no | | | `until` | string (date) \| null | no | | **Response `200` — The updated series.** Model: {ref}`EventSeriesSummary ` | Field | Type | Required | Description | |---|---|---|---| | `id` | string (uuid) | yes | | | `kind` | {ref}`EventKind ` | yes | | | `title` | string | yes | | | `location` | string | yes | | | `size` | integer \| null | yes | | | `ep` | integer | yes | Effort points (EP, shown as Renown on the site) that attending awards. | | `ep_override` | integer \| null | yes | The officer-set EP value behind ep. None means the event's kind sets the preset. | | `notes` | string \| null | yes | | | `rule` | {ref}`SeriesRule ` | yes | | | `active` | boolean | yes | | | `next_starts_at` | string (date-time) \| null | yes | |