SDKs & Code Examples
Invoro doesn’t currently provide official SDK libraries, but the REST API is straightforward to use with any HTTP client.
PHP (Guzzle)
Section titled “PHP (Guzzle)”use GuzzleHttp\Client;
$client = new Client([ 'base_uri' => 'https://api.invoro.eu/invoice-api/', 'headers' => [ 'X-Api-Key' => getenv('INVORO_API_KEY'), 'Accept' => 'application/json', ],]);
// List invoices$response = $client->get('invoices', [ 'query' => ['direction' => 'outgoing', 'per_page' => 50],]);$data = json_decode($response->getBody(), true);
foreach ($data['data'] as $invoice) { echo "{$invoice['invoice_number']}: {$invoice['state']}\n";}Node.js (fetch)
Section titled “Node.js (fetch)”const API_KEY = process.env.INVORO_API_KEY;const BASE_URL = 'https://api.invoro.eu/invoice-api';
async function listInvoices() { const response = await fetch(`${BASE_URL}/invoices?direction=outgoing`, { headers: { 'X-Api-Key': API_KEY, 'Accept': 'application/json', }, });
const { data } = await response.json();
for (const invoice of data) { console.log(`${invoice.invoice_number}: ${invoice.state}`); }}Python (requests)
Section titled “Python (requests)”import osimport requests
API_KEY = os.environ['INVORO_API_KEY']BASE_URL = 'https://api.invoro.eu/invoice-api'
def list_invoices(): response = requests.get( f'{BASE_URL}/invoices', headers={ 'X-Api-Key': API_KEY, 'Accept': 'application/json', }, params={'direction': 'outgoing'}, ) response.raise_for_status() data = response.json()
for invoice in data['data']: print(f"{invoice['invoice_number']}: {invoice['state']}")# List invoicescurl -s \ -H "X-Api-Key: $INVORO_API_KEY" \ -H "Accept: application/json" \ "https://api.invoro.eu/invoice-api/invoices?direction=outgoing" | jq
# Create an invoicecurl -s -X POST \ -H "X-Api-Key: $INVORO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "invoice_number": "INV-2026-001", "issue_date": "2026-03-27", "due_date": "2026-04-27", "currency_code": "EUR", "lines": [...] }' \ "https://api.invoro.eu/invoice-api/invoices" | jq