Taxlyne Docs
API

API overview

What the Taxlyne API does, how requests and responses are shaped, and where to start.

The Taxlyne API creates invoices, signs them, and registers them with FIRS (Nigeria's Federal Inland Revenue Service). Anything you can do in the portal, you can do over the API — with a few deliberate exceptions listed under Scopes and permissions.

Start here

  1. Environments — base URLs, and which one to build against.
  2. Authentication — create an API key and send it correctly.
  3. Your first invoice — a working request, end to end.
  4. Filing with FIRS — validate, sign, submit.
  5. Resources — every endpoint a key can reach, and the scope it needs.

How every response is shaped

Successful responses are wrapped in a consistent envelope:

{
  "success": true,
  "data": { },
  "timestamp": "2026-09-02T14:29:56.000Z"
}

Some endpoints add a message. Most, including POST /invoices, return the resource alone and no message key at all — so treat it as optional rather than reading it unconditionally.

Listing endpoints add a meta object with the pagination totals:

{
  "success": true,
  "data": [ ],
  "meta": { "total": 137, "page": 2, "limit": 10, "totalPages": 14 },
  "timestamp": "2026-09-02T14:29:56.000Z"
}

totalPages is already computed for you — no need to derive it.

Errors do not use this envelope. They have their own shape, documented in Errors.

Versioning

Every route is prefixed with the API version:

https://api.taxlyne.com/api/v1/invoices

v1 is the only version. When a second one exists, v1 keeps working — we will not change the meaning of an existing field or remove one without a new version.

Interactive reference

A complete, always-current endpoint reference is served from the API itself:

These guides cover the parts a reference cannot: which calls to make in what order, what a status means, and the handful of behaviours that will surprise you. Use the reference for exact field names and the guides for everything else.

On this page