---
title: Custom Pages
---

[Skip to content](#_top)

[API Reference](https://developers.cloudflare.com/api/go)

[Zero Trust](https://developers.cloudflare.com/api/go/resources/zero_trust)

[Access](https://developers.cloudflare.com/api/go/resources/zero_trust/subresources/access)

Copy Markdown

Open in **Claude**Open in **ChatGPT**Open in **Cursor**

---

**Copy Markdown****View as Markdown**

# Custom Pages

##### [List custom pages](https://developers.cloudflare.com/api/go/resources/zero_trust/subresources/access/subresources/custom_pages/methods/list)

client.ZeroTrust.Access.CustomPages.List(ctx, params) (\*V4PagePaginationArray\[[CustomPageWithoutHTML](<https://developers.cloudflare.com/api/go/resources/zero_trust#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)>)], error)

GET/accounts/{account\_id}/access/custom\_pages

##### [Get a custom page](https://developers.cloudflare.com/api/go/resources/zero_trust/subresources/access/subresources/custom_pages/methods/get)

client.ZeroTrust.Access.CustomPages.Get(ctx, customPageID, query) (\*[CustomPage](<https://developers.cloudflare.com/api/go/resources/zero_trust#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)>), error)

GET/accounts/{account\_id}/access/custom\_pages/{custom\_page\_id}

##### [Create a custom page](https://developers.cloudflare.com/api/go/resources/zero_trust/subresources/access/subresources/custom_pages/methods/create)

client.ZeroTrust.Access.CustomPages.New(ctx, params) (\*[CustomPageWithoutHTML](<https://developers.cloudflare.com/api/go/resources/zero_trust#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)>), error)

POST/accounts/{account\_id}/access/custom\_pages

##### [Update a custom page](https://developers.cloudflare.com/api/go/resources/zero_trust/subresources/access/subresources/custom_pages/methods/update)

client.ZeroTrust.Access.CustomPages.Update(ctx, customPageID, params) (\*[CustomPageWithoutHTML](<https://developers.cloudflare.com/api/go/resources/zero_trust#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)>), error)

PUT/accounts/{account\_id}/access/custom\_pages/{custom\_page\_id}

##### [Delete a custom page](https://developers.cloudflare.com/api/go/resources/zero_trust/subresources/access/subresources/custom_pages/methods/delete)

client.ZeroTrust.Access.CustomPages.Delete(ctx, customPageID, body) (\*[AccessCustomPageDeleteResponse](<https://developers.cloudflare.com/api/go/resources/zero_trust#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20AccessCustomPageDeleteResponse%20%3E%20(schema)>), error)

DELETE/accounts/{account\_id}/access/custom\_pages/{custom\_page\_id}

##### ModelsExpand Collapse

<details>

<summary>

type CustomPage struct{…}

</summary>

CustomHTML string

Custom page HTML.

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20custom_html">Link to this property</a>

Name string

Custom page name.

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20name">Link to this property</a>

<details>

<summary>

Type CustomPageType

Custom page type.

</summary>

One of the following:

const CustomPageTypeIdentityDenied CustomPageType = "identity\_denied"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%200">Link to this property</a>

const CustomPageTypeForbidden CustomPageType = "forbidden"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%201">Link to this property</a>

const CustomPageTypeLogin CustomPageType = "login"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%202">Link to this property</a>

const CustomPageTypeInterstitial CustomPageType = "interstitial"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20type">Link to this property</a>

ContractVersion int64Optional

Contract version of the page’s Liquid template. Present (&gt;= 1) marks a sanitized template; absent or 0 marks a legacy page served verbatim.

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20contract_version">Link to this property</a>

UID stringOptional

UUID.

maxLength36

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)%20%3E%20(property)%20uid">Link to this property</a>

</details>

[Link to this property](<#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page%20%3E%20(schema)>)

<details>

<summary>

type CustomPageWithoutHTML struct{…}

</summary>

Name string

Custom page name.

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20name">Link to this property</a>

<details>

<summary>

Type CustomPageWithoutHTMLType

Custom page type.

</summary>

One of the following:

const CustomPageWithoutHTMLTypeIdentityDenied CustomPageWithoutHTMLType = "identity\_denied"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%200">Link to this property</a>

const CustomPageWithoutHTMLTypeForbidden CustomPageWithoutHTMLType = "forbidden"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%201">Link to this property</a>

const CustomPageWithoutHTMLTypeLogin CustomPageWithoutHTMLType = "login"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%202">Link to this property</a>

const CustomPageWithoutHTMLTypeInterstitial CustomPageWithoutHTMLType = "interstitial"

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20type%20%3E%20(member)%203">Link to this property</a>

</details>

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20type">Link to this property</a>

ContractVersion int64Optional

Contract version of the page’s Liquid template. Present (&gt;= 1) marks a sanitized template; absent or 0 marks a legacy page served verbatim.

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20contract_version">Link to this property</a>

UID stringOptional

UUID.

maxLength36

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20uid">Link to this property</a>

<details>

<summary>

Warnings \[]CustomPageWithoutHTMLWarningOptional

Advisory validation findings returned when creating or updating a template. Omitted when empty.

</summary>

Message string

Human-readable description of the finding.

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20warnings%20%3E%20(items)%20%3E%20(property)%20message">Link to this property</a>

Tier string

The validation tier that produced the finding (e.g. html, liquid).

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20warnings%20%3E%20(items)%20%3E%20(property)%20tier">Link to this property</a>

Ref stringOptional

Optional pointer to the part of the template the finding refers to.

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20warnings%20%3E%20(items)%20%3E%20(property)%20ref">Link to this property</a>

</details>

<a href="#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)%20%3E%20(property)%20warnings">Link to this property</a>

</details>

[Link to this property](<#(resource)%20zero_trust.access.custom_pages%20%3E%20(model)%20custom_page_without_html%20%3E%20(schema)>)