---
title: "List Custom Domains"
method: GET
path: "/v2/cloud-gateways/custom-domains"
tags: ["Custom Domains"]
---

# List Custom Domains

`GET /v2/cloud-gateways/custom-domains`

Returns a paginated list of custom domains across all control planes in the organization,
scoped to control planes you have read access to.

## Query parameters

- `filter` CustomDomainsFilterParameters
  - `control_plane_id` IDFieldFilter — Filter using **one** of the following operators: `eq`, `oeq`, `neq`
    - `eq` string — The field exactly matches the provided value.
    - `neq` string — The field does not match the provided value.
    - `oeq` string — The field matches any of the provided values.
  - `control_plane_geo` union
    - union — Filter a control-plane geo by exact match.
      - 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg' — Geographic region of the control plane. Supported values: - `us` — United States - `eu` — Europe - `au` — Australia - `me` — Middle East - `in` — India - `sg` — Singapore
      - object
        - `eq` 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg', required — Geographic region of the control plane. Supported values: - `us` — United States - `eu` — Europe - `au` — Australia - `me` — Middle East - `in` — India - `sg` — Singapore
    - ControlPlaneGeoFieldNotEqualsFilter — Filter a control-plane geo by inequality match.
      - `neq` 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg', required — Geographic region of the control plane. Supported values: - `us` — United States - `eu` — Europe - `au` — Australia - `me` — Middle East - `in` — India - `sg` — Singapore
    - ControlPlaneGeoFieldOrEqualityFilter — Filter a control-plane geo by determining if the value is equal to any in a set of values, where the set is a comma-delimited list.
      - `oeq` string, required
  - `domain` CloudGatewaysStringFieldFilterOverride — Filter using **one** of the following operators: `eq`, `oeq`, `neq`, `contains`, `ocontains`
    - `eq` string — The field exactly matches the provided value.
    - `contains` string — The field contains the provided value.
    - `neq` string — The field does not match the provided value.
    - `oeq` string — The field matches any of the provided values.
    - `ocontains` string — The field contains any of the provided values.
  - `state` union
    - union — Filter custom domain state by exact match.
      - 'created' | 'initializing' | 'ready' | 'terminating' | 'terminated' | 'error' — The current state of the custom domain. Possible values: - `created` — The domain has been registered but TLS provisioning has not yet started. - `initializing` — Konnect is provisioning the TLS certificate and configuring SNI routing. - `ready` — The domain is fully provisioned and serving traffic. - `terminating` — The domain is being deleted and its TLS certificate is being removed. - `terminated` — The domain has been fully deleted and is no longer available. - `error` — Provisioning failed; check `state_metadata` for details.
      - object
        - `eq` 'created' | 'initializing' | 'ready' | 'terminating' | 'terminated' | 'error', required — The current state of the custom domain. Possible values: - `created` — The domain has been registered but TLS provisioning has not yet started. - `initializing` — Konnect is provisioning the TLS certificate and configuring SNI routing. - `ready` — The domain is fully provisioned and serving traffic. - `terminating` — The domain is being deleted and its TLS certificate is being removed. - `terminated` — The domain has been fully deleted and is no longer available. - `error` — Provisioning failed; check `state_metadata` for details.
    - CustomDomainStateFieldNotEqualsFilter — Filter custom domain state by inequality match.
      - `neq` 'created' | 'initializing' | 'ready' | 'terminating' | 'terminated' | 'error', required — The current state of the custom domain. Possible values: - `created` — The domain has been registered but TLS provisioning has not yet started. - `initializing` — Konnect is provisioning the TLS certificate and configuring SNI routing. - `ready` — The domain is fully provisioned and serving traffic. - `terminating` — The domain is being deleted and its TLS certificate is being removed. - `terminated` — The domain has been fully deleted and is no longer available. - `error` — Provisioning failed; check `state_metadata` for details.
    - CustomDomainStateFieldOrEqualityFilter — Filter custom domain state by determining if the value is equal to any in a set of values, where the set is a comma-delimited list.
      - `oeq` string, required
- `page[size]` integer
- `page[number]` integer

## Response `200`

A paginated list for a collection of custom domains.

- object
  - `meta` PaginatedMeta, required — returns the pagination information
    - `page` PageMeta, required — Contains pagination query parameters and the total number of objects returned.
      - `number` number, required
      - `size` number, required
      - `total` number, required
  - `data` CustomDomain[], required
    - `id` string, uuid, required
    - `control_plane_id` string, uuid, required — ID of the Konnect control plane. Can be retrieved from the Control Planes API or the Konnect UI.
    - `control_plane_geo` 'us' | 'eu' | 'au' | 'me' | 'in' | 'sg', required — Geographic region of the control plane. Supported values: - `us` — United States - `eu` — Europe - `au` — Australia - `me` — Middle East - `in` — India - `sg` — Singapore
    - `domain` string, required — Domain name of the custom domain.
    - `certificate_id` string, uuid, nullable — Certificate ID for the certificate representing this domain and stored on data-planes for this control-plane. Can be retrieved via the control-planes API for this custom domain's control-plane.
    - `sni_id` string, uuid, nullable — Server Name Indication ID for this domain and stored on data-planes for this control-plane. Can be retrieved via the control-planes API for this custom domain's control-plane.
    - `state` 'created' | 'initializing' | 'ready' | 'terminating' | 'terminated' | 'error', required — The current state of the custom domain. Possible values: - `created` — The domain has been registered but TLS provisioning has not yet started. - `initializing` — Konnect is provisioning the TLS certificate and configuring SNI routing. - `ready` — The domain is fully provisioned and serving traffic. - `terminating` — The domain is being deleted and its TLS certificate is being removed. - `terminated` — The domain has been fully deleted and is no longer available. - `error` — Provisioning failed; check `state_metadata` for details.
    - `state_metadata` object, required — Metadata describing the backing state of the custom domain and why it may be in an erroneous state.
      - `reported_status` string — Reported status of the custom domain from backing infrastructure.
      - `reason` string — Reason why the custom domain may be in an erroneous state, reported from backing infrastructure.
    - `entity_version` integer, required — Monotonically-increasing version count of the custom domain, to indicate the order of updates to the custom domain.
    - `created_at` string, date-time, required — An RFC-3339 timestamp representation of custom domain creation date.
    - `updated_at` string, date-time, required — An RFC-3339 timestamp representation of custom domain update date.
    - `kind` 'dedicated.v0' | 'serverless.v1' — **Pre-release Feature** This feature is currently in beta and is subject to change. Kind of the custom domain based on Cloud Gateway deployment.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-go-sdk/versions/f920f418f552/schema)
