InvarentDeveloper documentation

Invarent embedded accounting API

Build a complete accounting product on one API.

A production OpenAPI 3.1 contract for the ledger, subledgers, reporting, close, controls, industry workflows, and platform services behind your own customer experience.

Runtime operations
292
Blueprint target
217 / 217
Authentication
API key or OAuth 2.0
Production base URL
api.invarent.com
01

Make an authenticated request

Credentials stay in environment variables and every read is tenant scoped. This request only reads; the full quickstart creates, approves and posts a journal entry.

export INVARENT_BASE_URL="https://api.invarent.com"
export INVARENT_API_KEY="<a key with the tenant:read scope>"

curl "$INVARENT_BASE_URL/v1/tenant" \
  -H "Authorization: Bearer $INVARENT_API_KEY"
Scoped bearer credentials PostgreSQL RLS Structured error envelopes
02

One contract across five controlled phases

The runtime is a source-derived superset of the canonical target.

01

Ledger & platform

Tenant setup, journals, approvals, reports, webhooks, audit, and usage.

02

GAAP operations

AP, AR, cash, payroll, assets, revenue schedules, and close controls.

03

Job cost & GovCon

Projects, contracts, CLINs, WBS nodes, cost pools, and indirect rates.

04

AI & controls

Evidence-bearing suggestions with explicit approve and reject boundaries.

05

Tax & year-end

Tax packages, report snapshots, filing gates, and access evidence.

03

Generated clients and machine-readable contracts

SDKs are generated from the OpenAPI contract and live in the repository at packages/contracts/sdk/runtime/typescript and packages/contracts/sdk/runtime/python. npm and PyPI packages are planned, not published — until then, use the repository sources or generate a client from the hosted contract.

TypeScript

Planned: npm packagepackages/contracts/sdk/runtime/typescript

Typed paths, request bodies, responses, and OAuth form serialization, generated by openapi-typescript.

Python

Planned: PyPI packagepackages/contracts/sdk/runtime/python

Synchronous HTTPX client covering the runtime operations, including literal :approve-style action paths.

# Generate a TypeScript client from the hosted OpenAPI 3.1 contract
npx openapi-typescript https://invarent.com/openapi.json \
  -o ./invarent-api-schema.d.ts

# Python: a standard OpenAPI generator covers most operations. The checked-in
# client keeps literal :approve-style action paths that generic generators
# commonly misread as extra path variables.
pip install openapi-python-client
openapi-python-client generate --url https://invarent.com/openapi.json