---
title: "Create or update a custom page"
method: POST
path: "/CustomPages"
tags: ["Custompages"]
---

# Create or update a custom page

`POST /CustomPages`

**Requires permission:** *StaffMember*

Upserts the page metadata, replaces its access levels and its block set.

## Query parameters

- `page` integer, required
- `pageSize` integer, required
- `includes` string[], nullable
- `sort` string, nullable
- `filter` string, nullable

## Request body

- UpsertCustomPageRequest
  - `id` string, nullable
  - `title` string, nullable
  - `description` string, nullable
  - `type` string, nullable
  - `customUrl` string, nullable
  - `published` boolean
  - `useCard` boolean
  - `completionDescription` string, nullable
  - `accessLevels` CustomPageAccessLevel[]
    - `id` string, nullable
    - `parentId` string, nullable
    - `identifier` string, nullable
    - `type` string, nullable
    - `level` string, nullable
    - `name` string, nullable
  - `blocks` CustomPageBlock[]
    - `id` string, nullable
    - `pageId` string, nullable
    - `order` integer, nullable
    - `type` integer
    - `attributes` string, nullable
    - `parameters` string, nullable

## Response `204`

Success - Saved

## Other responses

- `400` — An Error Occurred - Explain Error
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/tonbridge/apis/tonbridge-app-api.md) · [All operations](https://skmtc.net/tonbridge/apis/tonbridge-app-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tonbridge/tonbridge-app-api/versions/fab57bf5558a/schema)
