Skip to content

Endpoints

Document endpoints require Authorization: Bearer <api-key> and X-Issuer-Id: <issuer-id>. Tenant settings, issuer management, and key management require only Authorization: Bearer <api-key>. Admin endpoints require Authorization: Bearer <admin-secret>. Registration and email verification are public.

Run in Postman

Registration (public)

MethodPathDescription
POST/v1/registerSelf-service: create tenant + issuer + sandbox API key. Idempotent — if the email already exists, revokes the current sandbox key and returns a new one (200).
GET/v1/verify-emailVerify email with token from registration email
POST/v1/resend-verificationResend verification email (regenerates token)

Tenants (authenticated)

MethodPathDescription
PATCH/v1/tenants/languageUpdate the preferred language for outgoing emails
POST/v1/tenants/promotePromote the tenant to production — revokes all sandbox keys and creates matching production keys

Issuers (authenticated)

MethodPathDescription
GET/v1/issuersList all active issuers (branches / issue points) for the tenant
POST/v1/issuersCreate a new branch or issue point — inherits cert from an existing issuer of the tenant. Does NOT mint a new API key.
GET/v1/issuers/:idGet a single issuer's profile (name, RUC, cert expiry)
GET/v1/issuers/:id/document-typesList active document types for the issuer
POST/v1/issuers/:id/document-typesEnable a document type for the issuer
DELETE/v1/issuers/:id/document-types/:codeDisable a document type for the issuer

API keys (authenticated)

MethodPathDescription
GET/v1/keysList all active keys for the tenant (label, environment, created_at)
POST/v1/keysMint a new named key (label, optional environment)
DELETE/v1/keys/:idRevoke an API key. Cannot revoke the key used for the current request.

Documents

Every document endpoint requires both Authorization: Bearer <key> and X-Issuer-Id: <issuer-id>.

MethodPathDescription
GET/v1/documentsList documents with filtering and pagination
POST/v1/documentsCreate and sign an invoice
GET/v1/documents/:accessKeyGet a document by access key
POST/v1/documents/:accessKey/sendSubmit signed document to SRI
GET/v1/documents/:accessKey/authorizeCheck SRI authorization status
POST/v1/documents/:accessKey/rebuildRebuild and re-sign a rejected document
GET/v1/documents/:accessKey/rideDownload RIDE PDF
GET/v1/documents/:accessKey/xmlDownload signed XML
GET/v1/documents/:accessKey/eventsGet audit event history
POST/v1/documents/email-retryRetry all failed/pending emails (batch)
POST/v1/documents/:accessKey/email-retryRetry email for a single document

Notifications (authenticated)

Tenant-level alerts for document events and certificate status. Supply X-Issuer-Id to filter to a specific issuer; omit for an all-issuer admin view. Use ?sinceId=<id> to efficiently poll only new notifications since your last request.

MethodPathDescription
GET/v1/notificationsList active notifications (read and unread). Optional ?sinceId=<id> for catch-up polling.
POST/v1/notifications/:id/readMark a notification as read
GET/v1/notifications/preferencesGet notification type preferences for the tenant
PATCH/v1/notifications/preferencesEnable or disable notification types

Webhooks (authenticated)

Register HTTPS callback URLs to receive event notifications in near-real time.

MethodPathDescription
POST/v1/webhooksRegister a new webhook endpoint (secret shown once)
GET/v1/webhooksList active webhook endpoints (secrets excluded)
PATCH/v1/webhooks/:idUpdate URL, event subscriptions, or active flag
DELETE/v1/webhooks/:idDeregister an endpoint (soft-delete)

Admin

MethodPathDescription
POST/v1/admin/tenantsCreate tenant (manual onboarding, status ACTIVE)
GET/v1/admin/tenantsList all tenants
PATCH/v1/admin/tenants/:id/tierUpdate tenant subscription tier
PATCH/v1/admin/tenants/:id/statusActivate or suspend a tenant
POST/v1/admin/tenants/:id/verifyManually verify a tenant's email
POST/v1/admin/tenants/:id/promotePromote a tenant to production (admin override — skips ACTIVE status check)
POST/v1/admin/tenants/:id/api-keysMint a tenant-scoped API key (admin)
POST/v1/admin/issuersCreate issuer for a tenant (requires tenantId). Does NOT return an API key — mint one via /v1/admin/tenants/:id/api-keys.
GET/v1/admin/issuersList all issuers
DELETE/v1/admin/api-keys/:idRevoke an API key
POST/v1/admin/jobs/notificationsRun cert-expiry checks for all tenants + process webhook retry queue

Monitoring

MethodPathAuthDescription
GET/healthNoneDB connectivity check for liveness probes

Comprobify API Documentation