---
title: "List Api Credentials"
method: GET
path: "/api-credentials"
tags: ["ApiCredentials"]
---

# List Api Credentials

`GET /api-credentials`

## Request

- Base URL: `https://api.purplegrain.com/api/v1`
- URL: `https://api.purplegrain.com/api/v1/api-credentials`
- Auth: HTTP bearer

Server-to-server API credentials (api-kind OAuth applications) owned by
the acting entity — pass owner_id/owner_type to manage an organization's
credentials (requires edit rights). Secrets are never returned here.
Denied to api-channel tokens (keys can't mint keys) and to tokens
without the write scope.

## Query parameters

- `owner_id` string
- `owner_type` 'User' | 'Organization'
- `page` integer
- `per_page` integer

## Response `200`

Credentials for the requested owner (no secrets).

- ApiCredentialsIndexResponseAttributes
  - `data` ApiCredentialModelAttributes[]
    - `id` string: The OAuth client_id (application uid).
    - `type` string
    - `name` string
    - `scopes` string
    - `owner_type` 'User' | 'Organization'
    - `owner_id` string, uuid
    - `created_at` string, date-time
    - `client_secret` string: Present ONLY in create and rotate responses (show-once).
  - `meta` PaginationMeta
    - `current_page` number
    - `next_page` number, nullable
    - `prev_page` number, nullable

## Other responses

- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/purplegrain/apis/purple-grain-api.md) · [All operations](https://skmtc.dev/purplegrain/apis/purple-grain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/purplegrain/apis/purple-grain-api/revisions/4bedbc1c784c?raw)
