---
title: Page
description: Create and update static pages for an online store.
api_version: 2026-07
source_url:
  html: 'https://shopify.dev/docs/api/admin-rest/latest/resources/page'
  md: 'https://shopify.dev/docs/api/admin-rest/latest/resources/page.md'
api_name: admin-rest
api_type: rest
---

The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql). For details and migration steps, visit our [migration guide](https://shopify.dev/docs/apps/build/graphql/migrate).

# Page

**Requires \`content\` access scope.:**

In addition to an online storefront, Shopify stores come with a tool for creating basic HTML web pages. Store owners can create any number of pages to hold static content, such as an **About us** page, a **Contact us** page, or a page with customer testimonials.

These web pages are represented by the Page resource, and their HTML content is contained in the value of the `body_html` property. The Page resource lets you retrieve, create, update, and delete web pages for a store.

Pages are meant to be used for long-term, static content that rarely changes. For creating content on a regular basis, use the [Blog](https://shopify.dev/docs/admin-api/rest/reference/online-store/blog) resource instead.

\#

## Endpoints

* [post](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#post-pages)

  [/admin/api/latest/pages.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#post-pages)

  Creates a page

  [pageCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/pageCreate?example=creates-a-page)

* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#get-pages)

  [/admin/api/latest/pages.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#get-pages)

  Retrieves a list of pages

  [pages](https://shopify.dev/docs/api/admin-graphql/latest/queries/pages?example=retrieves-a-list-of-pages)

* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#get-pages-page-id)

  [/admin/api/latest/pages/{page\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#get-pages-page-id)

  Retrieves a single page by its ID

  [page](https://shopify.dev/docs/api/admin-graphql/latest/queries/page?example=retrieves-a-single-page-by-its-id)

* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#get-pages-count)

  [/admin/api/latest/pages/count.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#get-pages-count)

  Retrieves a page count

  [pagesCount](https://shopify.dev/docs/api/admin-graphql/latest/queries/pagesCount?example=retrieves-a-page-count)

* [put](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#put-pages-page-id)

  [/admin/api/latest/pages/{page\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#put-pages-page-id)

  Updates a page

  [pageUpdate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/pageUpdate?example=updates-a-page)

* [del](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#delete-pages-page-id)

  [/admin/api/latest/pages/{page\_​id}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/page.md#delete-pages-page-id)

  Deletes a page

  [pageDelete](https://shopify.dev/docs/api/admin-graphql/latest/mutations/pageDelete?example=deletes-a-page)

***

## The Page resource

### Properties

***

author

->[author](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page)

The name of the person who created the page.

***

body\_html

->[bodyHtml](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page)

The text content of the page, complete with HTML markup.

***

created\_at

**read-only**

->[createdAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.createdAt)

The date and time ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when the page was created.

***

handle

->[handle](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.handle)

A unique, human-friendly string for the page, generated automatically from its title. In themes, the Liquid templating language refers to a page by its handle.

***

id

**read-only**

->[id](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.id)

The unique numeric identifier for the page.

***

metafield

->[metafields](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.metafields)

Additional information attached to the Page object. It has the following properties:

* **key**: An identifier for the metafield. (maximum: 30 characters)
* **namespace**: A container for a set of metadata. Namespaces help distinguish between metadata created by different apps. (maximum: 20 characters)
* **value**: The information to be stored as metadata.
* **type**: The metafield's information type. Refer to the [full list of types](https://shopify.dev/apps/metafields/types).
* **description (optional)**: Additional information about the metafield.

For more information on attaching metadata to Shopify resources, see the [Metafield](https://shopify.dev/docs/admin-api/rest/reference/metafield) resource.

***

published\_at

->[publishedAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.publishedAt)

The date and time ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when the page was published. Returns `null` when the page is hidden.

***

shop\_id

**read-only**

**deprecated**

The ID of the shop to which the page belongs.

***

template\_suffix

->[templateSuffix](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.templateSuffix)

The suffix of the [template](https://shopify.dev/api/liquid/objects/template) that is used to render the page. If the value is an empty string or `null`, then the default page template is used.

***

title

->[title](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.title)

The title of the page.

***

updated\_at

**read-only**

->[updatedAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.updatedAt)

The date and time ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when the page was last updated.

***

admin\_graphql\_api\_id

**read-only**

->[id](https://shopify.dev/docs/api/admin-graphql/latest/objects/Page#field-Page.fields.id)

The GraphQL GID of the page.

***

{}

## The Page resource

```json
{
  "author": "Lydia",
  "body_html": "Contact us at <a href='mailto:contact@example.com'>contact@example.com</a>.",
  "created_at": "2008-07-15T20:00:00-04:00",
  "handle": "contact-us",
  "id": 131092082,
  "metafield": {
    "key": "new",
    "value": "new value",
    "type": "single_line_text_field",
    "namespace": "global"
  },
  "published_at": "2014-07-16T20:00:00-04:00",
  "shop_id": 548380009,
  "template_suffix": "contact",
  "title": "Contact us",
  "updated_at": "2008-07-16T20:00:00-04:00",
  "admin_graphql_api_id": "gid://shopify/OnlineStorePage/131092082"
}
```

***

## postCreates a page

[pageCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/pageCreate?example=creates-a-page)

Creates a page

### Parameters

***

api\_version

**string**

**required**

***

### Examples

### Create a page with HTML markup

### Request body

page​

**Page resource**

page.title:​"Warranty information"

->[title](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageCreateInput#fields-title)

The title of the page.

page.body\_​html:​"\<h2>Warranty\</h2>\n\<p>Returns accepted if we receive items \<strong>30 days after purchase\</strong>.\</p>"

->[body](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageCreateInput#fields-body)

The text content of the page, complete with HTML markup.

### Create a page with a metafield

### Request body

page​

**Page resource**

page.title:​"Warranty information"

->[title](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageCreateInput#fields-title)

The title of the page.

page.body\_​html:​"\<h2>Warranty\</h2>\n\<p>Returns accepted if we receive items \<strong>30 days after purchase\</strong>.\</p>"

->[body](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageCreateInput#fields-body)

The text content of the page, complete with HTML markup.

### Create an unpublished page

### Request body

page​

**Page resource**

page.title:​"Warranty information"

->[title](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageCreateInput#fields-title)

The title of the page.

page.body\_​html:​"\<h2>Warranty\</h2>\n\<p>Returns accepted if we receive items \<strong>30 days after purchase\</strong>.\</p>"

->[body](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageCreateInput#fields-body)

The text content of the page, complete with HTML markup.

### Creating a page without a title fails and returns an error

post

## /admin/api/2026-07/pages.​json

```bash
curl -d '{"page":{"title":"Warranty information","body_html":"<h2>Warranty</h2>\n<p>Returns accepted if we receive items <strong>30 days after purchase</strong>.</p>"}}' \
-X POST "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json" \
-H "X-Shopify-Access-Token: {access_token}" \
-H "Content-Type: application/json"
```

{}

## Response

JSON

```json
HTTP/1.1 201 Created
{
  "page": {
    "id": 1025371373,
    "title": "Warranty information",
    "shop_id": 548380009,
    "handle": "warranty-information",
    "body_html": "<h2>Warranty</h2>\n<p>Returns accepted if we receive items <strong>30 days after purchase</strong>.</p>",
    "author": "Shopify API",
    "created_at": "2026-07-01T12:19:21-04:00",
    "updated_at": "2026-07-01T12:19:21-04:00",
    "published_at": "2026-07-01T12:19:21-04:00",
    "template_suffix": null,
    "admin_graphql_api_id": "gid://shopify/Page/1025371373"
  }
}
```

### examples

* #### Create a page with HTML markup

  #####

  ```curl
  curl -d '{"page":{"title":"Warranty information","body_html":"<h2>Warranty</h2>\n<p>Returns accepted if we receive items <strong>30 days after purchase</strong>.</p>"}}' \
  -X POST "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

  #### response

  ```json
  HTTP/1.1 201 Created{"page":{"id":1025371373,"title":"Warranty information","shop_id":548380009,"handle":"warranty-information","body_html":"<h2>Warranty</h2>\n<p>Returns accepted if we receive items <strong>30 days after purchase</strong>.</p>","author":"Shopify API","created_at":"2026-07-01T12:19:21-04:00","updated_at":"2026-07-01T12:19:21-04:00","published_at":"2026-07-01T12:19:21-04:00","template_suffix":null,"admin_graphql_api_id":"gid://shopify/Page/1025371373"}}
  ```

* #### Create a page with a metafield

  #####

  ```curl
  curl -d '{"page":{"title":"Warranty information","body_html":"<h2>Warranty</h2>\n<p>Returns accepted if we receive items <strong>30 days after purchase</strong>.</p>","metafields":[{"key":"new","value":"new value","type":"single_line_text_field","namespace":"global"}]}}' \
  -X POST "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

* #### Create an unpublished page

  #####

  ```curl
  curl -d '{"page":{"title":"Warranty information","body_html":"<h2>Warranty</h2>\n<p>Returns accepted if we receive items <strong>30 days after purchase</strong>.</p>","published":false}}' \
  -X POST "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

* #### Creating a page without a title fails and returns an error

  #####

  ```curl
  curl -d '{"page":{"body":"foobar"}}' \
  -X POST "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

  #### response

  ```json
  HTTP/1.1 422 Unprocessable Entity{"errors":{"title":["can't be blank"]}}
  ```

***

## getRetrieves a list of pages

[pages](https://shopify.dev/docs/api/admin-graphql/latest/queries/pages?example=retrieves-a-list-of-pages)

Retrieve a list of all pages. **Note:** This endpoint implements pagination by using links that are provided in the response header. To learn more, refer to [Make paginated requests to the REST Admin API](https://shopify.dev/api/usage/pagination-rest).

### Parameters

***

api\_version

**string**

**required**

***

created\_at\_max

Show pages created before date (format: 2014-04-25T16:15:47-04:00).

***

created\_at\_min

Show pages created after date (format: 2014-04-25T16:15:47-04:00).

***

fields

Show only certain fields, specified by a comma-separated list of field names.

***

handle

Retrieve a page with a given handle.

***

limit

**≤ 250**

**default 50**

The maximum number of results to show.

***

published\_at\_max

Show pages published before date (format: 2014-04-25T16:15:47-04:00).

***

published\_at\_min

Show pages published after date (format: 2014-04-25T16:15:47-04:00).

***

published\_status

**default any**

Restrict results to pages with a given published status:

* **published**: Show only published pages.

* **unpublished**: Show only unpublished pages.

* **any**: Show published and unpublished pages.

***

since\_id

Restrict results to after the specified ID.

***

title

Retrieve pages with a given title.

***

updated\_at\_max

Show pages last updated before date (format: 2014-04-25T16:15:47-04:00).

***

updated\_at\_min

Show pages last updated after date (format: 2014-04-25T16:15:47-04:00).

***

### Examples

### Get all pages for a shop

### Retrieve a list of all pages after the specified ID

### Query parameters

since\_​id=​108828309

Restrict results to after the specified ID.

get

## /admin/api/2026-07/pages.​json

```bash
curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "pages": [
    {
      "id": 108828309,
      "title": "Sample Page",
      "shop_id": 548380009,
      "handle": "sample",
      "body_html": "<p>this is a <strong>sample</strong> page.</p>",
      "author": "Dennis",
      "created_at": "2008-07-15T20:00:00-04:00",
      "updated_at": "2008-07-16T20:00:00-04:00",
      "published_at": null,
      "template_suffix": null,
      "admin_graphql_api_id": "gid://shopify/Page/108828309"
    },
    {
      "id": 169524623,
      "title": "Store hours",
      "shop_id": 548380009,
      "handle": "store-hours",
      "body_html": "<p>We never close.</p>",
      "author": "Jobs",
      "created_at": "2013-12-31T19:00:00-05:00",
      "updated_at": "2013-12-31T19:00:00-05:00",
      "published_at": "2014-02-01T19:00:00-05:00",
      "template_suffix": null,
      "admin_graphql_api_id": "gid://shopify/Page/169524623"
    },
    {
      "id": 322471,
      "title": "Support",
      "shop_id": 548380009,
      "handle": "support",
      "body_html": "<p>Come in store for support.</p>",
      "author": "Dennis",
      "created_at": "2009-07-15T20:00:00-04:00",
      "updated_at": "2009-07-16T20:00:00-04:00",
      "published_at": null,
      "template_suffix": null,
      "admin_graphql_api_id": "gid://shopify/Page/322471"
    },
    {
      "id": 131092082,
      "title": "Terms of Services",
      "shop_id": 548380009,
      "handle": "tos",
      "body_html": "<p>We make <strong>perfect</strong> stuff, we don't need a warranty.</p>",
      "author": "Dennis",
      "created_at": "2008-07-15T20:00:00-04:00",
      "updated_at": "2008-07-16T20:00:00-04:00",
      "published_at": "2008-07-15T20:00:00-04:00",
      "template_suffix": null,
      "admin_graphql_api_id": "gid://shopify/Page/131092082"
    }
  ]
}
```

### examples

* #### Get all pages for a shop

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"pages":[{"id":108828309,"title":"Sample Page","shop_id":548380009,"handle":"sample","body_html":"<p>this is a <strong>sample</strong> page.</p>","author":"Dennis","created_at":"2008-07-15T20:00:00-04:00","updated_at":"2008-07-16T20:00:00-04:00","published_at":null,"template_suffix":null,"admin_graphql_api_id":"gid://shopify/Page/108828309"},{"id":169524623,"title":"Store hours","shop_id":548380009,"handle":"store-hours","body_html":"<p>We never close.</p>","author":"Jobs","created_at":"2013-12-31T19:00:00-05:00","updated_at":"2013-12-31T19:00:00-05:00","published_at":"2014-02-01T19:00:00-05:00","template_suffix":null,"admin_graphql_api_id":"gid://shopify/Page/169524623"},{"id":322471,"title":"Support","shop_id":548380009,"handle":"support","body_html":"<p>Come in store for support.</p>","author":"Dennis","created_at":"2009-07-15T20:00:00-04:00","updated_at":"2009-07-16T20:00:00-04:00","published_at":null,"template_suffix":null,"admin_graphql_api_id":"gid://shopify/Page/322471"},{"id":131092082,"title":"Terms of Services","shop_id":548380009,"handle":"tos","body_html":"<p>We make <strong>perfect</strong> stuff, we don't need a warranty.</p>","author":"Dennis","created_at":"2008-07-15T20:00:00-04:00","updated_at":"2008-07-16T20:00:00-04:00","published_at":"2008-07-15T20:00:00-04:00","template_suffix":null,"admin_graphql_api_id":"gid://shopify/Page/131092082"}]}
  ```

