---
title: "Create a page."
method: POST
path: "/authoring/v1/sites/{site-id}/pages"
tags: ["Authoring sites"]
---

# Create a page.

`POST /authoring/v1/sites/{site-id}/pages`

Use this endpoint to create a page in a specified site. The body of the request should contain the metadata for the new page.
This metadata should include the page 'name', optional 'position' relative to its peers and the 'contentId' or 'contentTypeId'.
Specify 'contentId' to associate an existing content item with the page or specify 'contentTypeId' to create an empty content item using the specified content type.
The 'position' field is optional, value is an integer value starting at 0. If not set position is set to the last sibling position.
The 'layoutId' field is also optional. If not set the selected layout for the new content item will be the default layout mapped to the specified content type.
If the 'layoutId' field is specified it must be the ID of an existing layout. If the specified layout is not mapped to the content type then the default layout mapped to the content type will be used instead.
<br />User roles: admin, manager

## Path parameters

- `site-id` string, uuid, required

## Query parameters

- `cloneContentId` string
- `copySourcePageId` string

## Request body

- object — Creation of Page Metadata
  - `name` string — The name of the page.
  - `contentId` string — (Optional) The ID of the page content item to be associated with the new page. Specify this field when the new page is to be associated with an existing page content item.
  - `contentTypeId` string — (Optional) The ID of the page content type to be used to create the new page content item for the new page. Specify this field when a page content item does not already exist.
  - `position` string — (Optional) The position of the page relative to its sibling pages. Position is an integer value starting at 0.
  - `description` string — Page description.
  - `layoutId` string — (Optional) Page layout template ID for the new page content item. If not specified the default layout mapped to the content type will be used.
  - `segment` string — Friendly URL segment.
  - `title` string — Page title.
  - `parentId` string — (Optional) The ID of the parent page. This should not be set if the new page is to be a root page. Otherwise, set this field to the ID of the parent page.
  - `hideFromNavigation` boolean — (Optional) This controls the visibility of the page in the site navigation menu. Set it to `true` to hide the page. The default setting (if this field is not supplied) is `false`. If to `true` set on a parent page, it will override the corresponding flags in all descendant pages. Therefore, hiding a page will hide all its descendants in the site navigation menu.

## Response `201`

succcess.

- object — Page Metadata
  - `id` string — The ID of the page item.
  - `rev` string — The current revision of the document.
  - `name` string — The name of the page item.
  - `contentId` string — The ID of the page content item this item represents.
  - `contentTypeId` string — The ID of the page content type.
  - `position` string — Position relative to sibling pages giving the order of the pages. Position is an integer value starting at 0.
  - `description` string — Page description.
  - `layoutId` string — Page layout template ID.
  - `segment` string — Friendly URL segment.
  - `title` string — Page title.
  - `parentId` string — Not present if root page otherwise id of parent page
  - `classification` string — This is always `page`
  - `lastModified` string — The last modified date of this page in ISO 8601 with the format YYYY-MM-DDTHH:mm:ss.sssZ. This field is read only.
  - `lastModifierId` string — This is the user id of the user that modified the page. This field is read only
  - `created` string — The creation date of this page in ISO 8601 with the format YYYY-MM-DDTHH:mm:ss.sssZ. This field is read only
  - `creatorId` string — This is the user id of the user that created the page. This field is read only.
  - `hideFromNavigation` boolean — This controls the visibility of the page in the site navigation menu. If set to `true` this page is hidden. If set to `true` on a parent page, it will override the corresponding flags in all descendant pages. Therefore, hiding a page will hide all its descendants in the site navigation menu.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `429` — Too Many Requests
- `default` — Unexpected error

---

[API](https://skmtc.net/goacoustic/apis/acoustic-content-api.md) · [All operations](https://skmtc.net/goacoustic/apis/acoustic-content-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/goacoustic/acoustic-content-api/revisions/677305266d89/schema)
