Developer API

Issue, verify, and sign documents from your own systems.

Use a compact workspace API to validate credentials, issue verification records, provision teammates, and create managed signature workflows without losing the hosted trust layer.

Live base URL

https://verifydoc.ai

HTTPS only. The API is workspace-bound, so every issued record stays attached to the issuing dashboard, analytics, and audit trail.

Authentication

Bearer key or x-api-key

Generate workspace API keys in Dashboard → Settings → API. Only invite admins can create or revoke them, and plaintext is shown once.

Current surface

4 live endpoints

Validate the key, issue verification links, add teammates, and create signature workflows. The surface area is intentionally narrow.

Quick start

Integrate in three moves.

Start by validating the workspace key, then issue records from the upstream system that owns the document lifecycle.

  1. Generate a production key in Settings and store it in your secrets manager.
  2. Call /api/developer/me on startup to confirm the workspace context.
  3. Use verification or signature issuance in your document flow, and team sync only when needed.
curl -X GET "https://verifydoc.ai/api/developer/me" \
  -H "Authorization: Bearer vd_live_xxxxxxxxxxxxxxxxx" \
  -H "Accept: application/json"
Endpoints

Use the smallest endpoint set that matches your workflow.

The current public surface is built around credential validation, record issuance, controlled teammate provisioning, and managed signature orchestration.

GET/api/developer/me
Bootstrap

Validate the key and read workspace context

Call this first. It confirms the API key, returns the issuing workspace profile, and lets your system bind to the right tenant before doing anything else.

Request
curl -X GET "https://verifydoc.ai/api/developer/me" \
  -H "Authorization: Bearer vd_live_xxxxxxxxxxxxxxxxx"
Response
{
  "ok": true,
  "workspace": {
    "id": "workspace:123",
    "companyName": "Pryme Financial",
    "supportEmail": "hello@verifydoc.ai",
    "countryCode": "NG",
    "industryId": "financial-institutions"
  },
  "apiKey": {
    "id": "4d3f25b8aa0f",
    "name": "Production key",
    "preview": "vd_live_4d3f25b8••••d2x9",
    "lastUsedAt": "2026-04-12T00:28:00.000Z"
  }
}
POST/api/developer/verification-links
Issuance

Issue a verification record and return a QR asset

Submit document metadata and get back the hosted verification URL, QR image data URL, reference code, and certificate-ready summary in one response.

Request
curl -X POST "https://verifydoc.ai/api/developer/verification-links" \
  -H "Authorization: Bearer vd_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "issuerName": "Pryme Financial",
    "recipientName": "Customer segment",
    "recipientEmail": "ops@example.com",
    "documentTitle": "Core banking migration notice",
    "issuedAt": "2026-04-12T10:30:25.000Z",
    "brandedMessage": "Managed notice issued from the core banking platform."
  }'
Response
{
  "ok": true,
  "referenceCode": "VD-D9C-HDP",
  "verificationUrl": "https://verifydoc.ai/v/<token>",
  "qrCodeDataUrl": "data:image/png;base64,...",
  "documentSummary": {
    "title": "Core banking migration notice",
    "issuer": "Pryme Financial",
    "recipient": "Customer segment",
    "documentId": "26041210302512345678"
  }
}
POST/api/developer/team-members
Provisioning

Add teammates from an external system

Provision workspace teammates from your HRIS or admin system. Seat limits are enforced at the API edge and VerifyDoc handles the invite email.

Request
curl -X POST "https://verifydoc.ai/api/developer/team-members" \
  -H "Authorization: Bearer vd_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "fullName": "Ada Okonkwo",
    "email": "ada@example.com",
    "department": "Operations"
  }'
Response
{
  "ok": true,
  "member": {
    "id": "member:0fd13...",
    "fullName": "Ada Okonkwo",
    "email": "ada@example.com",
    "department": "Operations",
    "membership": "Member"
  }
}
POST/api/developer/signature-requests
Signing

Create a signature workflow with managed invites

Register signers, page assignments, and managed invite delivery while still returning the verification URL and QR in the same call.

Request
curl -X POST "https://verifydoc.ai/api/developer/signature-requests" \
  -H "Authorization: Bearer vd_live_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "issuerName": "Pryme Financial",
    "recipientName": "Treasury counterparty",
    "documentTitle": "Facility confirmation letter",
    "issuedAt": "2026-04-12T10:30:25.000Z",
    "signers": [
      {
        "fullName": "Legal reviewer",
        "email": "legal@example.com",
        "pages": [1, 2],
        "color": "#0f766e"
      },
      {
        "fullName": "Treasury approver",
        "email": "treasury@example.com",
        "pages": [2]
      }
    ]
  }'
Response
{
  "ok": true,
  "workflowId": "signature:loan-offer-april",
  "referenceCode": "VD-FR6-MQA",
  "verificationUrl": "https://verifydoc.ai/v/<token>",
  "qrCodeDataUrl": "data:image/png;base64,...",
  "signers": [
    {
      "id": "signer:01",
      "fullName": "Legal reviewer",
      "email": "legal@example.com",
      "pages": [1, 2],
      "status": "sent"
    }
  ]
}
Production rules

Keep the integration narrow and controlled.

  • Use one production key per service or environment so revocation stays surgical.
  • Validate with /api/developer/me before issuing live records.
  • Store keys in a secrets manager. VerifyDoc shows plaintext only once.
  • Use teammate provisioning only where your upstream system is the source of truth.
Returned assets

Everything needed to stamp and track the issued record.

  • Use the returned qrCodeDataUrl directly in HTML, PDF, image, or document pipelines.
  • Pair the QR with verificationUrl and referenceCode for visible fallback lookup.
  • Issued records remain visible in the workspace dashboard, analytics, and audit surfaces.
  • Key usage updates automatically through the API key ledger in Settings.
Support

Need an implementation review?

For rollout questions, API design help, or implementation review, contact hello@verifydoc.ai.