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

# List credentials

`GET /credentials`

List credentials with cursor-based pagination.

## Query parameters

- `cursor` string, nullable
- `limit` integer
- `vendor` string, nullable

## Response `200`

Successful Response

- CredentialListResponse — Paginated list of credentials.
  - `data` CredentialRedactedResponse[], required
    - `active` boolean, required — Whether the credential is enabled for injection.
    - `api` APIReference, required — Identifies a target API — the strict (all-required) variant. Used in responses and as the canonical identity tuple.
      - `name` string, required
      - `vendor` string, required
      - `version` string, required
    - `catalog_api_id` string, nullable — Catalog identity slug of the target API (`domain[/sub-api]`), when recorded at create time. Display-only; null for older credentials.
    - `created_at` string, date-time, required — Creation timestamp (UTC).
    - `created_by` string, nullable — Identity that created the credential (its owner).
    - `credential_id` string, required — Stable credential identifier, prefixed `cred_`.
    - `details` object, nullable — Redacted, type-specific projection (hints/last-N chars; never the secret). For oauth2: client_id, token_url, grant_type (authorization_code | client_credentials), scopes, and — for authorization_code only — `connected`, whether the interactive sign-in completed and is still usable (null for other grants).
    - `name` string, required — Human-readable label.
    - `provider` string, required — Credential provider; 'static' for stored secrets.
    - `provider_account_ref` string, nullable — Opaque reference to the provider account, when applicable.
    - `server_variables` object, nullable — OpenAPI server-variable values for URL template substitution.
    - `type` 'bearer_token' | 'api_key' | 'basic' | 'oauth2' | 'no_auth' | 'sigv4', required — Wire-level credential type used by the provider abstraction.
    - `updated_at` string, date-time, nullable — Last update timestamp (UTC).
  - `has_more` boolean, required
  - `next_cursor` string, nullable

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity
- `500` — Internal Server Error
- `503` — Service Unavailable

## Changes

- **2026-08-05** `4d30025450c7` — 1 warning
  - added the new `sigv4` enum value to the `data/items/type` response property for the response status `200`
- **2026-07-31** `3746d110464c` — 1 info
  - added the optional property `data/items/catalog_api_id` to the response with the `200` status
- **2026-07-24** `7f8d4d76abcd` — 1 warning
  - added the new `no_auth` enum value to the `data/items/type` response property for the response status `200`
- **2026-07-23** `e7b87904bdbb` — 1 info
  - added the optional property `data/items/created_by` to the response with the `200` status
- **2026-07-01** `d65fcba0d25a` — 2 breaking, 1 warning, 26 info
  - the response's body type/format changed from `array`/`` to `object`/`` for status `200`
  - the `detail` response's property type/format changed from `array`/`` to `string`/`` for status `422`
  - deleted the `query` request parameter `api_id`
  - api operation id `list_credentials_credentials_get` removed and replaced with `listCredentials`
  - …25 more

[Full history](https://skmtc.dev/jentic/apis/jentic-control-plane-api/changes/credentials/get.md)

---

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