curl --request GET \
--url https://api.comstruct.com/v1/invoices \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.comstruct.com/v1/invoices"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.comstruct.com/v1/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.comstruct.com/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 => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.comstruct.com/v1/invoices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.comstruct.com/v1/invoices")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.comstruct.com/v1/invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "123",
"external_id": "EXT-123",
"external_status": "EXPORTED",
"invoice_number": "INV-2024-001",
"invoice_date": "2024-01-15",
"due_date": "2024-02-15",
"receipt_date": "2023-11-07T05:31:56Z",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_number": "PRJ-2024-001",
"supplier_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"supplier_name": "ABC Supplies Ltd.",
"supplier_tax_id": "<string>",
"supplier_iban": "<string>",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currency": "EUR",
"net_amount": 1000,
"total_tax_amount": 190,
"total_amount": 1190,
"deducted_net_amount": 800,
"deducted_total_tax_amount": 152,
"deducted_total_amount": 952,
"tax_rate": 123,
"status": "NEW",
"document_type": "INVOICE",
"electronic_invoice_type": "ZUGFERD",
"down_payment_number": 123,
"payment_reference": "RF18539007547034",
"reference_type": "QRR",
"payment_term": {
"number": "<string>",
"title": "<string>"
},
"region_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"legal_entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_region": {
"id": "<string>",
"title": "<string>",
"number": "<string>"
},
"legal_entity": {
"id": "<string>",
"title": "<string>",
"number": "<string>"
},
"supplier": {
"id": "<string>",
"title": "<string>",
"external_id": "<string>",
"legal_uid": "<string>"
},
"project": {
"id": "<string>",
"title": "<string>",
"project_number": "<string>",
"description": "<string>",
"project_region": {
"number": "<string>",
"title": "<string>"
},
"legal_entity": {
"number": "<string>",
"title": "<string>"
}
},
"invoice_accounts": [
{
"net_amount": 1000,
"gross_amount": 1190,
"tax_amount": 190,
"account_type": "DEBIT",
"comment": "<string>",
"quantity": 10,
"unit": "Stück",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project": {
"id": "<string>",
"title": "<string>",
"project_number": "<string>"
},
"account": {
"id": "<string>",
"number": "<string>",
"title": "<string>"
},
"tax_code": {
"id": "<string>",
"number": "<string>",
"title": "<string>"
}
}
],
"document": {
"id": "<string>",
"title": "<string>"
},
"comment": "<string>",
"payment_terms": "<string>",
"payment_term_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"discount_rate": 123,
"discount_date": "2023-12-25",
"file_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-16T14:30:00Z",
"assignee_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"total": 150,
"limit": 25,
"offset": 0,
"hasNext": true,
"hasPrevious": false,
"totalPages": 6,
"currentPage": 0
}Rechnungen auflisten
Erforderliche Berechtigungen: invoices:read
Gibt eine paginierte Liste von Rechnungen zurück, sortiert nach created_at in absteigender Reihenfolge.
Enthält invoice_accounts, aber keinen Verlauf (invoice_history) und keine Rechnungspositionen.
Rechnungspositionen: GET /invoices/{id}/items. Verlauf: GET /invoices/{id}/history. Jede Rechnung enthält created_at und updated_at (letzte Änderung, serverseitig gepflegt).
Kann nach status und/oder integrationsbezogenem external_status gefiltert werden.
Ein leerer external_status-Wert (external_status=) filtert Rechnungen ohne gesetzten Integrationsstatus.
curl --request GET \
--url https://api.comstruct.com/v1/invoices \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.comstruct.com/v1/invoices"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.comstruct.com/v1/invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.comstruct.com/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 => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.comstruct.com/v1/invoices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.comstruct.com/v1/invoices")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.comstruct.com/v1/invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "123",
"external_id": "EXT-123",
"external_status": "EXPORTED",
"invoice_number": "INV-2024-001",
"invoice_date": "2024-01-15",
"due_date": "2024-02-15",
"receipt_date": "2023-11-07T05:31:56Z",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_number": "PRJ-2024-001",
"supplier_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"supplier_name": "ABC Supplies Ltd.",
"supplier_tax_id": "<string>",
"supplier_iban": "<string>",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"currency": "EUR",
"net_amount": 1000,
"total_tax_amount": 190,
"total_amount": 1190,
"deducted_net_amount": 800,
"deducted_total_tax_amount": 152,
"deducted_total_amount": 952,
"tax_rate": 123,
"status": "NEW",
"document_type": "INVOICE",
"electronic_invoice_type": "ZUGFERD",
"down_payment_number": 123,
"payment_reference": "RF18539007547034",
"reference_type": "QRR",
"payment_term": {
"number": "<string>",
"title": "<string>"
},
"region_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"legal_entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_region": {
"id": "<string>",
"title": "<string>",
"number": "<string>"
},
"legal_entity": {
"id": "<string>",
"title": "<string>",
"number": "<string>"
},
"supplier": {
"id": "<string>",
"title": "<string>",
"external_id": "<string>",
"legal_uid": "<string>"
},
"project": {
"id": "<string>",
"title": "<string>",
"project_number": "<string>",
"description": "<string>",
"project_region": {
"number": "<string>",
"title": "<string>"
},
"legal_entity": {
"number": "<string>",
"title": "<string>"
}
},
"invoice_accounts": [
{
"net_amount": 1000,
"gross_amount": 1190,
"tax_amount": 190,
"account_type": "DEBIT",
"comment": "<string>",
"quantity": 10,
"unit": "Stück",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project": {
"id": "<string>",
"title": "<string>",
"project_number": "<string>"
},
"account": {
"id": "<string>",
"number": "<string>",
"title": "<string>"
},
"tax_code": {
"id": "<string>",
"number": "<string>",
"title": "<string>"
}
}
],
"document": {
"id": "<string>",
"title": "<string>"
},
"comment": "<string>",
"payment_terms": "<string>",
"payment_term_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"discount_rate": 123,
"discount_date": "2023-12-25",
"file_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-16T14:30:00Z",
"assignee_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"total": 150,
"limit": 25,
"offset": 0,
"hasNext": true,
"hasPrevious": false,
"totalPages": 6,
"currentPage": 0
}invoice_accounts) sowie created_at und updated_at. Filter über status und/oder external_status (leerer external_status filtert Rechnungen ohne Integrationsstatus). Rechnungspositionen: GET /invoices/{id}/items. Verlauf: GET /invoices/{id}/history.Autorisierungen
API-Schlüssel zur Authentifizierung. Kontaktieren Sie Ihren Customer Success Manager, um einen API-Schlüssel zu erhalten.
Jeder Endpunkt erfordert spezifische Berechtigungen (Scopes); die erforderlichen Scopes werden pro Endpunkt angezeigt.
Abfrageparameter
Anzahl der Einträge pro Seite (max. 500, Standard 25)
1 <= x <= 50025
Anzahl der zu überspringenden Einträge für die Paginierung
x >= 00
Nach Rechnungsstatus filtern
NEW, PROCESSING, FACTUAL_CHECKING, PRICE_CHECKING, POSITIONS_CHECK, CHECKED, CANCELLED, ERROR, OPEN Nach integrationsbezogenem external_status filtern (exakter Match). Leerer Wert filtert Rechnungen ohne external_status.
"EXPORTED"
Antwort
Erfolgreich
Array von Rechnungen
Show child attributes
Show child attributes
Gesamtanzahl der Rechnungen
150
Anzahl der Einträge pro Seite
25
Anzahl der übersprungenen Einträge
0
Ob weitere Seiten verfügbar sind
true
Ob vorherige Seiten verfügbar sind
false
Gesamtanzahl der Seiten
6
Aktuelle Seitennummer (0-basiert)
0