* #### Retrieve a list of all pages after the specified ID

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/pages.json?since_id=108828309" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

***

## getRetrieves a single page by its ID

[page](https://shopify.dev/docs/api/admin-graphql/latest/queries/page?example=retrieves-a-single-page-by-its-id)

Retrieves a single page by its ID.

### Parameters

***

api\_version

**string**

**required**

***

page\_id

**string**

**required**

***

fields

Show only certain fields, specified by a comma-separated list of field names.

***

### Examples

### Retrieve a single page

### Path parameters

page\_​id=​131092082

**string**

**required**

get

## /admin/api/2026-07/pages/131092082.​json

```bash
curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "page": {
    "id": 131092082,
    "title": "Terms of Services",
    "shop_id": 548380009,
    "handle": "tos",
    "body_html": "<p>We make <strong>perfect</strong> stuff, we don't need a warranty.</p>",
    "author": "Dennis",
    "created_at": "2008-07-15T20:00:00-04:00",
    "updated_at": "2008-07-16T20:00:00-04:00",
    "published_at": "2008-07-15T20:00:00-04:00",
    "template_suffix": null,
    "admin_graphql_api_id": "gid://shopify/Page/131092082"
  }
}
```

### examples

* #### Retrieve a single page

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"page":{"id":131092082,"title":"Terms of Services","shop_id":548380009,"handle":"tos","body_html":"<p>We make <strong>perfect</strong> stuff, we don't need a warranty.</p>","author":"Dennis","created_at":"2008-07-15T20:00:00-04:00","updated_at":"2008-07-16T20:00:00-04:00","published_at":"2008-07-15T20:00:00-04:00","template_suffix":null,"admin_graphql_api_id":"gid://shopify/Page/131092082"}}
  ```

***

## getRetrieves a page count

[pagesCount](https://shopify.dev/docs/api/admin-graphql/latest/queries/pagesCount?example=retrieves-a-page-count)

Retrieves a page count.

### Parameters

***

api\_version

**string**

**required**

***

created\_at\_max

Count pages created before date (format: 2014-04-25T16:15:47-04:00).

***

created\_at\_min

Count pages created after date (format: 2014-04-25T16:15:47-04:00).

***

published\_at\_max

Show pages published before date (format: 2014-04-25T16:15:47-04:00).

***

published\_at\_min

Show pages published after date (format: 2014-04-25T16:15:47-04:00).

***

published\_status

**default any**

Count pages with a given published status:

* **published**: Count published pages.

* **unpublished**: Count unpublished pages.

* **any**: Count published and unpublished pages.

***

title

Count pages with a given title.

***

updated\_at\_max

Count pages last updated before date (format: 2014-04-25T16:15:47-04:00).

***

updated\_at\_min

Count pages last updated after date (format: 2014-04-25T16:15:47-04:00).

***

### Examples

### Retrieve a count of all pages

get

## /admin/api/2026-07/pages/count.​json

```bash
curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/pages/count.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "count": 4
}
```

### examples

* #### Retrieve a count of all pages

  #####

  ```curl
  curl -X GET "https://your-development-store.myshopify.com/admin/api/2026-07/pages/count.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"count":4}
  ```

***

## putUpdates a page

[pageUpdate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/pageUpdate?example=updates-a-page)

Updates a page

### Parameters

***

api\_version

**string**

**required**

***

page\_id

**string**

**required**

***

### Examples

### Add a metafield to a page

### Path parameters

page\_​id=​131092082

**string**

**required**

### Request body

page​

**Page resource**

page.id:​131092082

**read-only**

The unique numeric identifier for the page.

### Hide a published page

### Path parameters

page\_​id=​131092082

**string**

**required**

### Request body

page​

**Page resource**

page.id:​131092082

**read-only**

The unique numeric identifier for the page.

### Show a hidden page

### Path parameters

page\_​id=​131092082

**string**

**required**

### Request body

page​

**Page resource**

page.id:​131092082

**read-only**

The unique numeric identifier for the page.

### Update an existing page completely

### Path parameters

page\_​id=​131092082

**string**

**required**

### Request body

page​

**Page resource**

page.id:​131092082

**read-only**

The unique numeric identifier for the page.

page.body\_​html:​"\<p>Returns accepted if we receive the items \<strong>14 days\</strong> after purchase.\</p>"

->[body](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageUpdateInput#fields-body)

The text content of the page, complete with HTML markup.

page.author:​"Christopher Gorski"

->[author](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageUpdateInput)

The name of the person who created the page.

page.title:​"New warranty"

->[title](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageUpdateInput#fields-title)

The title of the page.

page.handle:​"new-warranty"

->[handle](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageUpdateInput#fields-handle)

A unique, human-friendly string for the page, generated automatically from its title. In themes, the Liquid templating language refers to a page by its handle.

### Update the body HTML of an existing page

### Path parameters

page\_​id=​131092082

**string**

**required**

### Request body

page​

**Page resource**

page.id:​131092082

**read-only**

The unique numeric identifier for the page.

page.body\_​html:​"\<p>Returns accepted if we receive the items 14 days after purchase.\</p>"

->[body](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/PageUpdateInput#fields-body)

The text content of the page, complete with HTML markup.

put

## /admin/api/2026-07/pages/131092082.​json

```bash
curl -d '{"page":{"id":131092082,"metafields":[{"key":"new","value":"new value","type":"single_line_text_field","namespace":"global"}]}}' \
-X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
-H "X-Shopify-Access-Token: {access_token}" \
-H "Content-Type: application/json"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{
  "page": {
    "shop_id": 548380009,
    "title": "Terms of Services",
    "handle": "tos",
    "body_html": "<p>We make <strong>perfect</strong> stuff, we don't need a warranty.</p>",
    "id": 131092082,
    "author": "Dennis",
    "created_at": "2008-07-15T20:00:00-04:00",
    "updated_at": "2008-07-16T20:00:00-04:00",
    "published_at": "2008-07-15T20:00:00-04:00",
    "template_suffix": null,
    "admin_graphql_api_id": "gid://shopify/Page/131092082"
  }
}
```

### examples

* #### Add a metafield to a page

  #####

  ```curl
  curl -d '{"page":{"id":131092082,"metafields":[{"key":"new","value":"new value","type":"single_line_text_field","namespace":"global"}]}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{"page":{"shop_id":548380009,"title":"Terms of Services","handle":"tos","body_html":"<p>We make <strong>perfect</strong> stuff, we don't need a warranty.</p>","id":131092082,"author":"Dennis","created_at":"2008-07-15T20:00:00-04:00","updated_at":"2008-07-16T20:00:00-04:00","published_at":"2008-07-15T20:00:00-04:00","template_suffix":null,"admin_graphql_api_id":"gid://shopify/Page/131092082"}}
  ```

* #### Hide a published page

  #####

  ```curl
  curl -d '{"page":{"id":131092082,"published":false}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

