Quotes
/api/v1/offersQuotes and order confirmations, newest first.
Permission: offers:read
Query parameters
status"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"type"offer" | "order_confirmation"contactIdstringmax. 128 characterslimitintegerNumber of entries (1–100)1–100 · Default: 25cursorstring`nextCursor` of the previous pagemax. 500 characters
Response 200
object"list"requireddataArray<Offer>requiredidstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectprojectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>required
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
hasMorebooleanrequirednextCursorstring | nullrequired
curl 'https://www.debt-flow.io/api/v1/offers' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": null,
"ownerName": null,
"legalForm": null,
"managingDirectors": null,
"street": null,
"zipCode": null,
"city": null,
"countryCode": null,
"phone": null,
"email": null,
"website": null,
"taxNumber": null,
"vatId": null,
"smallBusiness": null,
"commercialRegister": null,
"bank": null,
"invoiceFooter": null
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": null,
"type": null,
"articleId": null,
"title": null,
"description": null,
"quantity": null,
"unit": null,
"unitPriceCents": null,
"discountPercent": null,
"taxRate": null,
"totalCents": null,
"servicePeriod": null,
"projectId": null,
"timeEntryIds": null
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
null
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/offersIf not specified, the recipient, tax treatment and pricing mode are taken from the contact or from the Company & invoice settings respectively.
Permission: offers:write
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · OfferCreate
type"offer" | "order_confirmation"Default: "offer"contactIdstring | nullmax. 128 charactersrecipientDocumentRecipientnamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
issueDatestring (date) | nullQuote date; empty = day of finalisingvalidUntilstring (date) | nullvalid until; empty = date + validity from the settingspriceMode"net" | "gross"taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Tax treatment of the receiptsubjectstringmax. 200 charactersintroTextstringmax. 5000 charactersclosingTextstringmax. 5000 charactersreferencestringmax. 100 characterslinesArray<DocumentLine>idstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
projectIdstring | nullmax. 128 characterslanguage"de" | "en" | nullDocument language (PDF, email); empty/null = the contact's language. Fixed on finalisation.
Response 201 · Offer
idstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>requiredtaxRatenumberrequiredcategorystringrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/offers' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"type": "offer",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [],
"projectId": "string",
"language": "de"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}Permission: offers:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Response 200 · Offer
idstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>requiredtaxRatenumberrequiredcategorystringrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl 'https://www.debt-flow.io/api/v1/offers/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}Drafts only. Finalised quotes: 409 document_locked – please copy and reissue.
Permission: offers:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Body (JSON) · OfferUpdate
contactIdstring | nullmax. 128 charactersrecipientDocumentRecipientnamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
issueDatestring (date) | nullQuote date; empty = day of finalisingvalidUntilstring (date) | nullvalid until; empty = date + validity from the settingspriceMode"net" | "gross"taxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"Tax treatment of the receiptsubjectstringmax. 200 charactersintroTextstringmax. 5000 charactersclosingTextstringmax. 5000 charactersreferencestringmax. 100 characterslinesArray<DocumentLine>idstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
projectIdstring | nullmax. 128 characterslanguage"de" | "en" | nullDocument language (PDF, email); empty/null = the contact's language. Fixed on finalisation.
Response 200 · Offer
idstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>requiredtaxRatenumberrequiredcategorystringrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X PATCH 'https://www.debt-flow.io/api/v1/offers/ID' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"projectId": "string",
"language": "de"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/api/v1/offers/{id}/acceptPermission: offers:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · OfferDecision
notestringNote, e.g. reason for rejectionmax. 1000 characters
Response 200 · Offer
idstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>requiredtaxRatenumberrequiredcategorystringrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/offers/ID/accept' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"note": "string"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/audit-logPermission: offers:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Query parameters
limitintegerNumber of entries (1–100)1–100 · Default: 25cursorstring`nextCursor` of the previous pagemax. 500 characters
Response 200
object"list"requireddataArray<AuditEntry>requiredidstringrequiredsequence number in the audit logseqintegerrequired-9007199254740991–9007199254740991atstring (date-time)requiredTimestamp (ISO 8601)actorActorrequiredtype"user" | "api_key" | "oauth" | "system"requiredidstringrequiredlabelstring
actionstringrequiredchangesobjectrequiredmetaobject | nullrequiredhashstringrequired
hasMorebooleanrequirednextCursorstring | nullrequired
curl 'https://www.debt-flow.io/api/v1/offers/ID/audit-log' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"seq": 0,
"at": "2026-11-01T09:30:00.000Z",
"actor": {
"type": "user",
"id": "string",
"label": "string"
},
"action": "string",
"changes": {},
"meta": {},
"hash": "string"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/offers/{id}/convertinvoice: draft invoice with all line items. advance_invoice + percent: progress invoice (one line item per tax rate). final_invoice: final invoice that deducts all finalised progress invoices for this quote. order_confirmation: order confirmation as a draft. The quote is then considered accepted or invoiced respectively.
Permission: offers:write, invoices:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · OfferConvert
target"invoice" | "advance_invoice" | "final_invoice" | "order_confirmation"requiredinvoice = invoice for everything, advance_invoice = progress invoice, final_invoice = final invoice less progress invoicespercentnumberProgress invoice percentage (advance_invoice only)0.01–100
Response 201 · OfferConvertResult
offerOfferrequiredidstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectbankobjectinvoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectprojectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>required
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
createdIdstringrequiredID of the generated invoice or order confirmationmax. 128 characterscreatedObject"invoice" | "offer"required
curl -X POST 'https://www.debt-flow.io/api/v1/offers/ID/convert' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"target": "invoice",
"percent": 0.01
}'{
"offer": {
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": null,
"ownerName": null,
"legalForm": null,
"managingDirectors": null,
"street": null,
"zipCode": null,
"city": null,
"countryCode": null,
"phone": null,
"email": null,
"website": null,
"taxNumber": null,
"vatId": null,
"smallBusiness": null,
"commercialRegister": null,
"bank": null,
"invoiceFooter": null
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": null,
"type": null,
"articleId": null,
"title": null,
"description": null,
"quantity": null,
"unit": null,
"unitPriceCents": null,
"discountPercent": null,
"taxRate": null,
"totalCents": null,
"servicePeriod": null,
"projectId": null,
"timeEntryIds": null
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
null
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
},
"createdId": "string",
"createdObject": "invoice"
}/api/v1/offers/{id}/dispatchesPermission: offers:read
Path parameters
idstringrequiredResource IDmax. 128 characters
Query parameters
limitintegerNumber of entries (1–100)1–100 · Default: 25cursorstring`nextCursor` of the previous pagemax. 500 characters
Response 200
object"list"requireddataArray<InvoiceDispatch>requiredidstringrequiredmax. 128 charactersinvoiceIdstringrequiredmax. 128 characterschannel"email" | "post"requiredstatus"sending" | "sent" | "failed"requiredtoArray<string>requiredsubjectstring | nullrequiredregisteredbooleanrequiredletterIdstring | nullrequiredtrackingRefstring | nullrequiredpageCountinteger | nullrequired-9007199254740991–9007199254740991priceEurostring | nullrequireddeliveryStatus"pending" | "delivered" | "failed" | "returned" | nullrequiredPost only: delivery status according to Briefdiener (cron letter-status), otherwise nulldeliveryMessagestring | nullrequiredtrackingUrlstring | nullrequireddeliveryUpdatedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)errorstring | nullrequiredactorActor | nullrequiredtype"user" | "api_key" | "oauth" | "system"requiredidstringrequiredlabelstring
createdAtstring (date-time)requiredTimestamp (ISO 8601)sentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
hasMorebooleanrequirednextCursorstring | nullrequired
curl 'https://www.debt-flow.io/api/v1/offers/ID/dispatches' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"object": "list",
"data": [
{
"id": "string",
"invoiceId": "string",
"channel": "email",
"status": "sending",
"to": [
"string"
],
"subject": "string",
"registered": false,
"letterId": "string",
"trackingRef": "string",
"pageCount": 0,
"priceEuro": "string",
"deliveryStatus": "pending",
"deliveryMessage": "string",
"trackingUrl": "string",
"deliveryUpdatedAt": "2026-11-01T09:30:00.000Z",
"error": "string",
"actor": {
"type": null,
"id": null,
"label": null
},
"createdAt": "2026-11-01T09:30:00.000Z",
"sentAt": "2026-11-01T09:30:00.000Z"
}
],
"hasMore": false,
"nextCursor": "string"
}/api/v1/offers/{id}/duplicatePermission: offers:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Response 201 · Offer
idstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>requiredtaxRatenumberrequiredcategorystringrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/offers/ID/duplicate' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/finalizeAssigns the quote or order number, sets the date and “valid until” and locks the content. The status is then sent (issued).
Permission: offers:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Response 200 · Offer
idstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>requiredtaxRatenumberrequiredcategorystringrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/offers/ID/finalize' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY"{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/pdf/api/v1/offers/{id}/rejectPermission: offers:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · OfferDecision
notestringNote, e.g. reason for rejectionmax. 1000 characters
Response 200 · Offer
idstringrequiredmax. 128 charactersobject"offer"requiredtype"offer" | "order_confirmation"requiredstatus"draft" | "sent" | "accepted" | "rejected" | "expired" | "converted"requirednumberstring | nullrequiredcontactIdstring | nullrequiredmax. 128 charactersrecipientDocumentRecipientrequirednamestringrequiredCompany or namemax. 160 charactersadditionstringAddress supplement, e.g. attn. Ms Mustermax. 160 charactersstreetstringrequiredmax. 160 characters · Default: ""zipCodestringrequiredmax. 10 characters · Default: ""citystringrequiredmax. 80 characters · Default: ""countrystringrequiredCountry code ISO 3166-1 alpha-2max. 2 characters · Default: "DE"emailstring (email)Invoice recipient (email)max. 254 charactersvatIdstringRecipient's VAT ID (required for reverse charge/intra-Community supply)leitwegIdstringLeitweg-ID (XRechnung to public authorities)max. 60 characterseinvoiceRecipientType"business" | "public_authority"E-invoice recipient profile (from the contact): public_authority requires a Leitweg-ID (ER-08)customerNumberstringCustomer number (assigned on finalisation)max. 40 characters
senderSenderSnapshot | nullrequiredcompanyNamestringrequiredownerNamestringlegalFormstringmanagingDirectorsstringstreetstringrequiredzipCodestringrequiredcitystringrequiredcountryCodestringrequiredphonestringemailstringwebsitestringtaxNumberstringvatIdstringsmallBusinessbooleanrequiredcommercialRegisterobjectcourtstringnumberstring
bankobjectaccountHolderstringibanstringbicstringbankNamestring
invoiceFooterstring
issueDatestring (date) | nullrequiredDate (YYYY-MM-DD)validUntilstring (date) | nullrequiredDate (YYYY-MM-DD)priceMode"net" | "gross"requiredtaxTreatment"regular" | "small_business" | "reverse_charge" | "intra_eu_supply" | "export" | "non_taxable"requiredTax treatment of the receipttaxNoticestring | nullrequiredcurrency"EUR"requiredsubjectstringrequiredintroTextstringrequiredclosingTextstringrequiredreferencestringrequiredlinesArray<DocumentLine>requiredidstringstable line item ID (assigned by the server if empty)max. 40 characterstype"item" | "text" | "subtotal"Line item, plain text line or subtotalDefault: "item"articleIdstringReference to the article master datamax. 128 characterstitlestringrequiredmax. 300 charactersdescriptionstringmax. 5000 charactersquantitynumber-1000000–1000000 · Default: 1unitstringUnit, e.g. Stk, Std, pauschal (piece, hour, flat rate); UN/ECE Rec 20 for e-invoicing: modulemax. 20 charactersunitPriceCentsintegerAmount in cents-100000000000–100000000000 · Default: 0discountPercentnumber0–100taxRatenumberTax rate in per cent (19, 7, 0 …)0–100 · Default: 19totalCentsintegerAmount in cents-100000000000–100000000000servicePeriodobjectfromstring (date)requiredDate (YYYY-MM-DD)tostring (date)requiredDate (YYYY-MM-DD)
projectIdstringmax. 128 characterstimeEntryIdsArray<string>max. 128 characters
totalsDocumentTotalsrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000groupsArray<object>requiredtaxRatenumberrequiredcategorystringrequirednetCentsintegerrequiredAmount in cents-100000000000–100000000000taxCentsintegerrequiredAmount in cents-100000000000–100000000000grossCentsintegerrequiredAmount in cents-100000000000–100000000000
relatedOfferIdstring | nullrequiredOrder confirmation: underlying quotemax. 128 charactersorderConfirmationIdstring | nullrequiredmax. 128 charactersconvertedInvoiceIdsArray<string>requiredinvoices generated from it (progress/final/invoice)max. 128 charactersprojectIdstring | nullrequiredmax. 128 charactersdecisionNotestring | nullrequiredacceptedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)rejectedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)language"de" | "en"requiredDocument language (fixed on finalisation)dispatchobjectrequiredcountintegerrequired-9007199254740991–9007199254740991lastChannel"email" | "post" | nullrequiredlastSentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
lockedbooleanrequiredlockedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)createdAtstring (date-time)requiredTimestamp (ISO 8601)updatedAtstring (date-time)requiredTimestamp (ISO 8601)
curl -X POST 'https://www.debt-flow.io/api/v1/offers/ID/reject' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"note": "string"
}'{
"id": "string",
"object": "offer",
"type": "offer",
"status": "draft",
"number": "string",
"contactId": "string",
"recipient": {
"name": "string",
"addition": "string",
"street": "",
"zipCode": "",
"city": "",
"country": "DE",
"email": "[email protected]",
"vatId": "string",
"leitwegId": "string",
"einvoiceRecipientType": "business",
"customerNumber": "string"
},
"sender": {
"companyName": "string",
"ownerName": "string",
"legalForm": "string",
"managingDirectors": "string",
"street": "string",
"zipCode": "string",
"city": "string",
"countryCode": "string",
"phone": "string",
"email": "string",
"website": "string",
"taxNumber": "string",
"vatId": "string",
"smallBusiness": false,
"commercialRegister": {
"court": "string",
"number": "string"
},
"bank": {
"accountHolder": "string",
"iban": "string",
"bic": "string",
"bankName": "string"
},
"invoiceFooter": "string"
},
"issueDate": "2026-11-01",
"validUntil": "2026-11-01",
"priceMode": "net",
"taxTreatment": "regular",
"taxNotice": "string",
"currency": "EUR",
"subject": "string",
"introText": "string",
"closingText": "string",
"reference": "string",
"lines": [
{
"id": "string",
"type": "item",
"articleId": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit": "string",
"unitPriceCents": 0,
"discountPercent": 0,
"taxRate": 19,
"totalCents": 0,
"servicePeriod": {
"from": "2026-11-01",
"to": "2026-11-01"
},
"projectId": "string",
"timeEntryIds": [
"string"
]
}
],
"totals": {
"netCents": 0,
"taxCents": 0,
"grossCents": 0,
"groups": [
{
"taxRate": 0,
"category": "string",
"netCents": 0,
"taxCents": 0,
"grossCents": 0
}
]
},
"relatedOfferId": "string",
"orderConfirmationId": "string",
"convertedInvoiceIds": [
"string"
],
"projectId": "string",
"decisionNote": "string",
"acceptedAt": "2026-11-01T09:30:00.000Z",
"rejectedAt": "2026-11-01T09:30:00.000Z",
"language": "de",
"dispatch": {
"count": 0,
"lastChannel": "email",
"lastSentAt": "2026-11-01T09:30:00.000Z"
},
"locked": false,
"lockedAt": "2026-11-01T09:30:00.000Z",
"createdAt": "2026-11-01T09:30:00.000Z",
"updatedAt": "2026-11-01T09:30:00.000Z"
}/api/v1/offers/{id}/sendLike /invoices/{id}/send. Additional placeholder in the email text: {gueltig}.
Permission: offers:write
Path parameters
idstringrequiredResource IDmax. 128 characters
Headers
Idempotency-KeystringUnique key (8–255 characters). Repeated requests with the same key return the same response for 24 h.max. 255 characters
Body (JSON) · InvoiceSend
channel"email" | "post"requiredtoArray<string (email)>Email: recipient; default is the contact's invoice email addressmax. 254 charactersccArray<string (email)>max. 254 characterscopyToSelfbooleanEmail: copy to your own invoice email addresssubjectstringmax. 200 charactersmessagestringEmail body; placeholders {nummer} {betrag} {faellig} {kunde} {firma}max. 5000 charactersregisteredbooleanPost: as registered mailfinalizebooleanFinalise the draft before sendingconfirmServiceDatebooleanWithout a date or period of supply: confirms that the supply was made on the invoice date (§ 14 (4) No. 6 UStG)issueDateReasonstringReason if the invoice date differs from the day of finalising (will be logged)max. 500 characters
Response 201 · InvoiceDispatch
idstringrequiredmax. 128 charactersinvoiceIdstringrequiredmax. 128 characterschannel"email" | "post"requiredstatus"sending" | "sent" | "failed"requiredtoArray<string>requiredsubjectstring | nullrequiredregisteredbooleanrequiredletterIdstring | nullrequiredtrackingRefstring | nullrequiredpageCountinteger | nullrequired-9007199254740991–9007199254740991priceEurostring | nullrequireddeliveryStatus"pending" | "delivered" | "failed" | "returned" | nullrequiredPost only: delivery status according to Briefdiener (cron letter-status), otherwise nulldeliveryMessagestring | nullrequiredtrackingUrlstring | nullrequireddeliveryUpdatedAtstring (date-time) | nullrequiredTimestamp (ISO 8601)errorstring | nullrequiredactorActor | nullrequiredtype"user" | "api_key" | "oauth" | "system"requiredidstringrequiredlabelstring
createdAtstring (date-time)requiredTimestamp (ISO 8601)sentAtstring (date-time) | nullrequiredTimestamp (ISO 8601)
Possible errors: 400, 401, 402, 403, 404, 409, 422, 429, 500, 502
curl -X POST 'https://www.debt-flow.io/api/v1/offers/ID/send' \
-H "Authorization: Bearer $DEBTFLOW_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"channel": "email",
"to": [
"[email protected]"
],
"cc": [
"[email protected]"
],
"copyToSelf": false,
"subject": "string",
"message": "string",
"registered": false,
"finalize": false,
"confirmServiceDate": false,
"issueDateReason": "string"
}'{
"id": "string",
"invoiceId": "string",
"channel": "email",
"status": "sending",
"to": [
"string"
],
"subject": "string",
"registered": false,
"letterId": "string",
"trackingRef": "string",
"pageCount": 0,
"priceEuro": "string",
"deliveryStatus": "pending",
"deliveryMessage": "string",
"trackingUrl": "string",
"deliveryUpdatedAt": "2026-11-01T09:30:00.000Z",
"error": "string",
"actor": {
"type": "user",
"id": "string",
"label": "string"
},
"createdAt": "2026-11-01T09:30:00.000Z",
"sentAt": "2026-11-01T09:30:00.000Z"
}