Introduction
Getting Started
The CertiSend API is a JSON REST API for organization-scoped certificate automation. Every API key belongs to one organization and one user, so API calls can only access records for that organization.
Current public API use cases are credit lookup and certificate verification. Certificate creation, batch upload, and template management are handled in the dashboard today; those flows can be automated through integrations and will be expanded in future API versions.
Base URL
https://certi.eventro.africa
Production URL
https://certi.eventro.africa
Format
JSON only
Version
v1
Authentication
Bearer API Keys
Authenticate with an API key from the dashboard. Open API Keys, create a key, copy it immediately, and send it in the Authorization header.
curl -H "Authorization: Bearer cs_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Accept: application/json" \
https://certi.eventro.africa/api/v1/creditsResponses
Response Conventions
Success
Successful responses return JSON with endpoint-specific fields.
Error
Errors return JSON with an error string and an HTTP status code.
{
"error": "Invalid or revoked API key"
}Get Credit Balance
/api/v1/credits
Returns the current organization's certificate credit wallet balance and the subscribed user's plan.
Request
curl -H "Authorization: Bearer cs_live_xxx" \
https://certi.eventro.africa/api/v1/credits
Response
{
"organization": "WaffiHub Digital Academy",
"balance": 275,
"plan": "Advanced"
}
Verify Certificate
/api/v1/verify/{verification_code}
Checks whether a certificate verification code exists inside the API key's organization and whether the certificate is currently valid.
Request
curl -H "Authorization: Bearer cs_live_xxx" \
https://certi.eventro.africa/api/v1/verify/CERT-A9X7K2P4
Valid Response
{
"valid": true,
"recipient_name": "Amina Johnson",
"program_title": "Digital Marketing Program",
"organization_name": "WaffiHub Digital Academy",
"issue_date": "2026-06-07",
"certificate_number": "WAFFIHUB-2026-000001",
"certificate_status": "valid"
}
Not Found Response
{
"valid": false,
"error": "Certificate not found"
}
API Keys
Managing API Access
API keys are managed from the dashboard at API Keys. Admin users can create, rotate, revoke, and delete keys.
Keys are organization-scoped. If a user belongs to multiple organizations, create keys from the workspace you want the integration to access.
Create
Dashboard only. Token is shown once after creation.
Rotate
Invalidates the previous token and shows a replacement once.
Revoke
Keeps the key record but blocks future requests.
Delete
Removes the key record.
Payments & Webhooks
Gateway Integration Notes
Paystack and Flutterwave are used by the CertiSend dashboard for subscription upgrades. These endpoints are consumed by payment gateways, not by external customer applications.
/webhooks/payments/paystack
Receives signed Paystack payment webhooks and verifies the transaction before activating a user subscription.
/webhooks/payments/flutterwave
Receives Flutterwave webhooks using an optional webhook secret hash configured in Flutterwave webhook settings. The public, secret, and encryption keys are separate API credentials.
Integration Recipes
Common Use Cases
Student portal verification
Store the certificate verification code in your portal and call the verify endpoint before displaying a verified badge.
Support dashboard
Use the credit endpoint to show operations teams whether the organization has enough credits before uploading a cohort.
Employer verification page
Create a public form that asks for a verification code and uses the API to return certificate status.
Internal monitoring
Schedule a daily credit-balance check and notify admins before credits run low.
Errors
HTTP Status Codes
| Status | Meaning | When it happens |
|---|---|---|
| 200 | OK | The request succeeded. |
| 401 | Unauthorized | The API key is missing, invalid, or revoked. |
| 404 | Not found | The verification code does not exist for this organization. |
| 422 | Unprocessable content | The dashboard could not process submitted data. |
| 500 | Server error | An unexpected error occurred. |
Changelog
Current Version
API v1 currently supports credit balance lookup and organization-scoped certificate verification. Future versions can add certificate issuing, batch creation, recipients, templates, and webhook event subscriptions as those surfaces are made stable.