Quickstart
From zero to your first invoice in five minutes.
1. Create an API key
Sign in to Brivio, open Developers → API keys and create a key. Start with a brivio_sk_test_…key — test keys operate on an isolated sandbox organization, so you can't touch production data.
2. Verify authentication
curl
curl https://api.brivio.ro/v1/me \ -H "Authorization: Bearer brivio_sk_test_..."
3. Create a contact
curl
curl -X POST https://api.brivio.ro/v1/contacts \
-H "Authorization: Bearer brivio_sk_test_..." \
-H "Content-Type: application/json" \
-d '{ "name": "Acme SRL", "type": "COMPANY", "cui": "RO12345678" }'4. Issue an invoice
curl
curl -X POST https://api.brivio.ro/v1/invoices \
-H "Authorization: Bearer brivio_sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"contact_id": "<contact id from step 3>",
"currency": "RON",
"items": [
{ "description": "Servicii consultanță", "quantity": 1, "unit_price": "1000.00", "vat_rate": "21" }
]
}'5. Same thing with the SDK
TypeScript
import { BrivioClient } from "@brivio/sdk";
const brivio = new BrivioClient({ apiKey: process.env.BRIVIO_API_KEY! });
const contact = await brivio.contacts.create({
name: "Acme SRL", type: "COMPANY", cui: "RO12345678",
});
const invoice = await brivio.invoices.create({
contact_id: contact.id,
currency: "RON",
items: [{ description: "Servicii", quantity: 1, unit_price: "1000.00", vat_rate: "21" }],
});When you're ready for production, create a brivio_sk_live_… key and swap it in. Idempotency is supported on all mutating endpoints via the Idempotency-Key header.