---
title: "Get scope"
method: GET
path: "/v2/scopes/{id}"
tags: ["Scopes"]
---

# Get scope

`GET /v2/scopes/{id}`

## Request

- Base URL: `https://api.skilljar.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.skilljar.com/v2/scopes/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/skilljar/apis/skilljar-api-v2/docs/v2/scopes/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Return a single API v2 scope by codename.

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

## Path parameters

- `id` string, required

## Response `200`

OK

- ScopeDetailResponse: Response for GET /v2/scopes/{id}.
  - `data` ScopeResource, required: JSON:API resource object for a scope. ``id`` is set to the scope codename for easy client-side keying. Attributes: type: Always ``"scopes"``. id: The scope codename (same as ``attributes.codename``). attributes: The scope attributes.
    - `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
    - `links` object, nullable: Self link.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `406`: Not Acceptable: Accept rules out application/vnd.api+json.

## Changes

- **2026-10-16** `bed169429eb2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/skilljar/apis/skilljar-api-v2/changes/v2/scopes/:id/get.md)

---

[API](https://skmtc.dev/skilljar/apis/skilljar-api-v2.md) - [All operations](https://skmtc.dev/skilljar/apis/skilljar-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/skilljar/apis/skilljar-api-v2/revisions/fbda30ce1742?raw)
