---
title: "Create new layouts."
method: POST
path: "/authoring/v1/layouts"
tags: ["Authoring layouts"]
---

# Create new layouts.

`POST /authoring/v1/layouts`

Use the /layouts end-point to create a new layout.<br />User roles: admin, manager

## Request body

- object — A new layout.
  - `name` string, required — The name of the layout.
  - `description` string — The description of the layout.
  - `classification` 'layout' — Indicates the type of this document.
  - `created` string, date-time — Optional creation date of this layout in ISO 8601 with the format YYYY-MM-DDThh:mm:ss.sssZ. Value is ignored if set in the future.
  - `path` string — Optional path to associate with the layout. Must be unique. Will default to filesystem friendly version of /[NAME].
  - `prerender` boolean — Indicates if the layout should be prerendered.
  - `tags` string[]
  - `thumbnail` object — The reference to the asset that should act as the thumbnail of this layout. The thumbnail can be referred to by either id or path.
    - `id` string — The ID of the asset.
    - `path` string — The path of the asset.
  - `template` string, required
  - `templateType` 'handlebars' | 'angular' — Specifies the type of template associated with this layout. This field is required when prerender field is set to true.
  - `urlTemplate` string — Specifies the pattern for url generation.
  - `isSystem` boolean — Indicates whether this item is a 'system item' or not.

## Response `201`

Success.

- object — An existing layout.
  - `id` string — The ID of the layout.
  - `rev` string, required — The current revision of the layout.
  - `name` string, required — The name of the layout.
  - `description` string — The description of the layout.
  - `classification` 'layout' — Indicates the type of this document.
  - `creatorId` string — The ID of the user that created the layout.
  - `creator` string — The display name of the user that created the layout. This field is only returned when the 'include' query string option is set to 'ALL' or 'metadata'. This field is read only.
  - `created` string, date-time — The created date of this layout in ISO 8601 with the format YYYY-MM-DDThh:mm:ss.sssZ. This field is read only.
  - `lastModifierId` string — The ID of the user that last modified the layout.
  - `lastModifier` string — The display name of the last user that modified the layout. This field is only returned when the 'include' query string option is set to 'ALL' or 'metadata'. This field is read only.
  - `lastModified` string, date-time — The last modified date of this layout in ISO 8601 with the format YYYY-MM-DDThh:mm:ss.sssZ. This field is read only.
  - `path` string — Optional path to associate with the layout. Must be unique. Will default to filesystem friendly version of /[NAME].
  - `prerender` boolean — Indicates if the layout should be prerendered.
  - `tags` string[]
  - `thumbnail` object — The reference to the asset that should act as the thumbnail of this layout. The thumbnail can be referred to by either id or path.
    - `id` string — The ID of the asset.
    - `path` string — The path of the asset. This field is only returned when the 'include' query string option is set to 'ALL' or 'metadata'. This field is read only.
    - `url` string — The URL of the asset. This field is only returned when the 'include' query string option is set to 'ALL' or 'metadata'. This field is read only.
  - `template` string, required
  - `templateType` 'handlebars' | 'angular' — Specifies the type of template associated with this layout. This field is required when prerender field is set to true.
  - `urlTemplate` string — Specifies the pattern for url generation.
  - `isSystem` boolean — Indicates whether this item is a 'system item' or not.

## Other responses

- `400` — Empty body or Invalid input.
- `403` — The operation is not available based on the current tenant's tier.
- `404` — Current tenant's database is not provisioned.
- `409` — Layout with the same path exists.
- `429` — Too Many Requests, the server has reached a limit, the request must be sent again at a later time.
- `500` — 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)
