---
title: "Update a product section"
method: PATCH
path: "/api/products/{productId}/sections/{sectionId}"
tags: ["Product Content"]
---

# Update a product section

`PATCH /api/products/{productId}/sections/{sectionId}`

## Path parameters

- `productId` string, required
- `sectionId` string, required

## Request body

- SectionUpdateRequest — Payload for updating a section. Supports updating `name` and scheduled release (`drip`) settings.
  - `name` string
  - `drip` SectionDripInput
    - `type` 'relative-date' | 'exact-date'
    - `status` boolean
    - `delayInMillis` number — Delay in milliseconds for `relative-date` drip. The input accepts a number interpreted as days (e.g. 3 = three days), but the value is persisted in millisecond equivalent (e.g. 259200000). The endpoint output always returns the stored millisecond value.
    - `dateInUTC` number — UNIX timestamp in milliseconds for `exact-date` drip. Both input and output use millisecond precision.

## Response `200`

Success.

- Section
  - `sectionId` string
  - `name` string
  - `rank` number
  - `collapsed` boolean
  - `drip` SectionDrip
    - `type` 'relative-date' | 'exact-date'
    - `status` boolean
    - `delayInMillis` number — Delay in milliseconds for `relative-date` drip. The input accepts a number interpreted as days (e.g. 3 = three days), but the value is persisted in millisecond equivalent (e.g. 259200000). The endpoint output always returns the stored millisecond value.
    - `dateInUTC` number — UNIX timestamp in milliseconds for `exact-date` drip. Both input and output use millisecond precision.
  - `lessonsOrder` string[]

## Other responses

- `400` — Unsupported section field or invalid drip configuration.
- `422` — Section could not be updated.

---

[API](https://skmtc.net/codelitdev/apis/courselit-rest-api.md) · [All operations](https://skmtc.net/codelitdev/apis/courselit-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/codelitdev/courselit-rest-api/versions/3b48f60910dc/schema)
