Credit notes
POST /v1/invoices/{invoiceId}/credit
Section titled “POST /v1/invoices/{invoiceId}/credit”| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
invoiceId | path | string | Yes |
Request exampleNo request body
curl -X POST https://api.rieckflow.com/v1/invoices/9b2f1c1e-…/credit \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041"const svar = await rieck.request("POST", "/v1/invoices/9b2f1c1e-…/credit");{ "data": { "id": "9b2f1c1e-6b87-4d9b-91a0-47c8d72b8440", "invoiceNumber": 1042, "type": "invoice", "status": "issued", "customerId": "467a0d8d-b9b2-4df3-bf7b-17d649442890", "issuedDate": "2026-08-04", "dueDate": "2026-08-18", "netOere": 125000, "vatOere": 31250, "grossOere": 156250, "paidOere": 0, "creditedOere": 0, "reminderFeeOere": 0, "balanceOere": 156250, "reminderCount": 0, "collectionsCaseId": null, "externalReference": "order-2041", "metadata": null, "createdAt": "2026-08-04T09:32:11Z" }}201 Success envelopeapplication/json
Response fields 8
| Field | Type | Description |
|---|---|---|
data.id | uuid | Stable invoice id. |
data.invoiceNumber | integer | null | Sequential number. Null while the invoice is a draft. |
data.status | draft | issued | paid | overdue | collections | Stored lifecycle status. |
data.grossOere | integer | Invoice total including VAT. |
data.paidOere | integer | Total registered payments. |
data.balanceOere | integer | Amount still owed now. |
data.collectionsCaseId | uuid | null | Collection case created from this invoice. |
data.externalReference | string | null | Your reconciliation reference. |
Possible errors 8
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_idempotency_key | Idempotency-Key is missing or malformed. |
| 401 | invalid_api_key | The API key is missing, invalid, expired or revoked. |
| 403 | api_not_included | The organisation’s plan does not include API access. |
| 403 | insufficient_scope | The key does not have the required scope. |
| 404 | invoice_not_found | The invoice does not exist or belongs to another organisation. |
| 409 | idempotency_conflict | The same key was used with a different request. |
| 409 | idempotency_in_progress | The same operation is currently being processed. Retry later. |
| 429 | rate_limited | The organisation’s rate budget is exhausted. |
GET /v1/creditnotes
Section titled “GET /v1/creditnotes”| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | string | No | Filter by customer |
limit | query | integer | No | Page size, 1-200 (default 50) |
cursor | query | string | No | Opaque cursor from meta.nextCursor |
Request exampleNo request body
curl https://api.rieckflow.com/v1/creditnotes \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/creditnotes");{ "data": [ { "id": "9b2f1c1e-6b87-4d9b-91a0-47c8d72b8440", "invoiceNumber": 1042, "type": "invoice", "status": "issued", "customerId": "467a0d8d-b9b2-4df3-bf7b-17d649442890", "issuedDate": "2026-08-04", "dueDate": "2026-08-18", "netOere": 125000, "vatOere": 31250, "grossOere": 156250, "paidOere": 0, "creditedOere": 0, "reminderFeeOere": 0, "balanceOere": 156250, "reminderCount": 0, "collectionsCaseId": null, "externalReference": "order-2041", "metadata": null, "createdAt": "2026-08-04T09:32:11Z" } ], "meta": { "nextCursor": null }}200 Success envelopeapplication/json
Response fields 9
| Field | Type | Description |
|---|---|---|
data[].id | uuid | Stable invoice id. |
data[].invoiceNumber | integer | null | Sequential number. Null while the invoice is a draft. |
data[].status | draft | issued | paid | overdue | collections | Stored lifecycle status. |
data[].grossOere | integer | Invoice total including VAT. |
data[].paidOere | integer | Total registered payments. |
data[].balanceOere | integer | Amount still owed now. |
data[].collectionsCaseId | uuid | null | Collection case created from this invoice. |
data[].externalReference | string | null | Your reconciliation reference. |
meta.nextCursor | `string | null` |
Possible errors 5
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_cursor | The cursor is malformed, expired or belongs to another list shape. |
| 401 | invalid_api_key | The API key is missing, invalid, expired or revoked. |
| 403 | api_not_included | The organisation’s plan does not include API access. |
| 403 | insufficient_scope | The key does not have the required scope. |
| 429 | rate_limited | The organisation’s rate budget is exhausted. |
GET /v1/creditnotes/{creditNoteId}
Section titled “GET /v1/creditnotes/{creditNoteId}”| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
creditNoteId | path | string | Yes |
Request exampleNo request body
curl https://api.rieckflow.com/v1/creditnotes/9b2f1c1e-… \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/creditnotes/9b2f1c1e-…");{ "data": { "id": "9b2f1c1e-6b87-4d9b-91a0-47c8d72b8440", "invoiceNumber": 1042, "type": "invoice", "status": "issued", "customerId": "467a0d8d-b9b2-4df3-bf7b-17d649442890", "issuedDate": "2026-08-04", "dueDate": "2026-08-18", "netOere": 125000, "vatOere": 31250, "grossOere": 156250, "paidOere": 0, "creditedOere": 0, "reminderFeeOere": 0, "balanceOere": 156250, "reminderCount": 0, "collectionsCaseId": null, "externalReference": "order-2041", "metadata": null, "createdAt": "2026-08-04T09:32:11Z" }}200 Success envelopeapplication/json
Response fields 8
| Field | Type | Description |
|---|---|---|
data.id | uuid | Stable invoice id. |
data.invoiceNumber | integer | null | Sequential number. Null while the invoice is a draft. |
data.status | draft | issued | paid | overdue | collections | Stored lifecycle status. |
data.grossOere | integer | Invoice total including VAT. |
data.paidOere | integer | Total registered payments. |
data.balanceOere | integer | Amount still owed now. |
data.collectionsCaseId | uuid | null | Collection case created from this invoice. |
data.externalReference | string | null | Your reconciliation reference. |
Possible errors 4
| HTTP | Code | Meaning |
|---|---|---|
| 401 | invalid_api_key | The API key is missing, invalid, expired or revoked. |
| 403 | api_not_included | The organisation’s plan does not include API access. |
| 403 | insufficient_scope | The key does not have the required scope. |
| 429 | rate_limited | The organisation’s rate budget is exhausted. |
GET /v1/creditnotes/{creditNoteId}/pdf
Section titled “GET /v1/creditnotes/{creditNoteId}/pdf”| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
creditNoteId | path | string | Yes |
Request exampleNo request body
curl https://api.rieckflow.com/v1/creditnotes/9b2f1c1e-…/pdf \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/creditnotes/9b2f1c1e-…/pdf");200 Success envelopeapplication/pdf
Possible errors 4
| HTTP | Code | Meaning |
|---|---|---|
| 401 | invalid_api_key | The API key is missing, invalid, expired or revoked. |
| 403 | api_not_included | The organisation’s plan does not include API access. |
| 403 | insufficient_scope | The key does not have the required scope. |
| 429 | rate_limited | The organisation’s rate budget is exhausted. |