---
title: "List domains"
method: GET
path: "/v2/domains/"
tags: ["Domains"]
---

# List domains

`GET /v2/domains/`

List the organization's domains.

**Required OAuth scope:** `domains:read`

## Query parameters

- `filter[access]` 'PUBLIC' | 'PRIVATE' | 'PRIVATE_CODE', nullable — Return only domains with this access mode: PUBLIC, PRIVATE, or PRIVATE_CODE.
- `filter[name]` string, nullable — Exact hostname match. Returns the single domain with that name, if any.
- `include` string, nullable — Comma-separated related resources to include. Supported: theme.
- `page[size]` integer — Maximum number of records to return.
- `page[cursor]` string, nullable — Opaque cursor from the previous page's links.next.

## Response `200`

OK

- PaginatedListResponseDomainResource
  - `data` DomainResource[], required — The resources on this page, in cursor order.
    - `type` string — Always "domains".
    - `id` string, required — Opaque domain ID. Use in URL paths.
    - `attributes` DomainAttributes, required — Attributes of a domain resource object.
      - `external_id` string, required — Stable UUID5 for cross-system correlation.
      - `name` string, required — Hostname the domain serves. Unique per organization.
      - `access` 'PUBLIC' | 'PRIVATE' | 'PRIVATE_CODE', required — Catalog access mode: PUBLIC, PRIVATE (login required), or PRIVATE_CODE (access code required).
      - `access_message_html` string, required — Message shown on the login / signup / access-code pages.
      - `marketing_message` string, required — Catalog marketing copy.
      - `require_https` boolean, required — Whether the domain forces HTTPS.
      - `created_at` string, date-time, required — Creation timestamp.
      - `modified_at` string, date-time, required — Latest update timestamp.
    - `relationships` object, nullable — Related theme linkage.
    - `links` object, nullable — Self link.
  - `meta` object, nullable — Pagination metadata, e.g. {"page_size": 25}.
  - `links` object, nullable — Pagination links, e.g. {"self": "...", "next": "...", "prev": null}.
  - `has_more` boolean, required — Whether additional pages exist after this one.
  - `next_cursor` string, nullable — Opaque cursor to pass as ``page[cursor]`` for the next page; null on the last page.
  - `included` object[], nullable — Related resources requested via ?include=. Absent when no include was requested.

## Other responses

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

---

[API](https://skmtc.net/skilljar/apis/skilljar-api-v2.md) · [All operations](https://skmtc.net/skilljar/apis/skilljar-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skilljar/skilljar-api-v2/revisions/f8025de20169/schema)
