curl --request GET \
--url https://api.tilta.io/v1/invoices \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tilta.io/v1/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tilta.io/v1/invoices"
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",
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;
}{
"limit": 100,
"offset": 0,
"total": 140,
"items": [
{
"external_id": "<string>",
"buyer_external_id": "<string>",
"merchant_external_id": "<string>",
"created_at": 1582896122,
"updated_at": 1582896122,
"due_at": 1582896122,
"status": "OPEN",
"days_past_due": 123,
"payment_method": "CASH",
"invoice_number": "<string>",
"invoiced_at": 1582896122,
"amount": {
"net": 2,
"gross": 2,
"currency": "EUR",
"tax": 1
},
"contact": {
"external_id": "<string>",
"buyer_external_id": "<string>",
"assign_to_all_invoices": true,
"created_at": 1582896122,
"updated_at": 1582896122,
"salutation": "MR",
"first_name": "<string>",
"last_name": "<string>",
"email": "jsmith@example.com",
"phone": "+491711010101",
"address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
}
},
"paid_at": 123,
"buyer": {
"legal_name": "<string>"
},
"services": [
{
"external_id": "<string>",
"invoice_external_id": "<string>",
"service_type": "FINANCING",
"status": "IN_REVIEW",
"created_at": 123,
"updated_at": 123,
"requirements": [
{
"code": "INVOICE_INELIGIBLE",
"description": "<string>"
}
],
"advance": {
"value": 123
},
"fee": {
"gross": 123,
"net": 123,
"tax": 123
}
}
],
"credit_note_summary": {
"count": 2,
"amount": {
"gross": 1000,
"net": 800,
"tax": 200,
"currency": "EUR"
},
"original_invoice_amount": {
"gross": 5000,
"net": 4000,
"tax": 1000,
"currency": "EUR"
},
"has_active_mandate": true,
"financing_status": "IN_REVIEW"
},
"order_external_ids": [],
"line_items": [
{
"name": "<string>",
"category": "<string>",
"price": 123,
"currency": "EUR",
"quantity": 2,
"description": "<string>"
}
],
"billing_address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"delivery_address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"custom_data": {}
}
]
}{
"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"
}List invoices
Retrieve a paginated list of all invoices for your platform. Use limit and offset query parameters to navigate through large result sets.
curl --request GET \
--url https://api.tilta.io/v1/invoices \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tilta.io/v1/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tilta.io/v1/invoices"
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",
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;
}{
"limit": 100,
"offset": 0,
"total": 140,
"items": [
{
"external_id": "<string>",
"buyer_external_id": "<string>",
"merchant_external_id": "<string>",
"created_at": 1582896122,
"updated_at": 1582896122,
"due_at": 1582896122,
"status": "OPEN",
"days_past_due": 123,
"payment_method": "CASH",
"invoice_number": "<string>",
"invoiced_at": 1582896122,
"amount": {
"net": 2,
"gross": 2,
"currency": "EUR",
"tax": 1
},
"contact": {
"external_id": "<string>",
"buyer_external_id": "<string>",
"assign_to_all_invoices": true,
"created_at": 1582896122,
"updated_at": 1582896122,
"salutation": "MR",
"first_name": "<string>",
"last_name": "<string>",
"email": "jsmith@example.com",
"phone": "+491711010101",
"address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
}
},
"paid_at": 123,
"buyer": {
"legal_name": "<string>"
},
"services": [
{
"external_id": "<string>",
"invoice_external_id": "<string>",
"service_type": "FINANCING",
"status": "IN_REVIEW",
"created_at": 123,
"updated_at": 123,
"requirements": [
{
"code": "INVOICE_INELIGIBLE",
"description": "<string>"
}
],
"advance": {
"value": 123
},
"fee": {
"gross": 123,
"net": 123,
"tax": 123
}
}
],
"credit_note_summary": {
"count": 2,
"amount": {
"gross": 1000,
"net": 800,
"tax": 200,
"currency": "EUR"
},
"original_invoice_amount": {
"gross": 5000,
"net": 4000,
"tax": 1000,
"currency": "EUR"
},
"has_active_mandate": true,
"financing_status": "IN_REVIEW"
},
"order_external_ids": [],
"line_items": [
{
"name": "<string>",
"category": "<string>",
"price": 123,
"currency": "EUR",
"quantity": 2,
"description": "<string>"
}
],
"billing_address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"delivery_address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"custom_data": {}
}
]
}{
"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"
}offset until the number of items returned is less than
limit, or until offset is greater than or equal to total.Authorizations
Your Tilta API key, sent as Bearer <key>.
Query Parameters
The number of records to be taken.
x <= 100100
The number of records to be skipped.
0
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"]
Filter by a Custom Data field. Replace field in custom_data[field] with the field name. Bare values are strings; JSON numbers, booleans, quoted strings, and arrays preserve their JSON types. A scalar also matches an element of a stored array; an array matches a stored array containing all supplied values.
Response
A list of invoices.