Getting started
Introduction
Follow the onboarding path from sandbox setup to production access with signed webhooks, allowlisted callbacks, and cutover guardrails.
Popular guide
Mono banking connector
Eligibility, classification, and reconciliation guidance.
Use this guide to move from sandbox onboarding to production access with clear guardrails for KYC, callbacks, connectors, and readiness.
Getting started
- Create a sandbox account and verify email.
- Signup defaults to sandbox provisioning; set
sandbox=falsein/auth/signupto skip sandbox setup. - Pick SI, AP, or Hybrid for your first environment.
- Confirm your organization profile (legal name, contact email, TIN).
- Configure sandbox FIRS details (TIN, Service ID, Business ID, business name).
- Generate sandbox API keys in the dashboard (
Authorization: Bearer <keyId:secret>). - Decide which connectors you will use (Mono, Odoo, or direct SI API).
Sandbox onboarding
Sandbox onboarding focuses on connectivity and validation without production KYC:
- Register an external system and add an optional callback URL.
- Run
POST /onboarding/test-callbackto verify the callback endpoint.- The callback URL must be allowlisted via
ONBOARDING_CALLBACK_ALLOWLIST. - HTTPS is required unless
ONBOARDING_CALLBACK_ALLOW_HTTP=true. - Timeouts are enforced by
ONBOARDING_CALLBACK_TIMEOUT_MS(default 5000).
- The callback URL must be allowlisted via
- Run sample invoices (
POST /si/invoices/sample) to verify IRN and QR generation. - Optional: run a FIRS smoke test (
POST /ap/firs-smoke) to confirm sandbox connectivity.
Connector setup (Mono/Odoo)
Use the dashboard connector panels or the SI connector endpoints:
- Enable connectors per environment and keep configs scoped to sandbox vs production.
- Odoo: test connection, store credentials (encrypted at rest), preview invoices, then sync using stored config.
- Mono: create a widget link, complete Mono Connect, exchange the auth code for an account ID, and verify webhook status. See the integration guides for details.
Production access and KYC
Production access is gated by KYC and ops controls:
- Request production access in the dashboard. The backend generates a Dojah flow link.
- The production environment moves to
PENDING_KYCuntil the webhook returns. - The
/kyc/webhookendpoint requiresx-kyc-signatureandx-kyc-timestampheaders.- Signature is HMAC SHA256 of
{timestamp}.{payload}usingKYC_WEBHOOK_SECRET.
- Signature is HMAC SHA256 of
- Approved status sets
APPROVED_PENDING_CONFIGand unlocks production setup.
Callbacks and webhooks
Validate webhook delivery early:
- Invoice callbacks include
x-signature(HMAC SHA256 of raw body). Receivers should verify the signature. - Mono webhooks use
x-mono-signatureandx-mono-timestampwithMONO_WEBHOOK_SECRET. - Test callbacks only deliver to allowlisted URLs for sandbox safety.
Monitoring and reliability
- Check connector health via
GET /si/connectors/registry. - Review pipeline metrics via
GET /si/metrics(ingest/validate/sign counters, connector health, recent failures). - Inspect and replay DLQ items via
GET /si/dlq,GET /si/dlq/stats, andPOST /si/dlq/replay. - Replay failed callbacks via
POST /si/callbacks/dlq/replay.
Sandbox to production cutover
Before going live:
- Ensure
/si/readinessreports sandbox ready (SI/AP enabled, DLQ empty). - Provision production FIRS credentials and keys via ops (no UI key uploads).
- Run a production smoke invoice with callbacks and verify delivery.
- Only enable production traffic when readiness is green and connector health is stable.
System integration
System Integration (SI) handles canonical invoice ingest, validation, and signing:
- Ingest:
POST /si/invoiceswithenvironmentIdand optionalidempotency-key. - Retrieve status:
GET /si/invoices/:idor dashboard invoice views. - Optional callbacks for async status updates.
Access Point
Access Point (AP) adds downstream routing and archival:
- Route validated invoices to counterparties.
- Track delivery status and maintain audit trails.
- Use DLQ and replay for failed deliveries.
Hybrid orchestration
Hybrid combines SI and AP into a single workflow:
- SI ingest and validation feed AP routing automatically.
- Unified monitoring, connector health, and cutover playbooks.
- Shared audit and compliance reporting.