Build Finance Into Your Product
A consistent API over payments, collections, ledger, invoices and settlements. Provider IDs are kept separate from internal IDs so partners can change without breaking your integration.
curl -X POST https://api.example.invalid/api/v1/payments \
-H "Authorization: Bearer $ETIQUETTE_TEST_KEY" \
-H "Idempotency-Key: 7c1f0a52-sample" \
-d '{ "amount": 150000, "currency": "INR",
"reference": "INV-0042", "method": "upi" }'
# 201 Created
{ "id": "pay_8f3a…", "status": "pending",
"provider": "sandbox", "provider_ref": null }Illustrative request shapes for the planned public API. The host is a placeholder, no live keys exist, and secrets always come from environment variables.
API surface
Payments API
Create and track payments
Planned
Collections API
Links, QR and receivables
Planned
Transactions API
Query the unified ledger
Planned
Invoice API
Create and manage invoices
Planned
Settlement API
Settlement batches and status
Planned
Webhook API
Signed event delivery
Planned
Reconciliation API
Matching and exceptions
Planned
Customer API
Customers and profiles
Planned
Webhooks
Events are delivered with an HMAC signature over the raw body. Verify the signature with your endpoint's signing secret before trusting a payload. Delivery is retried and idempotent.
Sandbox first
Everything runs against a sandbox adapter with test data. Live credentials are never required for evaluation, never shown in documentation and always come from environment variables.
Documentation architecture
Planned structure of the developer portal.
Getting started
Planned
Authentication
Planned
API reference
Planned
Webhooks and events
Planned
Sandbox and test data
Planned
Error codes and idempotency
Planned
Changelog
Planned
SDKs
Planned