---
title: "List scope catalog + presets"
method: GET
path: "/v2/scopes/"
tags: ["Scopes"]
---

# List scope catalog + presets

`GET /v2/scopes/`

Return all API v2 scopes and named preset bundles.

No database access is performed — the catalog is derived from
in-memory constants.  Requires ``clients:read`` scope because anyone
who can view API clients needs access to the scope catalog.

Returns a JSON:API response with:
- ``data``: list of scope resource objects (type, id, attributes)
- ``meta.presets``: named scope preset bundles

**Required OAuth scope:** `clients:read`

## Response `200`

OK

- ScopeCatalogResponse — Response for GET /v2/scopes/. Returns the full list of API v2 scopes as JSON:API resource objects, plus named preset bundles in the ``meta`` block. Attributes: data: List of scope resource objects. meta: Scope preset bundles.
  - `data` ScopeResource[], required
    - `type` string, required
    - `id` string, required
    - `attributes` ScopeAttributes, required — Attributes for a single scope resource. Attributes: codename: The scope identifier (e.g. ``"courses:read"``). description: Human-readable description of the scope. category: Logical grouping for the scope (e.g. ``"courses"``).
      - `codename` string, required
      - `description` string, required
      - `category` string, required
  - `meta` ScopeCatalogMeta, required — Meta block for the scope catalog response. Attributes: presets: Mapping of preset name to list of scope codenames.
    - `presets` object, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden

---

[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)
