import requests
url = "https://api.paywise.de/v2/orders/{id}/finalize/"
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Idempotency-Key': '<idempotency-key>', Authorization: 'Bearer <token>'}
};
fetch('https://api.paywise.de/v2/orders/{id}/finalize/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.paywise.de/v2/orders/{id}/finalize/")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.paywise.de/v2/orders/{id}/finalize/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Idempotency-Key", "<idempotency-key>");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
curl --request POST \
--url https://api.paywise.de/v2/orders/{id}/finalize/ \
--header 'Authorization: Bearer <token>' \
--header 'Idempotency-Key: <idempotency-key>'{
"additional_debtors": [],
"claims": [
{
"additional_charges": [],
"additional_charges_amount": {
"currency": "EUR",
"value": "0.00"
},
"additional_debtor_ids": [],
"created_at": "2026-07-18T10:00:00Z",
"debtor_id": "40000000-0000-4000-8000-000000000001",
"delay_date": "2026-07-09",
"dispute_reason": null,
"document_date": "2026-06-05",
"document_reference": "2026-0042",
"documents": [],
"due_date": "2026-06-19",
"events": [
{
"description": null,
"location": null,
"occurence": "2026-06-05T09:00:00Z",
"title": "Invoice issued",
"type": "claim",
"your_reference": "2026-0042"
}
],
"id": "30000000-0000-4000-8000-000000000001",
"is_disputed": false,
"items": [],
"legal_basis": {
"claim_type_code": "H05",
"contract_date": "2026-06-01",
"description": "Accessibility consulting agreed at EUR 40 per hour."
},
"mandate_id": null,
"metadata": [
{
"type": "comment",
"value": "Consulting invoice from the customer portal"
}
],
"order_id": "20000000-0000-4000-8000-000000000001",
"payments": [],
"principal_amount": {
"currency": "EUR",
"value": "100.00"
},
"reminders": [],
"status": "submitted",
"subject_matter": "Website accessibility consulting in June 2026",
"total_amount": {
"currency": "EUR",
"value": "100.00"
},
"type": "receivable",
"updated_at": "2026-07-18T10:00:00Z",
"your_reference": "INV-2026-0042"
}
],
"confirmation_email": null,
"created_at": "2026-07-18T10:00:00Z",
"creditor_obligation_fulfilled": true,
"debtor": {
"acting_as": "consumer",
"events": [
{
"description": null,
"location": null,
"occurence": "2026-05-01T09:00:00Z",
"title": "Customer registered",
"type": "registration",
"your_reference": null
}
],
"id": "40000000-0000-4000-8000-000000000001",
"legal_form": null,
"metadata": [
{
"type": "user:reference",
"value": "CUSTOMER-1001"
}
],
"organization": null,
"person": {
"birth_date": null,
"first_name": "Alex",
"last_name": "Example",
"salutation": "mx"
},
"your_reference": "CUSTOMER-1001"
},
"expires_at": null,
"id": "20000000-0000-4000-8000-000000000001",
"mandate": null,
"merged_into": null,
"rejection": null,
"starting_approach": "extrajudicial",
"status": "submitted",
"totals": {
"charges": {
"currency": "EUR",
"value": "0.00"
},
"main_claims": {
"currency": "EUR",
"value": "100.00"
},
"order_value": {
"currency": "EUR",
"value": "100.00"
},
"payments": {
"currency": "EUR",
"value": "0.00"
}
},
"type": "invoice",
"updated_at": "2026-07-18T10:00:00Z"
}Finalize order
Finalize the order: validates the complete aggregate, makes it
immutable, and submits it for review. Declares no request body.
Acceptance happens later during review and is announced via
order.accepted.
import requests
url = "https://api.paywise.de/v2/orders/{id}/finalize/"
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Idempotency-Key': '<idempotency-key>', Authorization: 'Bearer <token>'}
};
fetch('https://api.paywise.de/v2/orders/{id}/finalize/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.paywise.de/v2/orders/{id}/finalize/")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.paywise.de/v2/orders/{id}/finalize/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Idempotency-Key", "<idempotency-key>");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
curl --request POST \
--url https://api.paywise.de/v2/orders/{id}/finalize/ \
--header 'Authorization: Bearer <token>' \
--header 'Idempotency-Key: <idempotency-key>'{
"additional_debtors": [],
"claims": [
{
"additional_charges": [],
"additional_charges_amount": {
"currency": "EUR",
"value": "0.00"
},
"additional_debtor_ids": [],
"created_at": "2026-07-18T10:00:00Z",
"debtor_id": "40000000-0000-4000-8000-000000000001",
"delay_date": "2026-07-09",
"dispute_reason": null,
"document_date": "2026-06-05",
"document_reference": "2026-0042",
"documents": [],
"due_date": "2026-06-19",
"events": [
{
"description": null,
"location": null,
"occurence": "2026-06-05T09:00:00Z",
"title": "Invoice issued",
"type": "claim",
"your_reference": "2026-0042"
}
],
"id": "30000000-0000-4000-8000-000000000001",
"is_disputed": false,
"items": [],
"legal_basis": {
"claim_type_code": "H05",
"contract_date": "2026-06-01",
"description": "Accessibility consulting agreed at EUR 40 per hour."
},
"mandate_id": null,
"metadata": [
{
"type": "comment",
"value": "Consulting invoice from the customer portal"
}
],
"order_id": "20000000-0000-4000-8000-000000000001",
"payments": [],
"principal_amount": {
"currency": "EUR",
"value": "100.00"
},
"reminders": [],
"status": "submitted",
"subject_matter": "Website accessibility consulting in June 2026",
"total_amount": {
"currency": "EUR",
"value": "100.00"
},
"type": "receivable",
"updated_at": "2026-07-18T10:00:00Z",
"your_reference": "INV-2026-0042"
}
],
"confirmation_email": null,
"created_at": "2026-07-18T10:00:00Z",
"creditor_obligation_fulfilled": true,
"debtor": {
"acting_as": "consumer",
"events": [
{
"description": null,
"location": null,
"occurence": "2026-05-01T09:00:00Z",
"title": "Customer registered",
"type": "registration",
"your_reference": null
}
],
"id": "40000000-0000-4000-8000-000000000001",
"legal_form": null,
"metadata": [
{
"type": "user:reference",
"value": "CUSTOMER-1001"
}
],
"organization": null,
"person": {
"birth_date": null,
"first_name": "Alex",
"last_name": "Example",
"salutation": "mx"
},
"your_reference": "CUSTOMER-1001"
},
"expires_at": null,
"id": "20000000-0000-4000-8000-000000000001",
"mandate": null,
"merged_into": null,
"rejection": null,
"starting_approach": "extrajudicial",
"status": "submitted",
"totals": {
"charges": {
"currency": "EUR",
"value": "0.00"
},
"main_claims": {
"currency": "EUR",
"value": "100.00"
},
"order_value": {
"currency": "EUR",
"value": "100.00"
},
"payments": {
"currency": "EUR",
"value": "0.00"
}
},
"type": "invoice",
"updated_at": "2026-07-18T10:00:00Z"
}Authorizations
Company-bound Case Management API key — the standard credential for this API.
Headers
Required when a Partner key calls the Case Management API; rejected for direct Case keys. Contains the entitled paywise company UUID.
Required client-supplied command key scoped to the selected Case company or Partner owner, method, operation and path. An exact retry replays the original response while it is retained, including after credential rotation or replacement. Current permissions are required.
255Path Parameters
UUID of the order in this request.
Response
- Invoice order
- Rental order
- Titled order
An invoice order contains receivable claims and exposes starting_approach and creditor_obligation_fulfilled.
Read representation of an order.
status is derived from the order's submission and review progress;
mandate names the
created mandate once the order is accepted; merged_into names the
surviving order when this order was merged away during review.
Inline summaries of the additional debtors. Retrieve each debtor's full details with GET /v2/debtors/{id}/ using its id. Replace membership through PATCH /v2/orders/{id}/ while the order is a draft. API submissions are limited to 10 additional debtors.
Show child attributes
Show child attributes
Receivable claims belonging to this order, including their itemized charges and documents. Titled claims are accepted only in titled orders. API submissions are limited to 50 claims per order.
A receivable claim based on an invoice, rent, or another obligation. Its principal amount, dates, charges, and documents belong to the claim.
- Receivable claim
- Titled claim
Show child attributes
Show child attributes
Address receiving the order-entry confirmation, when requested.
Time at which the order was created.
Whether you fully performed your obligation to the debtor.
Inline summary of the primary debtor. Retrieve full details with GET /v2/debtors/{id}/ using its id.
Show child attributes
Show child attributes
Time at which this API-created draft expires: updated_at plus 90 days, refreshed by every successful draft change. Once it has passed, the order reads expired and every change answers 409 order_expired until the daily cleanup deletes it. Null once the order is finalized and for orders created in the portal.
Stable identifier of this order.
Accepted case created from this order, when available.
Surviving order when this order was merged during review.
Why paywise declined the order: reason, time, notified recipients, and the standard reason's key. Null unless status is rejected.
Show child attributes
Show child attributes
Initial collection route: extrajudicial starts out of court; judicial starts by applying for a payment order (Mahnbescheid). Null while this decision is unset.
extrajudicial, judicial Order lifecycle state: draft is editable; submitted awaits processing; awaiting_client_response requires client input; accepted has entered case processing; rejected was declined; withdrawn was cancelled by the client; expired passed its draft deadline and accepts no further changes (409 order_expired) until the daily cleanup deletes it; merged points to the surviving order in merged_into.
draft, submitted, awaiting_client_response, accepted, rejected, withdrawn, expired, merged Financial totals calculated across the order's claims.
Show child attributes
Show child attributes
Literal invoice order discriminator.
invoice Time at which the order was last updated.
