Homepage

UpdatePageInputType

Last edit: Oct 13, 2026

Attributes of a page to change; omitted attributes keep their current value

type UpdatePageInputType {
  authorization_policies: [String]
  authorization_policy_ids: [ID]
  content: String
  deleted_at: JSONDate
  dynamic_cache_expire: Int
  dynamic_cache_key: String
  dynamic_cache_layout: Boolean
  format: PageFormat
  handler: PageHandler
  layout: String
  layout_name: String
  manually_managed: Boolean
  max_deep_level: Int
  metadata: HashObject
  physical_file_path: String
  redirect_code: PageRedifectCode
  redirect_to: String
  request_method: PageRequestMethod
  response_headers: HashObject
  searchable: Boolean
  slug: String
  static_cache_expire: Int
  subdomain: String
}

Fields

authorization_policies (String)

Names of authorization policies checked before the page is rendered, the same
names as in the authorization_policies setting of a page file, for example
page_policy or modules/my_module/page_policy. Can be combined with
authorization_policy_ids; raises a validation error if any name does not exist

authorization_policy_ids (ID)

Ids of authorization policies checked before the page is rendered; replaces the current list

content (String)

Liquid code rendered as the page body

deleted_at (JSONDate)

Timestamp of when the object was soft deleted, populated by the delete action.
It is also possible to set it manually via update. To undelete, change it back
to an empty value; note that associated objects need to be undeleted manually as well.

dynamic_cache_expire (Int)

Number of seconds the rendered page is cached for; authorization policies are still checked on every request

dynamic_cache_key (String)

Liquid code rendering to the cache key, for example {{ context.page.slug }}/{{ context.params.slug2 }}. When blank, the full URL is used

dynamic_cache_layout (Boolean)

When true, the layout is cached together with the page; usually not possible when the layout shows user-specific data

format (PageFormat)

Format of the page, for example html or json; the same slug can serve several formats

handler (PageHandler)

Template language of the content. Currently ignored by this mutation

layout (String)

Name of the layout the page content is rendered into, for example
application; must be an existing layout unless it contains Liquid

layout_name (String)

Deprecated, use layout

manually_managed (Boolean)

When true, pos-cli deploy and sync never overwrite or delete it and pos-cli pull skips it

max_deep_level (Int)

Maximum number of URL segments, counting the slug itself, the page responds
to. For example slug abc with max_deep_level 2 resolves /abc and /abc/1 but
not /abc/1/something

metadata (HashObject)

Arbitrary JSON data stored with the page; replaces the existing metadata

physical_file_path (String)

New path of the file the page is stored as, used by pos-cli pull and deploy.
Must be under views/pages/ (or pages/), optionally prefixed with
modules/<module_name>/public/ or modules/<module_name>/private/, for
example views/pages/hello/world.html.liquid

redirect_code (PageRedifectCode)

HTTP status of the redirect when redirect_to is set

redirect_to (String)

Liquid code rendering to the URL the request is redirected to instead of rendering the page

request_method (PageRequestMethod)

HTTP method the page responds to

response_headers (HashObject)

Headers added to the response; values may contain Liquid

searchable (Boolean)

When true, the rendered content is stored with the page so it can be searched

slug (String)

URL path the page is served at, for example hello/world for
https://example.com/hello/world. It is not changed automatically when
physical_file_path changes; after changing it, consider creating a page at the
old slug that redirects to the new one

static_cache_expire (Int)

Number of seconds the page is cached for as static HTML. Currently ignored by this mutation

subdomain (String)

Subdomain the page is served on, for pages that should respond only on that subdomain

Questions?

We are always happy to help with any questions you may have.

contact us