Issuing API
Issue certificates the moment they're earned.
Your LMS, student system or HR platform sends people as JSON. We render each certificate from your design and post the PDF, preview and verification link straight back to you.
- 202
- accepted in one call
- 6
- callback attempts, signed
- 0
- spreadsheets to export

Why it matters
Certificates shouldn't wait for someone to export a spreadsheet
Copying between systems breaks things
Every export and re-import is a chance to misspell a name or drop a row, and nobody notices until the certificate is printed.
Recipients wait for the next batch
A learner finishes today, but their certificate goes out when someone next has time to run a batch.
No clear record of what was issued
When issuing happens by hand, it's hard to answer "which of our people got which certificate, and when?"
With the Issuing API, the system that knows someone has finished issues their certificate at that moment, and gets back everything it needs to store and share it.
How it works
From start to finish in 4 steps
Step 01
Create a key for your designs
In Settings → API keys, create a key and tick the designs it may issue. Add a callback URL and keep the key on your server.
01Step 02
Get the exact request
Open a design and click Use via API. It shows the endpoint, every field the design needs, a ready-to-send body and a sample callback.
02Step 03
Send the people
POST up to your per-request limit of people with their field values. You get a 202 and a request id straight away; rendering happens in the background.
03Step 04
Receive the result
For each person, a signed POST reaches your callback with the serial number, verification link, and links to the PDF and preview. Or poll the status endpoint instead.
04
In code
One request in. One signed callback per person out.
You send
curl -X POST "https://YOUR-SITE/api/public/v1/designs/DESIGN_ID/issue" \
-H "Authorization: Bearer $CERTIFY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-0001" \
-d '{
"recipients": [{
"reference": "STU-0042",
"fields": {
"name": "Amara White",
"course": "Master of Business Administration"
},
"email": "amara@example.org"
}],
"sendEmail": true
}'You receive
POST /hooks/certify
X-Certify-Event: credential.issued
X-Certify-Signature: t=1790000000,v1=5f2c…
{
"event": "credential.issued",
"reference": "STU-0042",
"status": "issued",
"serialNumber": "NBS-2026-000417",
"verifyUrl": "https://YOUR-SITE/verify/K7M2QX9FTB4A",
"documentUrl": "…/credentials/c0ffee00-…/document",
"previewUrl": "…/credentials/c0ffee00-…/preview",
"issuedAt": "2026-09-21T09:30:00Z"
}What you get
Built for the details that make it trustworthy
Keys scoped to designs
A key can only issue and read the designs you tick for it, in your own organisation.
Safe to retry
Send an Idempotency-Key and a repeated request returns the first result instead of issuing twice.
All or nothing
Every person is checked first. If one has a problem, nothing is issued or charged, and you get every error at once.
Signed callbacks
Each callback carries an HMAC-SHA256 signature and timestamp, with verification examples for Node.js, Python and PHP.
Retries built in
Missed callbacks are retried over six hours, logged under the key, and can be resent by hand.
Links that never expire
Document and preview links point at the certificate, not the key, so rotating a key never breaks them.
Optional email delivery
Set sendEmail and each person is emailed their certificate once it's issued.
Rotate or revoke anytime
Rotate a key's secret or revoke it outright. Everything it issued stays readable.
Clear limits
60 requests a minute per key, with Retry-After on a 429, so your integration can pace itself.
Who it's for
Wherever proof of achievement matters
Learning platforms (LMS)
Issue a course certificate the moment a learner passes the final module.
Student information systems
Issue degrees and transcripts from the same system that records graduation.
HR and compliance tools
Issue training and onboarding certificates as employees complete them.
Exam and assessment platforms
Issue results certificates as soon as marks are released.
Event platforms
Issue attendance certificates when attendees check in or finish a session.
Membership systems
Issue membership and licence certificates on sign-up or renewal.
Questions people ask
Connect your system this week
Create a key, copy the request from Use via API, and your first certificate can be issued from your own code today.