Official clients for TypeScript / JavaScript, PHP, Python — plus a CLI for your terminal.
Every SDK speaks the same API and behaves the same way: responses are unwrapped for you, requests retry with exponential backoff on 429 and 5xx, mutations accept an idempotency key that stays stable across those retries, and list endpoints paginate lazily.
npm install @brivio-ro/sdk
import { BrivioClient } from "@brivio-ro/sdk";
const brivio = new BrivioClient({ apiKey: "brivio_sk_live_…" });
const { data } = await brivio.contacts.list({ search: "srl" });Typed end-to-end (types generated from the OpenAPI spec), automatic retries with backoff on 429/5xx, idempotency-key support on all mutations, and full coverage of the REST surface — invoices, contacts, e-Factura, inventory, trust signatures, DNS/domains, webhooks and more. Ships both ESM and CommonJS builds.
composer require brivio-ro/sdk
$brivio = new \Brivio\BrivioClient('brivio_sk_live_…');
$contacts = $brivio->listContacts(['search' => 'srl']);Includes drop-in compatibility shims for migrating from FGO, SmartBill and Oblio.
pip install brivio
from brivio import Brivio brivio = Brivio(api_key="brivio_sk_live_…") page = brivio.contacts.list(search="srl")
Fully type-hinted and py.typed, so editors and mypy see the whole API surface. Requires Python 3.9 or newer.
npm install -g @brivio-ro/cli brivio login # save your API key brivio me # show current organization brivio invoices list # list invoices brivio contacts create --name "Acme SRL" --type COMPANY brivio trust sign ./contract.pdf # request a digital signature brivio api-keys rotate KEY_ID --grace 24
Every command supports --json for scripting. Configuration lives in ~/.config/brivio.