* #### Show a hidden page

  #####

  ```curl
  curl -d '{"page":{"id":131092082,"published":true}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

* #### Update an existing page completely

  #####

  ```curl
  curl -d '{"page":{"id":131092082,"body_html":"<p>Returns accepted if we receive the items <strong>14 days</strong> after purchase.</p>","author":"Christopher Gorski","title":"New warranty","handle":"new-warranty"}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

* #### Update the body HTML of an existing page

  #####

  ```curl
  curl -d '{"page":{"id":131092082,"body_html":"<p>Returns accepted if we receive the items 14 days after purchase.</p>"}}' \
  -X PUT "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
  -H "X-Shopify-Access-Token: {access_token}" \
  -H "Content-Type: application/json"
  ```

***

## delDeletes a page

[pageDelete](https://shopify.dev/docs/api/admin-graphql/latest/mutations/pageDelete?example=deletes-a-page)

Deletes a page.

### Parameters

***

api\_version

**string**

**required**

***

page\_id

**string**

**required**

***

### Examples

### Delete a page

### Path parameters

page\_​id=​131092082

**string**

**required**

del

## /admin/api/2026-07/pages/131092082.​json

```bash
curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
-H "X-Shopify-Access-Token: {access_token}"
```

{}

## Response

JSON

```json
HTTP/1.1 200 OK
{}
```

### examples

* #### Delete a page

  #####

  ```curl
  curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2026-07/pages/131092082.json" \
  -H "X-Shopify-Access-Token: {access_token}"
  ```

  #### response

  ```json
  HTTP/1.1 200 OK{}
  ```
