Brivio Developers
Create accountSign in
OverviewQuickstartAuthenticationIdempotencyWebhooksErrors & sandboxSDKs & CLIMCP serverOAuth2 appsAPI reference

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.