---
title: "List scopes available for a new personal access token"
method: GET
path: "/personal-access-tokens/scopes"
tags: ["Personal Access Tokens"]
---

# List scopes available for a new personal access token

`GET /personal-access-tokens/scopes`

Returns the org's configured `MCP_SCOPES` as a flat array of scope
definitions, for populating the create-token scope picker. Unlike
`GET /oauth-clients/scopes`, this is **not** grouped by category and
**not** role-aware — every org member sees the same set, since PAT
scope selection isn't gated by admin status.

## Response `200`

Scopes available to grant

- PatScopesListResponse — Response body for `GET /personal-access-tokens/scopes` (`listScopes`). Unlike `GET /oauth-clients/scopes`, this is a **flat array**, not grouped by category, and reflects the org's configured `MCP_SCOPES` rather than the full role-aware OAuth-app scope catalog.
  - `scopes` OAuthScopeInfo[], required
    - `name` string, required — Scope identifier
    - `description` string, required — Human-readable scope description
    - `category` string, required — Scope category for grouping (matches the key under `scopes` on list responses)
    - `requiresUserConsent` boolean, required — Whether end-user consent is required when this scope is requested

## Other responses

- `401` — Unauthorized
- `429` — Rate limit exceeded

---

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