---
title: "List credential templates"
method: GET
path: "/v1/groups"
tags: ["Credential Templates"]
---

# List credential templates

`GET /v1/groups`

Use this endpoint to list credential templates (groups).

<Callout title="Naming update" type="warn">
Groups are being renamed to Credential Templates to better reflect their purpose. This is a **naming update only** — all functionality remains the same.

During the transition, you may still see both terms used interchangeably across the API, app, and existing integrations.
</Callout>

## 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 credential templates (groups)

- object
  - `data` Group[], required
    - `id` string, required — The unique identifier of the credential template (group).
    - `name` string, required — The name of the credential template (group) that is used as [group.name] attribute later on
    - `learningEventUrl` string, uri, nullable, required — The learning event's URL that is shown in the digital wallet
    - `designIds` string[], required — The ordered list of design template IDs associated with this credential template.
    - `certificateDesignId` string, nullable, required — Legacy field, to be removed. Returns the first ordered certificate design ID from designIds, or null when no certificate design is associated. Present only when the legacy request shape was used.
    - `badgeDesignId` string, nullable, required — Legacy field, to be removed. Returns the first ordered badge design ID from designIds, or null when no badge design is associated. Present only when the legacy request shape was used.
    - `createdAt` string, date-time, required — The date and time when this credential template (group) was created. Formatted as an ISO 8601 date and time string
    - `updatedAt` string, date-time, required — The date and time when this credential template (group) 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)
