Contents

Usage

The month's usage and estimated charge.

The Usage object

Attributes

  • period_start required Type: string
  • period_end required Type: string

    Start of the next month (exclusive).

  • checks required Type: integer
  • billable_checks required Type: integer
  • not_charged required Type: object
  • decisions required Type: object

    The month's items per decision.

  • unit_price required Type: string

    In currency.

  • currency required Type: "gbp" "usd"

    The billing currency: gbp in the UK, usd otherwise.

  • estimated_charge required Type: string

    billable_checks × unit_price.

  • daily required Type: object[]
  • billing required Type: object

Usage on its own page

The Usage object
{
  "period_start": "2026-09-01T00:00:00Z",
  "period_end": "2026-10-01T00:00:00Z",
  "checks": 1284,
  "billable_checks": 1247,
  "not_charged": {
    "UNREADABLE": 21,
    "NO_SIGNATURE": 16,
    "errors": 3
  },
  "decisions": {
    "AUTO_APPROVE": 512,
    "APPROVE": 474,
    "FLAG": 212,
    "FAILED": 49,
    "UNREADABLE": 21,
    "NO_SIGNATURE": 16
  },
  "unit_price": "0.50",
  "estimated_charge": "623.50",
  "currency": "gbp",
  "daily": [
    {
      "date": "2026-09-01",
      "checks": 41,
      "billable": 40
    }
  ],
  "billing": {
    "mode": "stripe",
    "status": "active"
  }
}

The month's usage and estimated charge

GET /nib/usage

Needs org:read: See org, members, usage

One UTC month (period: current, the default, or YYYY-MM). The estimate is 0.50 per billable check, in the organisation's billing currency.

Parameters

  • period queryoptional Type: string

Returns

  • 200 Type: Usage
    The month's usage
  • 400 Type: Problem
    invalid_request, invalid_version, idempotency_key_required or invalid_signature
  • 401 Type: Problem
    unauthorized
  • 403 Type: Problem
    permission_denied, org_suspended, or address_not_allowed (your organisation only accepts requests from the addresses it has listed)
  • 421 Type: Problem
    wrong_region
  • 429 Type: Problem
    rate_limited or quota_exceeded
  • default Type: Problem
    internal
GET /nib/usage · curl
curl "https://api.unforged.sh/nib/usage" \
  -H "Authorization: Bearer $UNFORGED_KEY" \
  -H "Unforged-Version: 2026-10-14"
GET /nib/usage · Python
import requests

r = requests.get(
    "https://api.unforged.sh/nib/usage",
    headers={"Authorization": f"Bearer {UNFORGED_KEY}", "Unforged-Version": "2026-10-14"},
)
print(r.json())
GET /nib/usage · Node.js
const res = await fetch('https://api.unforged.sh/nib/usage', {
  method: 'GET',
  headers: { Authorization: `Bearer ${process.env.UNFORGED_KEY}`, 'Unforged-Version': '2026-10-14' },
});
console.log(await res.json());
Response 200
{
  "period_start": "2026-09-01T00:00:00Z",
  "period_end": "2026-10-01T00:00:00Z",
  "checks": 1284,
  "billable_checks": 1247,
  "not_charged": {
    "UNREADABLE": 21,
    "NO_SIGNATURE": 16,
    "errors": 3
  },
  "decisions": {
    "AUTO_APPROVE": 512,
    "APPROVE": 474,
    "FLAG": 212,
    "FAILED": 49,
    "UNREADABLE": 21,
    "NO_SIGNATURE": 16
  },
  "unit_price": "0.50",
  "estimated_charge": "623.50",
  "currency": "gbp",
  "daily": [
    {
      "date": "2026-09-01",
      "checks": 41,
      "billable": 40
    }
  ],
  "billing": {
    "mode": "stripe",
    "status": "active"
  }
}