---
title: "List batches"
method: GET
path: "/batches"
tags: ["Batches"]
---

# List batches

`GET /batches`

## Request

- Base URL: `https://services.certseal.com/api/v1`
- URL: `https://services.certseal.com/api/v1/batches`
- Auth: HTTP bearer

Returns batches in the API key's workspace, newest first.

By default only active batches are returned. Use `?status=archived`
to list batches that have been soft-deleted via the archive
endpoint, or `?status=all` to merge both groups into one page.

## Query parameters

- `cursor` string
- `limit` integer
- `status` 'active' | 'archived' | 'all'

## Response `200`

A page of batches.

- object
  - `batches` Batch[], required
    - `id` string, required
    - `workspaceId` string, required
    - `title` string, required
    - `description` string, nullable
    - `designId` string, required
    - `emailTemplateId` string, nullable
    - `courseName` string, nullable: Default `{{course_name}}` for recipients in this batch.
    - `issuerName` string, nullable: Default `{{issuer_name}}` for recipients in this batch.
    - `recipientCount` integer, required: Cached count of recipients in the batch.
    - `archivedAt` string, date-time, nullable, required: Soft-delete marker. `null` for active batches; set when the batch has been archived via `POST /batches/{id}/archive`. Archived batches still serve `GET /batches/{id}`, public certificate URLs, and certificate lookups — but every write endpoint (recipient create / update / delete / send) returns `409 BATCH_ARCHIVED` until the batch is unarchived.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `pagination` Pagination, required
    - `nextCursor` string, nullable, required: Pass this as `?cursor=` to fetch the next page. `null` when you've reached the last page.
    - `hasMore` boolean, required: True when more pages remain.

## Other responses

- `401`: Missing, malformed, expired, or revoked API key.
- `429`: Too many requests for this API key. Honour the `Retry-After` response header (seconds) or the `detail.retryAfter` field.

---

[API](https://skmtc.dev/certseal/apis/certseal-com-api.md) · [All operations](https://skmtc.dev/certseal/apis/certseal-com-api/llms.txt) · [OpenAPI document](https://skmtc.dev/certseal/apis/certseal-com-api/revisions/9097f49f49f5?raw)
