A REST API, real-time webhooks, and an MCP server give your team, and your AI agents, programmatic access to the ledger, the close, and everything in between.
Get API accessThe Rivane platform is API-first. Everything you can do in the product, posting journal entries, reading ledgers, running reconciliations, consolidating entities, is available over a clean REST API. Webhooks push events to your systems the moment they happen, and the MCP server lets AI agents work with your books through governed, auditable tools.
Secure your requests with API keys and OAuth. Scope keys per environment and rotate them without downtime.
Read and write journals, ledgers, entities, and reconciliations through a consistent, resource-oriented REST API.
Subscribe to close events, posting activity, and reconciliation status to keep external systems in sync in real time.
Generous, transparent rate limits with standard headers so you can build resilient integrations that back off gracefully.
Official TypeScript and Python SDKs handle auth, pagination, and retries so you can ship integrations faster.
Connect AI agents to your books through the Rivane MCP server, expose ledgers and workflows as governed tools.
A representative slice of the REST surface. Every resource follows the same conventions for auth, pagination, and errors.
Illustrative example, not a live endpoint.
curl https://api.rivane.com/v1/journal-entries \
-H "Authorization: Bearer $RIVANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entity_id": "ent_8f2a",
"memo": "Accrue June SaaS revenue",
"lines": [
{ "account": "1200", "debit": 24000 },
{ "account": "4000", "credit": 24000 }
]
}'npm install @rivane/sdk
import Rivane from '@rivane/sdk'
const rivane = new Rivane({ apiKey: process.env.RIVANE_API_KEY })
const entry = await rivane.journalEntries.create({
entityId: 'ent_8f2a',
memo: 'Accrue June SaaS revenue',
lines: [
{ account: '1200', debit: 24000 },
{ account: '4000', credit: 24000 },
],
})
console.log(entry.id) // je_01hy4k, posted and balanced