Build on Cashflow — API v2
An early look at where the API is headed. Nothing here is live yet — every endpoint you can actually call today lives on API v1, which stays fully supported for as long as v2 is in preview and beyond.
Introduction
This page is a placeholder for Cashflow API v2 — published early so the shape of it can be
reviewed and linked to before any code is written against it. There is no /api/v2
endpoint to call yet. Everything documented under
API v1 is what's live today,
and it isn't going anywhere: v1 keeps working, unchanged, for as long as v2 is in preview and for a
reasonable window after v2 ships.
/api/v2/* base URL, alongside v1's /api/v1/* — never a breaking change to an existing path.The mechanics described below — authentication and error handling — reflect what v1 already does today. The plan is for v2 to carry them over unchanged unless a specific reason to break from them shows up; this page will be updated to call out anything that actually changes once v2's real endpoints are defined.
Authentication
Expected to be identical to v1: one API key per business, generated and rotated from Admin console ▸ Developer API — visible only to the business owner. Send it as a bearer token on every request:
Authorization: Bearer cf_live_••••••••••••••••••••••••••••••••••••
API keys aren't versioned — the same key that works against /api/v1 today is expected
to work against /api/v2 once it exists, scoped to the same business either way.
Errors & rate limits
Standard HTTP status codes, and the same response envelope as v1 — every response, success or
failure, carries a top-level status field:
{
"status": "Failed",
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
]
}
}
Need something that works today?
API v1 covers your business profile, contacts, sales documents, inventory, purchases, banking and team — and isn't going away.
Go to v1 docs