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

# List credentials

`GET /v1/credentials`

Use this endpoint to list credentials.

## Query parameters

- `cursor` string — Cursor for pagination
- `limit` integer, nullable — Number of items to return (default: 20)

## Headers

- `Certifier-Version` string, required — API version header. Required for all requests.

## Response `200`

List of credentials

- object
  - `data` Credential[], required
    - `id` string, required — The unique credential's identifier
    - `publicId` string, uuid, required — The external unique credential's identifier (used in the digital wallet to generate a URL, e.g. https://credsverse.com/credentials/{publicId})
    - `groupId` string, required — The unique identifier of the group (credential template).
    - `status` 'draft' | 'scheduled' | 'issued' | 'expired', required — The status of the credential
    - `recipient` Recipient, nullable, required — The recipient object (if an email was provided)
      - `id` string, required — The credential recipient's unique identifier
      - `name` string, required — The name of the credential's recipient
      - `email` string, email, required — The email of the credential's recipient
    - `issueDate` string, required — The date of your credential's issuance. Formatted as an ISO 8601 date string (YYYY-MM-DD)
    - `expiryDate` string, nullable, required — The date of your credential's expiration. Formatted as an ISO 8601 date string (YYYY-MM-DD)
    - `attributes` object, required — The key-value object of the credential's attributes. Currently this can only be the recipient.name, configured on a per-credential basis
    - `customAttributes` object, required — The key-value object of your custom attributes, where key is your attribute's tag and value is the text value you want to store
    - `createdAt` string, date-time, required — The date and time when this credential was created. Formatted as an ISO 8601 date and time string
    - `updatedAt` string, date-time, required — The date and time when this credential was updated. Formatted as an ISO 8601 date and time string
  - `pagination` object, required
    - `prev` string, nullable, required — Cursor for previous page
    - `next` string, nullable, required — Cursor for next page

## Other responses

- `400` — Bad Request - Missing version, invalid version, invalid JSON, or validation error
- `401` — Unauthorized - Invalid or missing authentication token
- `429` — Rate Limited - Too many requests
- `500` — Internal Server Error - Problem on Certifier's end

---

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