curl --request GET \
--url https://api.tilta.io/v1/invoices/export/csv \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tilta.io/v1/invoices/export/csv', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tilta.io/v1/invoices/export/csv"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tilta.io/v1/invoices/export/csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}"<string>"{
"code": "BAD_REQUEST",
"error": "Request validation failed. 1 issue found.",
"issues": [
{
"code": "INVALID_TYPE",
"path": "body.registered_at",
"message": "Invalid type"
}
]
}{
"error": "Unauthorized",
"code": "UNAUTHORIZED"
}Export invoices
Download all invoices for your platform as a CSV file in a single streaming response. No pagination applies – all matching invoices are included.
curl --request GET \
--url https://api.tilta.io/v1/invoices/export/csv \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tilta.io/v1/invoices/export/csv', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tilta.io/v1/invoices/export/csv"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tilta.io/v1/invoices/export/csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}"<string>"{
"code": "BAD_REQUEST",
"error": "Request validation failed. 1 issue found.",
"issues": [
{
"code": "INVALID_TYPE",
"path": "body.registered_at",
"message": "Invalid type"
}
]
}{
"error": "Unauthorized",
"code": "UNAUTHORIZED"
}limit or offset applies – every invoice matching your filter criteria is included in the export. The response is returned as a downloadable CSV file with a consistent column structure that maps to the invoice object fields.
--output flag in curl to save the response directly to a file. Without it, the raw CSV content is printed to stdout.invoiced_at, created_at, or status
and pull the data in batches rather than requesting the full dataset in one call.Authorizations
Your Tilta API key, sent as Bearer <key>.
Query Parameters
An array of external_id's to filter invoices by.
"inv_123,inv_456"
An array of buyer external_id's to filter invoices by.
"buyer_123,buyer_456"
An array of merchant external_id's to filter invoices by.
"merch_123,merch_456"
The invoice number to filter invoices by.
Filter invoices by the buyer's legal name. Supports wildcards (e.g. acme, acme*, *acme). Case-insensitive.
"*acme*"
The invoiced at date range to filter invoices by, in the format gte..lte (unix time in seconds). Each bound is optional.
"1580515200..1583020800"
The gross amount range to filter invoices by.
An array of currency codes to filter invoices by.
"EUR,GBP"
The creation date range to filter invoices by, in the format gte..lte (unix time in seconds). Each bound is optional.
"1580515200..1583020800"
The due date range to filter invoices by, in the format gte..lte (unix time in seconds). Each bound is optional.
"1580515200..1583020800"
Days past due range to filter invoices by, in the format gte..lte.
"15..30"
An array of invoice statuses to filter invoices by.
"OPEN,DUE,CLOSED,CANCELLED"
Filter invoices by Financing service status. Comma-separated list of statuses. Use none to include invoices where Financing was never applied.
"IN_REVIEW,REJECTED,none"
Filter invoices by Insurance service status. Comma-separated list of statuses. Use none to include invoices where Insurance was never applied.
"CLAIM_NOTIFIED,CLAIM_IN_ASSESSMENT"
Filter invoices by Collection service status. Comma-separated list of statuses. Use none to include invoices where Collection was never applied.
"EARLY_COLLECTION,LATE_COLLECTION"
Sort invoices by provided field in ascending or descending order. Prefix field with - for descending order. Example: sort_by=-created_at
Invoice sub-entities to expand in the response object. Currently supported: buyer, services (more coming soon).
buyer, services ["buyer", "services"]
COMMA, SEMICOLON Response
CSV payload streamed as the response body.