BIRP API
Guides and reference for the BIRP API: authenticate with a company key, then read and write products, customers, orders, invoices and stock over HTTPS.
- Version v1.1, published
- API changelog
GET /v1/me
curl "https://api.birp.io/v1/me" \
-H "Authorization: Bearer $BIRP_API_KEY"const response = await fetch("https://api.birp.io/v1/me", {
headers: {
Authorization: `Bearer ${process.env.BIRP_API_KEY}`,
},
});
if (!response.ok) throw new Error(`BIRP API error ${response.status}`);
const result = await response.json();<?php
$ch = curl_init("https://api.birp.io/v1/me");
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("BIRP_API_KEY"),
],
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);import os
import requests
response = requests.request(
"GET",
"https://api.birp.io/v1/me",
headers={
"Authorization": f"Bearer {os.environ['BIRP_API_KEY']}",
},
timeout=10,
)
response.raise_for_status()
result = response.json()The samples read your key from BIRP_API_KEY.
Start here
- 1Create your first keyCreate an API key in BIRP, choose its scopes and expiry, and copy it once.
- 2Make your first requestCall GET /v1/me with your key, read the answer, then list your first products.
- 3ResourcesMe and tax codes, Products, Categories, Customers, Warehouses and stock, Orders, Invoices and payments, External references
Everything in this version
Getting started5
Conventions9
Guides7
Resources8
Errors39
- api_key_missing
- unsupported_auth_scheme
- api_key_invalid
- api_key_revoked
- api_key_expired
- test_key_not_supported
- api_access_disabled
- company_suspended
- company_inactive
- insufficient_scope
- not_found
- route_not_found
- validation_failed
- rate_limited
- internal_error
- invalid_json
- company_read_only
- idempotency_in_progress
- external_id_conflict
- sku_taken
- sku_ambiguous
- barcode_taken
- category_name_taken
- kind_mismatch
- customer_match_ambiguous
- insufficient_stock
- invalid_status_transition
- invoice_issued
- invoice_not_issued
- numbering_conflict
- payload_too_large
- unsupported_media_type
- idempotency_key_missing
- idempotency_key_reused
- reference_not_found
- no_rule_for_date
- tax_rules_unavailable
- tax_code_mismatch
- company_profile_incomplete
Sandbox
A sandbox for trying calls is in development; until then, try the examples with a key of your own company.