---
title: "Look up by share token"
method: GET
path: "/certificates/by-token/{shareToken}"
tags: ["Certificates"]
---

# Look up by share token

`GET /certificates/by-token/{shareToken}`

## Request

- Base URL: `https://services.certseal.com/api/v1`
- URL: `https://services.certseal.com/api/v1/certificates/by-token/{shareToken}`
- Auth: HTTP bearer

Look up a certificate by its `shareToken` — the opaque value
used in public viewer URLs like `/v/{shareToken}`. Same response
shape as the certificate-id lookup.

## Path parameters

- `shareToken` string, required

## Response `200`

Certificate found.

- Certificate
  - `recipient` Recipient, required
    - `id` string, required
    - `batchId` string, required
    - `name` string, nullable
    - `email` string, email, nullable
    - `certificateId` string, nullable: Human-readable id, e.g. CERT-2026-003843-000001.
    - `shareToken` string, nullable: Opaque token used in public viewer URLs.
    - `certUrl` string, uri, nullable: Fully-qualified public viewer URL. Null when `PUBLIC_APP_URL` isn't configured on the server.
    - `issueDate` string, date-time, nullable
    - `expiryDate` string, date-time, nullable
    - `data` object, required: All free-form fields preserved from the original input; interpolated into the certificate template at render time.
    - `emailStatus` 'pending' | 'queued' | 'sending' | 'sent' | 'failed', required
    - `emailSentAt` string, date-time, nullable
    - `createdAt` string, date-time, required
  - `batch` object, required
    - `id` string, required
    - `title` string, required
    - `courseName` string, nullable
    - `issuerName` string, nullable
  - `design` object, required
    - `id` string, required
    - `name` string, required
    - `templateJson` object, required: Pass-through of the design's renderer payload.
  - `variables` object, required: Merged variable map ready for `{{key}}` interpolation — recipient data + batch defaults + system values like `cert_link`, `issue_date`, etc.

## Other responses

- `401`: Missing, malformed, expired, or revoked API key.
- `404`: The requested resource was not found in this workspace.
- `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)
