Official clients for TypeScript/JavaScript, PHP, Python, Go, .NET and Java — 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/sdk
import { BrivioClient } from "@brivio/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/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.
go get github.com/brivio-ro/brivio-sdk-go
client, err := brivio.New(brivio.Config{APIKey: "brivio_sk_live_…"})
if err != nil {
return err
}
page, err := client.Contacts.List(ctx, brivio.Query{"search": "srl"})Context-aware throughout, with no third-party dependencies beyond the standard library. Pagination is exposed as a callback-driven iterator so nothing leaks when you stop early.
dotnet add package Brivio.Sdk
var brivio = new BrivioClient(new BrivioOptions { ApiKey = "brivio_sk_live_…" });
var page = await brivio.Contacts.ListAsync(new() { ["search"] = "srl" });Targets .NET 8 and netstandard2.0, so it also works on .NET Framework 4.6.1+ and Unity. Async throughout, with nullable reference types enabled.
<dependency> <groupId>ro.brivio</groupId> <artifactId>brivio-sdk</artifactId> <version>0.1.0</version> </dependency>
BrivioClient brivio = BrivioClient.builder()
.apiKey("brivio_sk_live_…")
.build();
Page<Contact> page = brivio.contacts().list(Map.of("search", "srl"));Built for Java 11 and later, using the built-in HTTP client — Jackson is the only runtime dependency.
npm install -g @brivio/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.