Back to Insights
Engineering
7 min read

ProofDeck API Integration Guide

B
Bolaji.
Published May 2, 2026

A practical, step-by-step guide to integrating ProofDeck’s certificate issuance API into your LMS, HR system, or custom application.

With this integration, certificates are issued automatically the moment something meaningful happens: a course completion, an employee milestone, or an event check-in.

Why Integrate?

Manual uploads don’t scale. APIs do.

By integrating ProofDeck:

  • LMS platforms can issue certificates instantly after course completion.

  • HR systems can award credentials after training or compliance checks.

  • Event platforms can send certificates automatically when attendees check in.

No CSVs. No delays. No copy-paste mistakes.

Prerequisites

Before writing any code, make sure you have the following:

1. ProofDeck Account

You’ll need a Pro or Enterprise plan to access the API.

2. API Key

  1. Log in to your ProofDeck dashboard

  2. Go to Settings → Developer

  3. Click Generate API Key

  4. Copy and store it securely (treat it like a password)

Example:

Pd_live_12345sample

3. Template ID

Certificates are issued using a template design.

To get the ID:

  1. Open a template in your dashboard

  2. Copy the template Id on the template card

API Overview

Base URL

https://certifyme.pythonanywhere.com/api/v1/certificates

Step 1 – Issue a Certificate

Endpoint

POST /api/v1/certificates

Required Headers

Content-Type: application/json

X-API-Key: YOUR_API_KEY

Request Body Parameters

Field

Type

Required

Description

template_id

Integer

Yes

Certificate template to use

recipient_name

String

Yes

Full name of recipient

recipient_email

String

Yes

Recipient’s email address

course_title

String

Yes

Course or achievement name

issue_date

String

Yes

Date (YYYY-MM-DD)

issuer_name

String

No

Override default issuer name

extra_fields

Object

No

Custom fields (student ID, score, etc.)

Example Request (cURL)

curl -X POST https://certifyme.pythonanywhere.com/api/v1/certificates \
  -H "Content-Type: application/json" \
  -H "X-API-Key: pd_live_12345sample" \
  -d '{
    "template_id": 5,
    "recipient_name": "Alice Johnson",
    "recipient_email": "alice@example.com",
    "course_title": "Advanced Data Analytics",
    "issue_date": "2023-11-15"
  }'

Step 2 – Handle the Response

If everything goes well, you’ll receive a JSON response like this:

{
  "msg": "Certificate created and dispatched successfully.",
  "certificate_id": 1024,
  "verification_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

What Each Field Means

  • certificate_id
    Internal ID for the issued certificate.

  • verification_id
    Public unique identifier used for verification.

You can build a verification URL like:

https://proofdeck.app/verify/a1b2c3d4-e5f6-7890-abcd-ef1234567890

Store this ID in your database if you want to:

  • show users their certificate link

  • re-send certificates

  • or provide verification access later

Step 3 – Automate It

Once this endpoint is wired into your system:

  • Trigger it after course completion

  • Or after HR training approval

  • Or after event check-in

From that point on, certificates become infrastructure.

Error Handling (Recommended)

Always check for:

  • HTTP status codes ≠ 200

  • Missing fields

  • Invalid API keys

  • Rate limits

Example logic:

  • 401 → invalid API key

  • 422 → missing or invalid fields

  • 500 → server error (retry later)

Learn more

Full API documentation:
👉 https://www.proofdeck.app/docs

Product homepage:
👉 https://www.proofdeck.app