Developer documentation

Build your first BizSolo integration

The v1 API uses explicit public contracts. Existing browser APIs and cookies are not accepted.

Quickstart

  1. Open Developer Tools in the BizSolo app.
  2. Create a key, choose its expiry, and select only the required scopes.
  3. Copy the key immediately; it is shown once.
  4. Call https://app.bizsolo.biz/api/v1/company with a Bearer token.
curl https://app.bizsolo.biz/api/v1/company \
  -H "Authorization: Bearer $BIZSOLO_API_KEY"

Authentication

Send Authorization: Bearer bzs_live_… on every request. API keys represent one workspace, expire after 30–365 days, and can be revoked immediately. Browser session cookies are ignored by public API routes.

Scopes

Scopes separate reads, writes, and sensitive actions. A request without the operation's scope returns 403.

company:readaccounts:readtransactions:writeinvoices:sendfiles:readtax-review:write

Pagination

Lists default to 50 items and accept limit up to 100 plus an opaque cursor. Use meta.nextCursor exactly as returned; a null cursor means the list is complete.

{ "data": [], "meta": { "nextCursor": null } }

Errors

Errors use application/problem+json and include a stable HTTP status, human-readable detail, and request ID. Quote the request ID when troubleshooting.

Idempotency

Resource creation and action endpoints require a unique Idempotency-Key. An identical replay returns the original result for 24 hours; changing the request under the same key returns 409.

Rate limits

Normal operations allow 120 requests per minute per key. Sensitive reports and actions allow 10. Read X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset on responses.

Versioning

Additive changes ship within v1. Existing fields and semantics remain compatible; breaking changes require a new major path such as /api/v2.

Security

Keep keys server-side, never commit them, and use a separate least-privilege key per integration. Rotate before expiry and revoke credentials that may have been exposed. File operations stream through authenticated endpoints and never reveal storage-provider URLs.

Domain guides

The first wave covers company details, currencies, accounts, chart of accounts, transactions, contacts, bills, quotes, invoices, and core financial reports. See exact schemas and availability in the live API reference.