---
title: "Update a chapter"
method: PUT
path: "/chapter/{chapter_slug}"
tags: ["Chapters"]
---

# Update a chapter

`PUT /chapter/{chapter_slug}`

Updates the chapter identified by the specified slug.

## Headers

- `Accept` 'application/vnd.Creative Force.v2.3+json' | 'application/vnd.Creative Force.v2.3+xml', required
- `x-api-language` string[]

## Request body

- object
  - `status` 'active' | 'inactive' — One of the following values.
  - `translated` object — Translated chapter field values keyed by field name.
    - `name` object — Values keyed by existing and enabled language code.
    - `image_heading` object — Values keyed by existing and enabled language code.
  - `max_image_width` integer — Maximum image width.
  - `managers` string[] — Array of user slugs for chapter managers.

## Response `200`

Chapter updated.

- Chapter — Grouping that categories can be made available in. Includes its translated name and description, the season it belongs to, and the users who manage it. Use chapters to partition a program — for example by region or division — and delegate day-to-day management to chapter managers.
  - `created` string, date-time — Date and time when the chapter was created.
  - `description` object — Description shown for the chapter. Map keyed by locale code (for example, `en_GB` or `fr_FR`). Keys are drawn from the languages enabled on the account. Values are the translated string.
  - `managers` object[] — Users who manage the chapter.
    - `slug` string — Short URL-safe identifier for the user.
    - `link` string, uri — Canonical URL for the user resource.
    - `first_name` string — User's first name.
    - `last_name` string — User's last name.
  - `name` object — Display name of the chapter. Map keyed by locale code (for example, `en_GB` or `fr_FR`). Keys are drawn from the languages enabled on the account. Values are the translated string.
  - `season` object — Season the chapter belongs to.
    - `slug` string — Short URL-safe identifier for the season.
    - `link` string, uri — Canonical URL for the season resource.
    - `name` object — Map keyed by locale code (for example, `en_GB` or `fr_FR`). Keys are drawn from the languages enabled on the account. Values are the translated string.
  - `slug` string — Short URL-safe identifier for the chapter.
  - `status` string — Localized status label for the chapter, such as `Active` or `Inactive`, rendered according to the request's `X-Api-Language`. This is the response form and differs from the value used when creating or updating a chapter, which is the `active` or `inactive` enum.
  - `updated` string, date-time — Date and time when the chapter was last updated.

## Other responses

- `400` — Request was rejected before the endpoint could process it. Common causes: invalid `Accept` header, unsupported `x-api-language` code, empty request body on `POST` / `PUT`, invalid JSON in the request body, or an invalid slug format in a path parameter.
- `401` — Missing `x-api-key` header.
- `403` — Authenticated request denied. Common causes: invalid or unknown API key, suspended account, or `api` feature not enabled for the account.
- `404` — Resource identified by the path slug does not exist. Returned when the slug is well-formed but no record matches it.
- `422` — Request was syntactically valid but could not be processed. Returned in two scenarios: - **Field-level validation failure** — one or more request fields violated the endpoint's validation rules. The body includes an `errors` map keyed by field name with one or more validation messages each. - **Resource-state precondition failure** — the request fields were all valid, but the target resource was in a state that does not permit the requested operation. The body carries only `message` and `status_code`; no `errors` map.
- `429` — Rate limit of 60 requests per minute exceeded.
- `503` — Service is temporarily unavailable due to regional maintenance.

## Changes

- **2026-07-07** (v2) `9b9103538ceb` — 2 info
  - api tag `Chapters` added
  - api tag `Chapter` removed
- **2026-07-01** (v2) `e96a96d4507e` — 8 info
  - added the media type `application/xml` for the response with the status `200`
  - added the media type `application/xml` for the response with the status `400`
  - added the media type `application/xml` for the response with the status `401`
  - added the media type `application/xml` for the response with the status `403`
  - …4 more

[Change history](https://skmtc.dev/tectonic/apis/award-force-api/changes/chapter/:chapter_slug/put.md)

---

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