---
title: "List OAuth applications"
method: GET
path: "/organizations/{organization}/oauth-applications"
tags: ["OAuth applications"]
---

# List OAuth applications

`GET /organizations/{organization}/oauth-applications`

### Authorization
A service token   must have at least one of the following access   in order to use this API endpoint:

**Service Token Accesses**
 `read_oauth_applications`

## Path parameters

- `organization` string, required

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Returns a list of the organization's oauth applications

- object
  - `type` string, required — The response type. Always "list" for paginated responses.
  - `current_page` integer, required — The current page number
  - `per_page` integer, required — The maximum number of results per page
  - `next_page` integer, nullable, required — The next page number, or null when this is the last page
  - `next_page_url` string, nullable, required — The next page of results, or null when this is the last page
  - `prev_page` integer, nullable, required — The previous page number, or null when this is the first page
  - `prev_page_url` string, nullable, required — The previous page of results, or null when this is the first page
  - `total_count` integer, required — The total number of matching results
  - `total_pages` integer, required — The total number of pages of matching results
  - `data` object[], required
    - `id` string, required — The ID of the app
    - `name` string, required — The name of the app
    - `redirect_uri` string, required — The redirect URI of the OAuth application
    - `domain` string, required — The domain of the OAuth application. Used for verification of a valid redirect uri
    - `created_at` string, required — When the OAuth application was created
    - `updated_at` string, required — When the OAuth application was last updated
    - `scopes` string, required — The scopes that the OAuth application requires on a user account, as a space-separated string
    - `avatar` string, required — The image source for the OAuth application's avatar
    - `client_id` string, required — The OAuth application's unique client id
    - `tokens` integer, required — The number of tokens issued by the OAuth application
    - `dcr` boolean, required — Whether the OAuth application was created via Dynamic Client Registration
    - `single_org_authorization` boolean, required — Whether the OAuth application is limited to authorizing a single organization
    - `requires_org_scope` boolean, required — Whether the OAuth application requires at least one organization to be authorized
    - `scopes_by_resource` object, required — Scopes grouped by resource type (database, organization, branch, user) with scope, description, and admin flag
    - `all_scopes_by_resource` object, required — All available scopes grouped by resource type with scope, description, selected, and admin flags
    - `mcp_tool_groups` object[], nullable — MCP tool groups (id, label, section, tools, scopes, parent_id, default_enabled, roles) selectable when authorizing a DCR app; only present for DCR apps. Database-section groups also carry org_scopes (the organization-tier scope names granting the group across all databases in an organization) and org_roles (the organization roles allowed to grant them); both are null for organization-section groups

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-08-28** `6d28c038c4fd` — 1 info
  - added the optional property `data/items/mcp_tool_groups` to the response with the `200` status
- **2026-08-26** `0b43a2011e53` — 2 info
  - added the required property `total_count` to the response with the `200` status
  - added the required property `total_pages` to the response with the `200` status
- **2026-08-11** `4b2e4f05bda2` — 1 info
  - added the required property `per_page` to the response with the `200` status
- **2026-07-08** `fa19f3305241` — 1 info
  - added the required property `data/items/requires_org_scope` to the response with the `200` status
- **2026-06-01** `72506953f367` — 5 breaking, 1 info
  - the response property `next_page` became nullable for the status `200`
  - the response property `next_page_url` became nullable for the status `200`
  - the response property `prev_page` became nullable for the status `200`
  - the response property `prev_page_url` became nullable for the status `200`
  - …2 more

[Full history](https://skmtc.dev/planetscale/apis/planetscale-api/changes/organizations/:organization/oauth-applications/get.md)

---

[API](https://skmtc.dev/planetscale/apis/planetscale-api.md) · [All operations](https://skmtc.dev/planetscale/apis/planetscale-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/planetscale/planetscale-api/revisions/6d28c038c4fd/schema)
