---
title: "✨ Save one page of a module"
method: PATCH
path: "/api/learning-resources/{id}/modules/{module_id}/pages/{page_id}/"
tags: ["Learning Resources"]
---

# ✨ Save one page of a module

`PATCH /api/learning-resources/{id}/modules/{module_id}/pages/{page_id}/`

<Card href="https://humansignal.com/goenterprise">
        <img style="pointer-events: none; margin-left: 0px; margin-right: 0px;" src="https://docs.humansignal.com/images/badge.svg" alt="Label Studio Enterprise badge"/>
        <p style="margin-top: 10px; font-size: 14px;">
            This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
        </p>
    </Card>
Replace only the supplied keys of a single page. Rejects a write to a page another author holds the editing lock on with 409 `page_in_use`, a stale `page_version` with 409 `page_version_conflict`, and a page that moved to another module with 410 `page_moved`.

## Path parameters

- `id` integer, required
- `module_id` string, required
- `page_id` string, required

## Request body

- PatchedCoursePageUpdateRequest — Page-scoped content save: only the supplied keys are replaced.
  - `blocks` unknown[]
    - unknown
  - `page_version` integer
  - `summary` string
  - `title` string

## Response `200`

- CoursePageSaveResponse
  - `page_version` integer, required
  - `structure_version` integer, required

## Changes

> 98 revisions in range; 1 not diffed.

- **2026-07-30** `f9a9bd031364` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/humansignal/apis/label-studio-api/changes/api/learning-resources/:id/modules/:module_id/pages/:page_id/patch.md)

---

[API](https://skmtc.dev/humansignal/apis/label-studio-api.md) · [All operations](https://skmtc.dev/humansignal/apis/label-studio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/humansignal/label-studio-api/revisions/cbc94e6444bb/schema)
