Skip to main content

Issue a single credential

1

Authenticate

The API also sets an httpOnly cookie (certiva_access_token). Dashboard requests use the cookie automatically — no manual header needed.
2

Submit the credential

3

Share with the recipient

Give the credential holder the verificationCode, verificationUrl, or QR code. All three resolve to the same credential record.

Issue credentials in bulk (CSV)

1

Upload the CSV

2

Poll batch progress

Poll until status is COMPLETED or FAILED. Failed rows include per-row error details.

Verify a credential publicly

No authentication required for any verification endpoint.

By verification code

By PDF upload

Rate limited to 10 requests per 60 seconds.

Register a document integrity proof

1

Upload the document

Certiva hashes the document and discards the source file. Only the SHA-256 hash is stored.
2

Share the verification code

Give document holders the verificationCode or QR code. Anyone can verify the document has not been modified.

Verify a document proof publicly

Returns VALID on a byte-level hash match, INVALID if the file has been modified, or NOT_FOUND if no matching proof exists.

Revoke a credential

Valid reasons: DATA_CORRECTION, ISSUED_IN_ERROR, FRAUD_SUSPECTED, INSTITUTION_REQUEST, OTHER, LEGACY. After revocation, public verification returns result: REVOKED permanently.

Bulk revoke

Create an admin account

Requires OWNER or SUPER_ADMIN role.

Migrate assets from local storage to R2

A one-time migration script moves all credential assets from the local filesystem driver to Cloudflare R2. Run this once during the transition to staging or production:
Run in a maintenance window with valid R2 credentials configured. Verify all assets are present in R2 before switching STORAGE_DRIVER=r2 in production.

Rebuild credential assets

If QR codes or metadata become stale after a URL configuration change:

Export audit logs