Skip to main content

Quickstart

Your first Finora Business API call

A working integration, start to finish, in five steps. No SDK, nothing to install — just curl and a key.

1

Subscribe to Premium or Accountant Pro

The API is available to paid plans only. Premium is the cheapest entry point and includes 100 free live API calls plus unlimited test-mode calls, so you can validate your integration before paying anything extra.

See the plans
2

Generate a key in the dashboard

Sign into app.finorabusiness.com, open Settings → API & Integrations, and click Generate New Key. Give it a descriptive name like WooCommerce Production.

Copy your key immediately

We only store a SHA-256 hash of the key, so it's shown once. If you lose it, you need to revoke and regenerate.

Open the key page
3

Store the key safely

Never hard-code the key. Put it in an environment variable (for servers) or a secret manager (for serverless).

.env
FINORA_API_KEY=live_sk_..........................................
FINORA_BUSINESS_ID=YOUR_BUSINESS_ID

Use a test_sk_ key when you're hacking locally — it works against the same API but calls don't drain your credit balance.

4

Make your first call

Fetch your first 10 invoices:

curl
curl https://api.finorabusiness.com/v1/invoices \
  -H "Authorization: Bearer $FINORA_API_KEY" \
  -G \
  -d "businessId=$FINORA_BUSINESS_ID" \
  -d "limit=10"

The same URL works in production and staging — swap the domain to staging-api.finorabusiness.com to hit staging.

5

Parse the response

Every response follows the same envelope: a success boolean, a data object (or error), and a meta block with request ID and rate-limit headers.

Response
{
  "success": true,
  "data": {
    "items": [
      {
        "id": "abc123",
        "invoiceNumber": "INV-2026-001",
        "customerName": "Acme Ltd",
        "totalKobo": 53750000,
        "total": 537500.00,
        "status": "sent",
        "createdAt": "2026-04-10T09:15:00.000Z"
      }
    ],
    "pagination": {
      "total": 42,
      "limit": 10,
      "hasMore": true
    }
  },
  "meta": {
    "requestId": "req_a1b2c3d4e5f6g7h8",
    "timestamp": "2026-04-17T10:30:00.000Z",
    "rateLimit": {
      "limit": 60,
      "remaining": 58,
      "reset": "2026-04-17T10:31:00.000Z"
    }
  }
}

All monetary fields are dual-written: totalKobo (integer, source of truth) and total (naira, convenience). Always compute on kobo.

Where to go next