Credifin enables the API per customer. A customer administrator then creates the API key, copies the setup details and connects their ERP. Existing CollectOnline integrations continue with a new address and key.
Public core availableContract version 1.2.0 · 62 documented endpoints
Credifin supplies the key name, permissions and API address. The key remains valid until revoked and is masked but copyable by authorised users.
1
Credifin enables the integration
After activation, you will see Integrations → API in the client portal.
2
The customer administrator creates the key
Click Generate API key. Name and permissions are preconfigured; the key remains valid until revoked.
3
Copy and validate
Store the key in your secret manager and run the safe validation cURL. The prefix stays visible for management; the secret stays hidden and can be copied on request.
API address
https://crm.credifin.nl
Authentication header
Api-Key
Preferred route
POST /api/v1/dossiers
The API address is the same for every customer. The key automatically links each request to the correct customer.
How the API works
One address, one header, JSON in and JSON out. Everything below applies to every route.
Address and key
All requests go to https://crm.credifin.nl with the header Api-Key. The key automatically determines the creditor; you can only view and modify your own files. An agency key works for all agency clients (see Agencies).
A key has scopes: dossiers:read for reading and dossiers:create for submissions and notifications.
Formats
Amounts are decimal numbers in euros (847.5), never cents. Dates use YYYY-MM-DD; timestamps use ISO 8601 in UTC (2026-09-01T12:30:00.000Z).
Send JSON with Content-Type: application/json in UTF-8. Attachments use base64: PDF, JPEG, PNG, TIFF, GIF, WEBP, HEIC, HTML, XML/UBL, EML, MSG, DOCX, XLSX, TXT, CSV, up to 10 MB per file. Every file is checked by content and scanned for viruses before storage.
Identifiers
Every resource has a uuid. Use it in subsequent calls. Your own references (reference) are retained and searchable through GET /api/dossier/{reference}/verification.
Migrated CollectOnline UUIDs continue working if Credifin mapped them during activation.
Pagination and filters
Paginate lists using the headers X-API-NEXT-PAGE (first page 1) and X-API-PAGE-LIMIT (default 20, maximum 200). The response provides in X-API-NEXT-PAGE the next page number; empty means finished.
Filter files by modification time using X-API-FILTER-FROM and X-API-FILTER-TO, or by payment reference with X-API-FILTER-OGM.
Safe retries
Every POST accepts an Idempotency-Key. The same key and body return exactly the same response and never create a second record. Without the header, Credifin uses your source reference as the key.
Limits and traceability
Every response includes X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. For 429 wait for the Retry-After .
Store the X-Request-Id for each request; this lets Credifin locate a specific call for support.
Agencies
Customers and agencies use the same API and documentation. A customer key grants access to that customer. An agency key grants access to the companies currently assigned to the agency; a group key also covers its own branches. Access is determined again for every request.
POST /api/creditor: use creditors:create and Idempotency-Key to create a company under your own agency. Use the returned uuid or reference as creditor. This request does not create a user login.
If you manage multiple customers as an agency, you receive one key for the whole agency. Credifin enables access per agency; the agency administrator then creates the key under Integrations → API. New customers within your agency are immediately covered by the same key.
Which clients
GET /api/creditor returns all clients accessible with your key, with their client number (reference) and UUID. A customer key returns only its own customer here.
Submit
For POST /api/debtor, POST /api/dossier, POST /api/invoice and POST /api/v1/dossiers specify the client in creditor: the customer number or UUID. If your agency has only one customer, the field can be omitted. If it is missing with multiple customers, the API responds with 422 CREDITOR_REQUIRED; a customer outside your agency returns 403 CREDITOR_MISMATCH.
Read
All read routes cover all customers in the agency. File rows include creditorUuid and creditorReference, so you can identify the customer for each file.
Webhooks
One webhook for the whole agency under Integrations → Webhooks; every notification includes creditor and agency . Only agents can select creditor.created : a new client has been created under your agency.
Migrating from CollectOnline
Core submission remains familiar
If your integration uses CollectOnline customer routes (reading debtors, files, invoices, payments, costs and attachments; submitting debtors, files and invoices), the familiar /api/... paths, JSON field names, Api-Key header, X-API-... pagination headers and HTTP 200 creation responses remain available.
In many cases, a new API address and key are sufficient. Always verify with an acceptance test, because identifiers must be explicitly mapped.
Broad automation requires a brief assessment
Integrations using old email, task or management routes may need a dedicated adapter or mapping.
New integrations should prefer one atomic request through POST /api/v1/dossiers.
Switch in five steps
Request activation. Credifin enables the API for your customer and maps existing CollectOnline identifiers.
Create a key under Integrations → API and store it in your secret manager. The old CollectOnline key does not work here.
Replace the addresshttps://credifin.collectonline.eu by https://crm.credifin.nl. The paths under /api/... remain unchanged.
Run an acceptance test: retrieve your file list, read one file with /financial and submit a test file through POST /api/v1/dossiers/validate.
Review the differences in the table below and switch over. Tell us which routes you use so we can check them specifically.
Available for the documented customer features; check the differences for each endpoint
Pagination
X-API-NEXT-PAGE, X-API-PAGE-LIMIT, X-API-FILTER-*
Identical, plus query parameter variants page, limit, from, to, ogm
Identifiers
UUID per resource
UUID per resource; linked old UUIDs remain valid
Creation responses
HTTP 200 with the object
HTTP 200 with the object; optional Idempotency-Key
Upload attachments
Available
Identical; PDF, JPEG, PNG, TIFF, GIF, WEBP, HEIC, HTML, XML/UBL, EML, MSG, DOCX, XLSX, TXT, CSV up to 10 MB, detected by content
Report payment
POST /api/payment
Identical; directly received payments only (receivedBy: CLIENT)
Hearing date, bailiff payments, invoice types
Available
Not included; handled by Credifin
Engie, Quandago and PSP routes
Partner-specific
Not included
Webhooks
Configurable per URL, without a signature
Configurable per URL in the portal, with the same events, HMAC signature and retries
Interest, history and credit notes
These features are available to all customers and agencies with the required permissions. They are part of the general API; there is no separate customer-specific version. Open the route for its conditions, fields and responses:
For these three routes, the UUID in the path identifies the company the request belongs to. An agency key does not need to supply an additional creditor here. File and customer access boundaries still apply.
A linked CollectOnline UUID remains usable within your current access rights. A missing source link or a resource outside your access returns 404. An ambiguous source link returns 409. Report the route, UUID and X-Request-Id to Credifin in that case; do not create a replacement file.
Status history uses the actual status date in Dutch local time. Use the transition to lost to identify a write-off; closed means a positive closure. Empty history does not establish a write-off date. A historical note without a file has attachmentName: null; there is no file to download.
Identities and credit note attachments
Imported files can have several historical debtor records for one source UUID. The file list and detail use the same stable debtor UUID as a lookup by that source UUID. Existing file records are not merged.
With agency access, the same old debtor UUID may occur for several customers. Use GET /api/debtor/{debtor}?creditor={creditor}. Without a customer the response is 409 LEGACY_ID_AMBIGUOUS. The UUID from debtorUuid can be retrieved directly.
Credit notes include hasAttachment and invoice. Only visible attachments count. invoice is null when no invoice link is recorded. Downloads also require document access; internal or blocked files are not released.
GET /api/creditnote/{creditNote}/attachment
Testing with a test customer
Tests use the same API address with a separate test customer and its own customer key. Use only fictitious files and agreed test contact details. The test key belongs to that customer; it does not grant access to the real customer. There is no separate sandbox.
Ask Credifin to create a separate test customer. Select it under Integrations → API and create its own key. An agency key may cover several companies; do not use it to restrict a test to one company. Test files follow the same processing as regular files. Use only a test receiver for webhooks.
Close an Ominimo file
Use POST /api/dossier/{dossier}/close with reason, note and a required Idempotency-Key. Available only for Ominimo and the separate Test Ominimo account. Normal customer and agency permissions still apply; a test key cannot access real files.
Withdrawal sets the file to lost (closed negative). All withdrawals are grouped in one review task per creditor and Dutch calendar day, including automatic collection-stage closures after an API payment. A WIK closure follows the agreed letter fee when sending is evidenced. Closing does not delete history or change payments or invoice amounts.
Use withdrawn or incorrect_submission for withdrawal with an explanation. This route cannot delete, reopen or close positively. Recording a payment remains a separate financial operation. Any remaining balance stays visible for review. This function never records a receipt or balance adjustment itself.
POST /api/dossier/{dossier}/close
Api-Key: YOUR_API_KEY
Idempotency-Key: withdrawal-your-unique-reference
Content-Type: application/json
{"reason":"incorrect_submission","note":"Incorrectly submitted by Ominimo; please stop collection."}
An action in progress returns 409 with retryable=true and Retry-After. Then retry the same request with the same Idempotency-Key. After Credifin reopens a file, an old closure response is not replayed: check the current status first.
Complete debtor addresses
For every debtor, supply the street, house number including any suffix, postal code, city and country. Check this for all companies and branches. Missing address details can block file processing.
For v1 file submission, these fields are required in debtor.address. A suffix can be supplied separately in houseNumberAddition. Legacy debtor routes use street, houseNumber (including any suffix), postalCode, city and country at the top level. Legacy acceptance of omitted fields does not mean the address is complete.
Complete an existing address using PUT /api/debtor/{debtor}, dossiers:create and a new Idempotency-Key for each change. Reuse the same key and content for a retry. An agency key must also supply creditor. Read the debtor again afterwards to check the stored details. POST /api/debtor does not update an existing debtor.
Omitted fields are preserved; null or an empty value clears optional fields. A 409 SHARED_DEBTOR response means nothing was changed: coordinate the update with Credifin. The change applies to the resolved debtor record, not automatically to separate historical copies.
Authentication and safe retries
Send the API key only over HTTPS in the request header. Never place keys in a URL, browser code or application log.
On timeout: resend exactly the same body with the same idempotency key. Never use that key for a different body; this returns 409 IDEMPOTENCY_KEY_REUSED.
Safe file creation: the file is created immediately, but collection never starts before the day after the latest specified due date.
Quickstart: safe validation
Store the key outside your shell history as CREDIFIN_API_KEY. This route checks the same fields as the production route, but saves nothing and starts no workflow.
Ready for production: send exactly the same valid body to POST /api/v1/dossiers and add a stable Idempotency-Key . Only that production route creates the file.
Sending additional file details
The more details a file contains, the more often Credifin can answer a debtor’s question straight away.
You choose the field names yourself. Always use the same name for the same kind of detail. Examples are shown below.
Field name
Content
Insurer
polisnummer
Policy or contract number
kenteken
Vehicle licence plate
voertuig
Make and model
polis_ingangsdatum
Policy start date (YYYY-MM-DD)
polis_einddatum
Policy end date (YYYY-MM-DD)
opzegdatum
Cancellation date (YYYY-MM-DD)
opgezegd_door
Who cancelled: customer or insurer
premie_termijnbedrag
Premium per instalment
betaaltermijn
Payment frequency, for example monthly
Supplier or service provider
ordernummer
Order or project number
leverdatum
Date of delivery or performance (YYYY-MM-DD)
contractnummer
Contract or subscription number
Landlord
huurcontract
Tenancy agreement number
adres_object
Address of the rented property
einddatum_huur
End date of the tenancy (YYYY-MM-DD)
Include these fields when submitting, as a list of name and value:
async function gewijzigdeDossiers(sinds) {
const alles = [];
let pagina = '1';
while (pagina) {
const antwoord = await fetch('https://crm.credifin.nl/api/dossier', {
headers: {
'Api-Key': process.env.CREDIFIN_API_KEY,
'X-API-FILTER-FROM': sinds,
'X-API-PAGE-LIMIT': '200',
'X-API-NEXT-PAGE': pagina,
},
});
if (!antwoord.ok) throw new Error('Credifin gaf ' + antwoord.status);
alles.push(...(await antwoord.json()));
pagina = antwoord.headers.get('X-API-NEXT-PAGE') || '';
}
return alles;
}
2. Status of one file
The financial summary provides everything in one call: principal, interest, collection costs, payments, credit notes and balance. For just the balance, use /open-amount.
Case details, the case list, open-amount and financial use the same current balance calculation. A dated credit note reduces the interest base from the date displayed on the credit note. A linked credit note reduces only its invoice; without an invoice link, the oldest invoice is reduced first. Recorded case adjustments and fixed invoice interest remain unchanged. Changes and daily interest accrual can change the balance between two requests.
Without invoice lines or an explicitly recorded principal, the API displays the known case balance, as does the case screen. An empty submission therefore does not acquire calculated collection costs.
New integrations submit debtor, file and invoices together. Existing CollectOnline integrations can keep using the chain POST /api/debtor → POST /api/dossier → POST /api/invoice ; the collection process starts only after the latest due date. See the quickstart below for the validation route.
Statuses
The fields status and substatus in file responses use the CollectOnline names. dossierClosed is a useful boolean for closed and lost files.
Status
Meaning
open
In progress, including the free WIK demand stage.
payment plan
A payment plan is active; see /paymentplan.
promise to pay
The debtor has made a payment promise.
paused
Temporarily paused, for example in a dispute.
closed
Completed and settled.
lost
Closed without full collection.
Webhooks
Choose dossier.status.changed to receive status changes automatically. data contains status, substatus, dossierClosed and previous. dossier.uuid identifies the file and creditor.uuid the customer. Use GET /api/dossier/{dossier}/status to retrieve the current state.
Webhooks are processed asynchronously. Process each event ID only once and allow for repeated or delayed notifications. A webhook notifies you of a change; retrieve additional details through the documented API routes.
Instead of polling, let Credifin send a message when something happens in a file. A customer administrator adds under Integrations → Webhooks a URL, selects events and receives a one-time secret to verify each notification. The same page shows every delivery, its content, attempts and a retry button. You can register multiple webhooks, for example one per system. Credifin enables webhooks per creditor.
Agencies. If you manage multiple customers as an agency, register one webhook for the whole agency. It receives notifications for all customers, including future ones; no per-customer setup is needed. Each notification includes under creditor the client number and name, and under agency your agency. Agents also have the event creditor.created: a new customer has been created under your agency. Credifin enables webhooks per agency.
Events
Type
When
In CollectOnline
dossier.created
A new file has been opened for you.
Case created
dossier.status.changed
A file’s status or substatus has changed, including closure.
Status change
dossier.paid
A file’s outstanding balance has reached zero.
Principal paid
paymentplan.created
A payment plan has been recorded.
Plan
note.added
A case handler has added a message visible to you in the file.
File messages
payment.received
A payment has been recorded in the file, received by Credifin or you.
Payments
invoice.created
An invoice has been added to the file.
Invoices
creditnote.created
A credit note has been recorded in the file.
Credit notes
cost.created
A cost item has been added to the file.
Costs
courtcost.created
Court costs have been recorded in the file.
Court costs
communication.sent
Credifin has sent the debtor an email, letter or text message.
Correspondence
communication.received
The debtor has replied by email.
Incoming emails
phone.call
A phone call with the debtor was made or attempted.
Telephone action available
debtor.updated
A debtor’s details have changed.
Debtor
debtor.contact.updated
A debtor’s address or contact has changed.
Debtor contacts
creditor.created
A new customer has been created under your agency, in the portal or by Credifin.
webhook.test
Test notification from the client portal.
The notification
Every notification is a POST with JSON. dossier is a summary of the file; data has the same structure as its corresponding API resource, for example a payment for payment.received. For debtor and client events and test notifications, dossier is null. creditor identifies the creditor (UUID, client number, name) and agency the agency it belongs to, or null.
Calculate HMAC-SHA256 over <timestamp>.<ruwe body> with your secret and compare with v1 from the header. Reject notifications whose timestamp differs by more than five minutes.
Acknowledge within ten seconds, then process. Any other status or a timeout counts as failure. Redirects are not followed.
Retries
After failure, Credifin retries after 1 minute, 5 minutes, 30 minutes, 2 hours, 12 hours and 24 hours. Each attempt appears with its time and response under Integrations → Webhooks, where abandoned notifications can be restarted. After 50 consecutive failures, the webhook is paused.
Deduplication and ordering
A notification can arrive more than once. Store the id and ignore duplicates. Notifications may arrive out of order; use occurredAt.
Filters
With a start date, you receive notifications only for files created on or after that date. Disable “own API events” to exclude files and invoices submitted by your own integration.
What you do not receive
Internal notes, email content and call reports stay in the portal. Message notifications contain the subject, channel and time. Communication notifications require communication visibility in your portal.
Testing
With Send test in the portal, Credifin immediately sends a webhook.test notification and shows your server’s response.
All supported endpoints
Open an endpoint for parameters, request fields, examples, responses and stable operationId. The preferred route is already expanded.
62 endpoints · 7 groups
Legacy creditors
Customers accessible with a key; for agencies, all customers under the agency.
2 endpoints
GET/api/creditorRetrieve the customers accessible with this key
A customer key returns only its own customer. An agency key returns all current agency customers, including those created today. Use reference (the customer number) or uuid as creditor when submitting debtors, files and invoices.
Authentication
Api-Key
operationId
legacyListCreditors
Parameters
No additional parameters. The Api-Key header remains required.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/creditorCreate a company under your agency
Only for agency keys with creditors:create and a required Idempotency-Key. The company is assigned to the agency; group keys select an owned branch with agencyId. Reuse the same key and content for retries. The response contains uuid and reference (customer number); use either as creditor when submitting dossiers. No login is created and no invitation is sent. Standard agencies supply a valid iban; branches use their configured payout account. Existing companies are not taken over. New agency keys include this permission; existing keys do not gain it automatically.
Authentication
Api-Key
operationId
agencyCreateCreditor
Parameters
Name
Location
Type
Explanation
Idempotency-Keyrequired
header
string
Unique key per logical request. Save and reuse it after timeouts or network retries.
Drop-in compatibility for creating and reading debtors, addresses and contacts.
11 endpoints
GET/api/debtorRetrieve your debtors
Paginated list scoped to your customer, including your API debtors without a file. Search by exact, case-sensitive reference using X-API-FILTER-REFERENCE or the reference query parameter. Both must match if supplied together. Unknown references return an empty list; multiple historical matches remain separate results. Pagination uses X-API-NEXT-PAGE and X-API-PAGE-LIMIT, or page and limit.
Authentication
Api-Key
operationId
legacyListDebtors
Parameters
Name
Location
Type
Explanation
X-API-NEXT-PAGEoptional
header
integer
Requested page; the first page is 1. Also available as query parameter page.
Example: 1
X-API-PAGE-LIMIToptional
header
integer
Maximum rows per page (default 20, maximum 200). Also available as query parameter limit.
Example: 50
X-API-FILTER-REFERENCEoptional
header
string
Exact customer debtor reference.
referenceoptional
query
string
Alternative to X-API-FILTER-REFERENCE; both values must match if supplied.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/debtorCreate a debtor
Compatible creation operation. The response contains an opaque uuid which is used in subsequent calls as {debtor} is used.
Authentication
Api-Key
operationId
legacyCreateDebtor
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
PUT/api/debtor/{debtor}Update an existing debtor
Partial update requiring dossiers:create and an Idempotency-Key. Omitted fields are preserved; null or an empty string clears optional fields. UUID and reference remain unchanged. Agency keys must supply creditor. Address fields update the primary active address, otherwise the first active address; if none exists, non-empty address fields create a new address. Only the resolved debtor record is updated, not separate historical copies. Records shared by multiple customers return 409 SHARED_DEBTOR. Use a new key per change and the same key for retries. POST still creates/finds debtors. Technical notes remain internal.
Authentication
Api-Key
operationId
legacyUpdateDebtor
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
Example: 4d9de86e-5d39-4fef-85a5-055426333625
Idempotency-Keyrequired
header
string
Unique key per logical request. Save and reuse it after timeouts or network retries.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/debtor/{debtor}Retrieve a debtor
Retrieve a debtor
Authentication
Api-Key
operationId
legacyGetDebtor
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/debtor/{debtor}/addressRetrieve a debtor’s addresses
All addresses, default address first.
Authentication
Api-Key
operationId
legacyListDebtorAddresses
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/debtor/{debtor}/addressAdd an address to a debtor
Add an address to a debtor
Authentication
Api-Key
operationId
legacyCreateDebtorAddress
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
Example: 4d9de86e-5d39-4fef-85a5-055426333625
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/debtor/{debtor}/contactRetrieve a debtor’s active contacts
Active contacts only. Use GET /api/debtor/{debtor}/contact/all for the full list.
Authentication
Api-Key
operationId
legacyListDebtorContacts
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/debtor/{debtor}/contactAdd a contact to a debtor
Add a contact to a debtor
Authentication
Api-Key
operationId
legacyCreateDebtorContact
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
Example: 4d9de86e-5d39-4fef-85a5-055426333625
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/debtor/{debtor}/address/{debtorAddress}Retrieve a debtor’s address
One address, including the flags default and active.
Authentication
Api-Key
operationId
legacyGetDebtorAddress
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/debtor/{debtor}/contact/allRetrieve all debtor contacts, including inactive ones
Same format as GET /api/debtor/{debtor}/contact, including deactivated contacts.
Authentication
Api-Key
operationId
legacyListAllDebtorContacts
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/debtor/{debtor}/contact/{entityContact}Retrieve a debtor’s contact
One contact; {entityContact} is the UUID from the contact list or your own uuid provided at creation.
Authentication
Api-Key
operationId
legacyGetDebtorContact
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
Example: 4d9de86e-5d39-4fef-85a5-055426333625
entityContactrequired
path
string
Contact UUID, or your own uuid you provided at creation.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Legacy files
Compatible core routes for file submission, lists, status, balance and financial summary.
22 endpoints
POST/api/dossier/{dossier}/closeClose an Ominimo file
Available only for Ominimo and Test Ominimo within existing access. Requires dossiers:create and Idempotency-Key. Only closes to lost (closed negative), with a reason and explanation; does not delete a file or record a payment or write-off. All withdrawals are grouped in one review task per creditor and Dutch calendar day. During the WIK stage, agreed letter fees follow normal settlement. Other creditors receive 403 CLOSURE_NOT_ENABLED.
Authentication
Api-Key
operationId
ominimoCloseDossier
Parameters
Name
Location
Type
Explanation
dossierrequired
path
string · uuid
Opaque file UUID from a previous legacy response.
Example: c3069230-ff95-4c95-aa73-9c57945ae038
Idempotency-Keyrequired
header
string
Unique key per logical request. Save and reuse it after timeouts or network retries.
Example: order-73145-dossier-v1
Request body required
Request body
application/json
Example
{
"reason": "withdrawn",
"note": "De opdrachtgever trekt de vordering in."
}
Fields and schema
Request body
Field
Type
Rules and explanations
reasonrequired
string
Withdrawal only closes negatively (lost). Use withdrawn or incorrect_submission with an explanation. allowed: withdrawn, incorrect_submission
noterequired
string
Substantive explanation for the closure. min. length: 3 · max. length: 2000
Responses
200Closed, or already closed. A repeat request does not create a second closure or letter fee.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossierRetrieve your files
Paginated list, most recently modified first. Filter by modification time with X-API-FILTER-FROM and X-API-FILTER-TO (Dutch time) or by payment reference with X-API-FILTER-OGM. The response header X-API-NEXT-PAGE contains the next page number and is empty on the last page.
Authentication
Api-Key
operationId
legacyListDossiers
Parameters
Name
Location
Type
Explanation
X-API-NEXT-PAGEoptional
header
integer
Requested page; the first page is 1. Also available as query parameter page.
Example: 1
X-API-PAGE-LIMIToptional
header
integer
Maximum rows per page (default 20, maximum 200). Also available as query parameter limit.
Example: 50
X-API-FILTER-FROMoptional
header
string
Only files changed at or after this time, as yyyy-MM-dd HH:mm:ss in Dutch local time. Also available as a query string from.
Example: 2026-09-01 00:00:00
X-API-FILTER-TOoptional
header
string
Only files changed at or before this time, as yyyy-MM-dd HH:mm:ss in Dutch local time. Also available as a query string to.
Example: 2026-09-30 23:59:59
X-API-FILTER-OGMoptional
header
string
Filter by payment reference, written as ddd/dddd/ddddd or as twelve digits. Also available as a query string ogm.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/dossierCreate a file
Creates a file for an existing legacy debtor. reference may be omitted to let Credifin generate the file number.
Authentication
Api-Key
operationId
legacyCreateDossier
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/statusRetrieve the file status
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/open-amountRetrieve the outstanding amount
Returns both balance and the alias field used by older consumers openAmount, using the same current calculation as financial, case details and the case list.
Authentication
Api-Key
operationId
legacyGetDossierOpenAmount
Parameters
Name
Location
Type
Explanation
dossierrequired
path
string · uuid
Opaque file UUID from a previous legacy response.
Example: c3069230-ff95-4c95-aa73-9c57945ae038
Responses
200Outstanding amount in the file’s currency.
Response 200
application/json
Example
{
"balance": "847.50",
"openAmount": 847.5
}
Fields and schema
LegacyOpenAmount
Field
Type
Rules and explanations
balancerequired
string
Outstanding amount in the file currency.
openAmountrequired
number
Compatibility alias of balance for older consumers.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/dossier/{dossier}/attachmentAdd an attachment to a file
Adds a file to the case. PDF, JPEG, PNG, TIFF, GIF, WEBP, HEIC, HTML, XML/UBL, EML, MSG, DOCX, XLSX, TXT, CSV up to 10 MB are accepted, as base64 in data. With visibility: "public" the debtor can see the file in the debtor portal; without that option, the attachment is available to you by default in the customer portal and API. Explicitly internal attachments remain hidden in the customer portal.
Authentication
Api-Key
operationId
legacyCreateDossierAttachment
Parameters
Name
Location
Type
Explanation
dossierrequired
path
string · uuid
Opaque file UUID from a previous legacy response.
Example: c3069230-ff95-4c95-aa73-9c57945ae038
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
413The request or base64 attachment exceeds the size limit.
Response 413
application/json
Example
{
"error": {
"code": "PAYLOAD_TOO_LARGE",
"message": "De bijlage overschrijdt de toegestane grootte.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/verificationCheck whether a customer reference already has a file
Searches using your own reference or by the Credifin file number. Always responds with HTTP 200; exists indicates whether a file exists. Useful for preventing duplicate submissions.
Authentication
Api-Key
operationId
legacyVerifyDossierReference
Parameters
Name
Location
Type
Explanation
dossierrequired
path
string
Your own client reference or the Credifin file number.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/financialRetrieve a file’s financial summary
All invoices, credit notes, payments, costs and court costs, plus the scalar fields interest (interest) and penalty (collection costs). balance uses the same current calculation as open-amount, case details and the case list. Credit notes reduce the interest base from their displayed date: linked to their invoice, otherwise oldest invoice first. Recorded adjustments remain unchanged; changes or daily interest can alter the balance between requests.
Without invoice lines or an explicitly recorded principal, the API displays the known case balance, as does the case screen. An empty submission therefore does not acquire calculated collection costs.
principalrequired
number
Principal (sum of invoices).
interestrequired
number
Interest accrued to date.
penaltyrequired
number
Collection costs (WIK), including VAT where applicable.
interestKindoptional
string
allowed: consumer, commercial
interestBaseoptional
number
Principal on which interest continues.
claimAdjustedoptional
boolean
totalsoptional
object
invoicesrequired
array<LegacyInvoice>
creditnotesrequired
array<LegacyCreditNote>
paymentsrequired
array<LegacyPayment>
costsrequired
array<LegacyCost>
courtcostsrequired
array<LegacyCourtCost>
LegacyInvoice
Field
Type
Rules and explanations
uuidrequired
string · uuid
dossierrequired
string · uuid
referencerequired
string
descriptionoptional
string | null
ogmoptional
string | null
daterequired
string · date
dueDaterequired
string | null
amountrequired
number
hasAttachmentrequired
boolean
firstReminderDateoptional
string | null
firstReminderMethodoptional
string | null
metarequired
array<object>
LegacyCreditNote
Field
Type
Rules and explanations
uuidrequired
string · uuid
Credit note UUID.
dossierrequired
string · uuid
File UUID.
invoicerequired
string | null
hasAttachmentrequired
boolean
referenceoptional
string | null
Credit note number.
daterequired
string | null
Credit note date.
amountrequired
number
Amount reducing the principal.
descriptionoptional
string | null
Description.
LegacyPayment
Field
Type
Rules and explanations
uuidrequired
string · uuid
Payment UUID.
dossierrequired
string · uuid
File UUID.
referenceoptional
string | null
Payment reference or matching key.
daterequired
string | null
Payment date.
valueDateoptional
string | null
Value date.
amountrequired
number
Amount received.
ibanoptional
string | null
Counterparty account for receipts into the client funds account; otherwise null.
receivedByoptional
string | null
Where the money was received. allowed: CLIENT, OWN_ACCOUNT, null
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/entityRetrieve the parties in a file
Party list in CollectOnline format: debtor, creditor and collection agency.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/interestRetrieve a file’s interest breakdown
Statutory or commercial interest on the declining principal. The total also includes fixed invoice interest; rows show only automatically calculated interest. For a manually adjusted claim, adjusted is true and there are no rows.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/indemnificationRetrieve a file’s indemnity details
Whether indemnification applies to the file, with its explanation.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/rpvRetrieve a file’s court registration fees and disbursements
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/paymentplanRetrieve the current payment plan
The active or proposed payment plan and its instalments. Instalments include the CollectOnline names deadline_at and paid_at as dueDate and paidAt. Without an active payment plan, this route returns 404.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/metaRetrieve all metadata fields of a file
Custom name-value pairs attached to the file, such as your order number.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/dossier/{dossier}/metaSet a metadata field on this file
Same behaviour as POST /api/meta, with the file in the path. An existing field with the same name is overwritten. Credifin uses these fields when answering debtor questions.
Authentication
Api-Key
operationId
legacyUpsertDossierMeta
Parameters
Name
Location
Type
Explanation
dossierrequired
path
string · uuid
Opaque file UUID from a previous legacy response.
Example: c3069230-ff95-4c95-aa73-9c57945ae038
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/meta/{name}Retrieve one metadata field of a file
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/meta/{name}Search a metadata field across all your files
All your customer’s files with a metadata field of this name, including each file UUID. Maximum 500 rows.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/metaSet a metadata field on a file
Creates the metadata field or overwrites its value if the name already exists. Some names are reserved for Credifin.
Authentication
Api-Key
operationId
legacyUpsertMeta
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
PUT/api/dossier/groupGroup files under one group reference
Set groupReference on all specified files and marks one file as isGroupMaster. All files must belong to your creditor; otherwise nothing is changed.
Authentication
Api-Key
operationId
legacySetDossierGroup
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/status/historyRead case status history
Newest first. timestamp is the actual status change time in Europe/Amsterdam (YYYY-MM-DD HH:mm), not the import date. Only documented status changes are shown; no history returns an empty list. lost means written off, closed means positively closed. Internal comments are not shared. Requires dossiers:read.
Authentication
Api-Key
operationId
legacyDossierStatusHistory
Parameters
Name
Location
Type
Explanation
dossierrequired
path
string · uuid
Responses
200Status changes.
Response 200
application/json
Fields and schema
Response 200
Typearray<LegacyStatusHistoryRow>
LegacyStatusHistoryRow
Field
Type
Rules and explanations
statusrequired
string
A payment promise is called payment promise in this history; the current file status uses promise to pay.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Legacy invoices
Compatible core routes for submitting and reading invoices.
8 endpoints
POST/api/invoiceCreate an invoice
Provide dossier to add an invoice to your client’s open file, including after migration or key rotation. The existing process is not restarted. With only debtor the only open file is reused, or a new one is created if none exists. With multiple open files, dossier is required (HTTP 409); an explicitly unknown file returns HTTP 404. At least one of the two fields is required. Invoice and file currencies must match. An incomplete submission remains linked to the original API client.
Authentication
Api-Key
operationId
legacyCreateInvoice
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/invoice/{invoice}Retrieve an invoice
Retrieve an invoice
Authentication
Api-Key
operationId
legacyGetInvoice
Parameters
Name
Location
Type
Explanation
invoicerequired
path
string · uuid
Opaque invoice UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/invoice/{invoice}/attachmentDownload the invoice file
As in CollectOnline, this route returns the binary file itself, not JSON. Without a visible invoice file it returns 404.
Authentication
Api-Key
operationId
legacyDownloadInvoiceAttachment
Parameters
Name
Location
Type
Explanation
invoicerequired
path
string · uuid
Opaque invoice UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
502Document storage is temporarily unavailable; try again later.
Response 502
application/json
Example
{
"error": {
"code": "DOCUMENT_STORAGE_UNREACHABLE",
"message": "De documentopslag is tijdelijk niet bereikbaar.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/invoice/{invoice}/attachmentAdd an attachment to an invoice
Adds a copy to an invoice. PDF, JPEG, PNG, TIFF, GIF, WEBP, HEIC, HTML, XML/UBL, EML, MSG, DOCX, XLSX, TXT, CSV up to 10 MB are accepted, as base64 in data. Invoice copies are visible to the debtor in their portal, just like copies added by Credifin.
Authentication
Api-Key
operationId
legacyCreateInvoiceAttachment
Parameters
Name
Location
Type
Explanation
invoicerequired
path
string · uuid
Opaque invoice UUID from a previous legacy response.
Example: 251ab794-7c85-443a-aeb9-44603080dd1d
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
413The request or base64 attachment exceeds the size limit.
Response 413
application/json
Example
{
"error": {
"code": "PAYLOAD_TOO_LARGE",
"message": "De bijlage overschrijdt de toegestane grootte.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/debtor/{debtor}/invoiceRetrieve all invoices of a debtor
Invoices from all this debtor’s files with your customer, oldest first.
Authentication
Api-Key
operationId
legacyListDebtorInvoices
Parameters
Name
Location
Type
Explanation
debtorrequired
path
string · uuid
Opaque debtor UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/invoiceRetrieve a file’s invoices
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/invoice/{invoice}/interestRetrieve an invoice’s interest breakdown
Gross interest accrued from the due date, or the fixed amount set with PUT. With fixed interest, adjusted is true and rows is empty. Existing file arrangements remain authoritative. paymentsApplied is false: use GET /api/dossier/{dossier}/interest for net interest at file level.
Authentication
Api-Key
operationId
legacyGetInvoiceInterest
Parameters
Name
Location
Type
Explanation
invoicerequired
path
string · uuid
Opaque invoice UUID from a previous legacy response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
PUT/api/invoice/{invoice}/interestSet a fixed interest amount on an invoice
amount is an absolute amount in euros, not a percentage or an additional charge. Requires dossiers:create. Idempotency-Key is optional; send a unique key for each change to recognise retries after a later change. Without a key, each request is processed as a new absolute setting. It replaces automatic interest on this invoice and affects the file balance; other invoices continue to accrue interest. Payments reduce principal in due-date order. A closed file, cost-free WIK process, excluded interest or manually fixed claim returns 409; these arrangements are not overwritten.
Authentication
Api-Key
operationId
legacySetInvoiceInterest
Parameters
Name
Location
Type
Explanation
invoicerequired
path
string · uuid
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Legacy finance
Read payments, credit note items, costs and court costs per file.
12 endpoints
GET/api/dossier/{dossier}/creditnoteRetrieve a file’s credit notes
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/creditnote/{creditNote}Retrieve a credit note
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/paymentRetrieve a file’s payments
All payments recorded in the file. receivedBy indicates whether the money was received into Credifin’s client funds account (OWN_ACCOUNT) or directly by you (CLIENT) was received; iban is only populated for receipts into the client funds account.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/costRetrieve a file’s cost items
All cost items in the file. Interest is calculated live and appears separately in GET /api/dossier/{dossier}/interest.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier-cost/typeRetrieve cost types
The fixed list of cost types that may appear in type may occur for a cost item.
Authentication
Api-Key
operationId
legacyListCostTypes
Parameters
No additional parameters. The Api-Key header remains required.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier-cost/type/{costType}Retrieve a cost type
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/{dossier}/court-costRetrieve a file’s court costs
Court and bailiff costs incurred during legal proceedings.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/paymentReport a payment you received directly
Records a payment made directly to you by the debtor. The file balance, any active payment plan and settlement are updated immediately, and your case handler is notified. Credifin records payments to its client funds account itself; receivedBy may therefore only be CLIENT . Works on any open file of your creditor, including files from CollectOnline.
Authentication
Api-Key
operationId
legacyReportPayment
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/creditnoteAdd a credit note to a file
Reduces the file principal by the credit amount. Interest and collection costs are recalculated and your case handler is notified. Not available for closed files.
Authentication
Api-Key
operationId
legacyCreateCreditNote
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/dossier-costAdd a cost item to a file
Records costs you may contractually charge the debtor, always of type OTHER. Credifin manages interest, collection costs and court costs. Your case handler reviews the item; unavailable for closed files.
Authentication
Api-Key
operationId
legacyCreateCost
Parameters
Name
Location
Type
Explanation
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Legacy documents
Retrieve and download file attachments.
5 endpoints
GET/api/dossier/{dossier}/attachmentRetrieve a file’s attachments
Metadata for all customer-visible attachments and your own uploads.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/dossier/attachment/{attachment}/downloadDownload an attachment
The file content with Content-Type and Content-Disposition. Only documents released to the client and your own uploads are accessible.
Authentication
Api-Key
operationId
legacyDownloadDossierAttachment
Parameters
Name
Location
Type
Explanation
attachmentrequired
path
string · uuid
Attachment UUID from the attachment list or upload response.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
502Document storage is temporarily unavailable; try again later.
Response 502
application/json
Example
{
"error": {
"code": "DOCUMENT_STORAGE_UNREACHABLE",
"message": "De documentopslag is tijdelijk niet bereikbaar.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/creditnote/{creditNote}/attachmentUpload a credit note PDF
Links the attachment to the credit note and the file without changing the credit amount. JSON with filename and base64 data, up to 10 MB, with content inspection and virus scanning as for invoice attachments. Requires dossiers:create. Works on open files within your customer access; closed files return 409.
Authentication
Api-Key
operationId
legacyCreditNoteAttachment
Parameters
Name
Location
Type
Explanation
creditNoterequired
path
string · uuid
Idempotency-Keyoptional
header
string
Recommended unique key per change. Resending the same key and body is safe. Optional for compatibility with existing legacy clients.
{
"error": {
"code": "INVALID_REQUEST",
"message": "De JSON-body kon niet worden verwerkt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
413The request or base64 attachment exceeds the size limit.
Response 413
application/json
Example
{
"error": {
"code": "PAYLOAD_TOO_LARGE",
"message": "De bijlage overschrijdt de toegestane grootte.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415Content-Type or file type is unsupported.
Response 415
application/json
Example
{
"error": {
"code": "UNSUPPORTED_MEDIA_TYPE",
"message": "Dit media- of bestandstype wordt niet ondersteund.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
422The JSON is valid, but one or more fields do not meet the contract.
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
GET/api/creditnote/{creditNote}/attachmentDownload a credit note attachment
Human-readable explanation; not intended as a stable integration value.
403The API key cannot access this customer or resource.
Response 403
application/json
Example
{
"error": {
"code": "FORBIDDEN",
"message": "Deze API-key mag deze resource niet benaderen.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
404The resource does not exist within this API key’s scope.
Response 404
application/json
Example
{
"error": {
"code": "NOT_FOUND",
"message": "De gevraagde resource is niet gevonden.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
409Conflict, such as a duplicate reference or reused idempotency key with a different body.
Response 409
application/json
Example
{
"error": {
"code": "IDEMPOTENCY_KEY_REUSED",
"message": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
429Too many requests. Wait for the indicated period and retry.
Response 429
application/json
Example
{
"error": {
"code": "RATE_LIMITED",
"message": "Probeer de aanvraag later opnieuw.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500Unexpected error. Use the same idempotency key for a safe retry.
Response 500
application/json
Example
{
"error": {
"code": "INTERNAL_ERROR",
"message": "De aanvraag kon niet worden afgerond.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
502Document storage is temporarily unavailable; try again later.
Response 502
application/json
Example
{
"error": {
"code": "DOCUMENT_STORAGE_UNREACHABLE",
"message": "De documentopslag is tijdelijk niet bereikbaar.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503The optional feature is not yet enabled for production.
Response 503
application/json
Example
{
"error": {
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"message": "Bijlagen via de API zijn nog niet vrijgegeven.",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
}
Fields and schema
LegacyErrorEnvelope
Field
Type
Rules and explanations
errorrequired
object
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Files v1
Atomic submission for new customer integrations.
2 endpoints
POST/api/v1/dossiersSubmit a complete file in one transactionPreferred route
Preferred route for new integrations. Debtor, address, contact, file and invoices are processed in one transaction. An error leaves no partially saved data. A retry with the same Idempotency-Key and the same body returns the same result; reusing it with another body returns HTTP 409. File and invoice attachments are included as base64. Additional details such as policy number, licence plate or cancellation date are sent as file fields.
Authentication
Api-Key
operationId
v1CreateDossier
Parameters
Name
Location
Type
Explanation
Idempotency-Keyrequired
header
string
Unique key per logical request. Save and reuse it after timeouts or network retries.
Customer number or UUID of the customer you submit for. Required for an agency key (see GET /api/creditor); for a customer key, omit it or use your own customer number. max. length: 200
referenceoptional
string
Customer reference; if omitted, Credifin generates a file number. min. length: 1 · max. length: 200
currencyoptional
CurrencyCode
ISO 4217 currency code; input is normalized to uppercase. pattern: ^[A-Za-z]{3}$ · default: EUR
debtorrequired
V1DebtorInput
invoicesrequired
array<V1InvoiceInput>
min. items: 1 · max. items: 100
attachmentsoptional
array<V1AttachmentInput>
File-level attachments, such as a policy schedule, cancellation letter, confirmation email (.eml/.msg) or account statement. Visible to the customer in the customer portal by default; not automatically visible to the debtor. max. items: 25
metaoptional
array<V1MetaInput>
Free file fields supplied by the creditor. Credifin uses these details when answering debtor questions. Change or add them later per file through the meta route. max. items: 50
CurrencyCode
ISO 4217 currency code; input is normalized to uppercase.
ISO 3166-1 alpha-2 country code; input is normalized to uppercase. pattern: ^[A-Za-z]{2}$
CountryCode
ISO 3166-1 alpha-2 country code; input is normalized to uppercase.
Typestring · pattern: ^[A-Za-z]{2}$
V1ContactInput
At least one combination is required: email or phone.
Field
Type
Rules and explanations
firstNameoptional
string | null
max. length: 150
lastNameoptional
string | null
max. length: 250
roleoptional
string | null
max. length: 150
emailoptional
string | null
max. length: 320
phoneoptional
string | null
max. length: 50
V1InvoiceInput
Field
Type
Rules and explanations
referencerequired
string
min. length: 1 · max. length: 200
daterequired
string · date
dueDaterequired
string · date
amountrequired
number
greater than: 0
descriptionoptional
string | null
max. length: 1000
attachmentsoptional
array<V1AttachmentInput>
max. items: 10
V1AttachmentInput
Field
Type
Rules and explanations
filenamerequired
string
min. length: 1 · max. length: 255
contentTypeoptional
string | null
Optional; if provided, it must match the detected file contents. allowed: application/pdf, image/jpeg, image/png, image/tiff, text/plain, text/csv, null
datarequired
string
Binary file content as base64 without a data URL prefix. Maximum 10 MB. encoding: base64
V1MetaInput
One file field. You choose the name yourself; use a fixed name per type of detail, for example ordernummer, contractnummer, polisnummer, kenteken, voertuig, polis_ingangsdatum, polis_einddatum, opzegdatum, opgezegd_door, opzegreden, premie_termijnbedrag, betaaltermijn or laatste_betaling. Dates as YYYY-MM-DD. Some names are reserved for Credifin.
Human-readable explanation; not intended as a stable integration value.
409This Idempotency-Key was previously used with a different body.
Response 409
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/idempotency-key-reused",
"title": "Conflict",
"status": 409,
"detail": "Deze Idempotency-Key is eerder met een andere body gebruikt.",
"code": "IDEMPOTENCY_KEY_REUSED",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
413The request or attachment exceeds the permitted size.
Response 413
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/payload-too-large",
"title": "Aanvraag te groot",
"status": 413,
"detail": "De aanvraag of bijlage overschrijdt de toegestane grootte.",
"code": "PAYLOAD_TOO_LARGE",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
415This media or file type is unsupported.
Response 415
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/unsupported-media-type",
"title": "Niet-ondersteund mediatype",
"status": 415,
"detail": "Dit media- of bestandstype wordt niet ondersteund.",
"code": "UNSUPPORTED_MEDIA_TYPE",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Human-readable explanation; not intended as a stable integration value.
429Retry the request later.
Response 429
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/rate-limited",
"title": "Te veel aanvragen",
"status": 429,
"detail": "Probeer de aanvraag later opnieuw.",
"code": "RATE_LIMITED",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500The request could not be completed.
Response 500
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/internal-error",
"title": "Interne fout",
"status": 500,
"detail": "De aanvraag kon niet worden afgerond.",
"code": "INTERNAL_ERROR",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503API attachments are not enabled yet.
Response 503
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/attachments-temporarily-unavailable",
"title": "Functie niet beschikbaar",
"status": 503,
"detail": "Bijlagen via de API zijn nog niet vrijgegeven.",
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
POST/api/v1/dossiers/validateValidate a file without saving it
Validates the JSON structure and intake field rules with the same parser, without creating a debtor, file, invoice, alias or idempotency record. Use this check during implementation and before production submissions. An Idempotency-Key is not required because this operation does not modify file data; actual intake can still fail if current data conflicts.
Authentication
Api-Key
operationId
v1ValidateDossier
Parameters
No additional parameters. The Api-Key header remains required.
Customer number or UUID of the customer you submit for. Required for an agency key (see GET /api/creditor); for a customer key, omit it or use your own customer number. max. length: 200
referenceoptional
string
Customer reference; if omitted, Credifin generates a file number. min. length: 1 · max. length: 200
currencyoptional
CurrencyCode
ISO 4217 currency code; input is normalized to uppercase. pattern: ^[A-Za-z]{3}$ · default: EUR
debtorrequired
V1DebtorInput
invoicesrequired
array<V1InvoiceInput>
min. items: 1 · max. items: 100
attachmentsoptional
array<V1AttachmentInput>
File-level attachments, such as a policy schedule, cancellation letter, confirmation email (.eml/.msg) or account statement. Visible to the customer in the customer portal by default; not automatically visible to the debtor. max. items: 25
metaoptional
array<V1MetaInput>
Free file fields supplied by the creditor. Credifin uses these details when answering debtor questions. Change or add them later per file through the meta route. max. items: 50
CurrencyCode
ISO 4217 currency code; input is normalized to uppercase.
ISO 3166-1 alpha-2 country code; input is normalized to uppercase. pattern: ^[A-Za-z]{2}$
CountryCode
ISO 3166-1 alpha-2 country code; input is normalized to uppercase.
Typestring · pattern: ^[A-Za-z]{2}$
V1ContactInput
At least one combination is required: email or phone.
Field
Type
Rules and explanations
firstNameoptional
string | null
max. length: 150
lastNameoptional
string | null
max. length: 250
roleoptional
string | null
max. length: 150
emailoptional
string | null
max. length: 320
phoneoptional
string | null
max. length: 50
V1InvoiceInput
Field
Type
Rules and explanations
referencerequired
string
min. length: 1 · max. length: 200
daterequired
string · date
dueDaterequired
string · date
amountrequired
number
greater than: 0
descriptionoptional
string | null
max. length: 1000
attachmentsoptional
array<V1AttachmentInput>
max. items: 10
V1AttachmentInput
Field
Type
Rules and explanations
filenamerequired
string
min. length: 1 · max. length: 255
contentTypeoptional
string | null
Optional; if provided, it must match the detected file contents. allowed: application/pdf, image/jpeg, image/png, image/tiff, text/plain, text/csv, null
datarequired
string
Binary file content as base64 without a data URL prefix. Maximum 10 MB. encoding: base64
V1MetaInput
One file field. You choose the name yourself; use a fixed name per type of detail, for example ordernummer, contractnummer, polisnummer, kenteken, voertuig, polis_ingangsdatum, polis_einddatum, opzegdatum, opgezegd_door, opzegreden, premie_termijnbedrag, betaaltermijn or laatste_betaling. Dates as YYYY-MM-DD. Some names are reserved for Credifin.
Human-readable explanation; not intended as a stable integration value.
429Retry the request later.
Response 429
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/rate-limited",
"title": "Te veel aanvragen",
"status": 429,
"detail": "Probeer de aanvraag later opnieuw.",
"code": "RATE_LIMITED",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Response headers: Retry-After
500The request could not be completed.
Response 500
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/internal-error",
"title": "Interne fout",
"status": 500,
"detail": "De aanvraag kon niet worden afgerond.",
"code": "INTERNAL_ERROR",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": true
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
503API attachments are not enabled yet.
Response 503
application/problem+json
Example
{
"type": "https://api.credifin.nl/problems/attachments-temporarily-unavailable",
"title": "Functie niet beschikbaar",
"status": 503,
"detail": "Bijlagen via de API zijn nog niet vrijgegeven.",
"code": "ATTACHMENTS_TEMPORARILY_UNAVAILABLE",
"requestId": "req_01J6P4NAZG68Y9JVX0TB3JCB58",
"retryable": false
}
Fields and schema
V1ProblemDetails
Field
Type
Rules and explanations
typerequired
string · uri
titlerequired
string
statusrequired
integer
min.: 400 · max.: 599
detailrequired
string
coderequired
string
instanceoptional
string
errorsoptional
array<ErrorField>
requestIdrequired
string
Correlation ID for support and logging.
retryablerequired
boolean
ErrorField
Field
Type
Rules and explanations
fieldrequired
string
coderequired
string
Stable, machine-readable error code.
messagerequired
string
Human-readable explanation; not intended as a stable integration value.
Handle errors
For IDEMPOTENCY_RESOURCE_UNAVAILABLE, the previously saved result is no longer available within your access. Check the current data first. Use a new reference and Idempotency-Key only for an intentional new submission. Repeating the same request will not resolve a 404 or 403.
Use the stable code in application logic. Human-readable text may change. Legacy routes use a JSON envelope; V1 uses application/problem+json.
Retry allowed
Only retry when retryable: true. For 429 respect Retry-After and reuse the same idempotency key.
Support and traceability
Store requestId when an error occurs. This lets Credifin locate a specific request without sharing API keys or personal data in logs.
401: missing, expired or invalid API key.
404: resource not found within the customer’s scope.
409: duplicate reference or idempotency conflict.
422: field validation failed.
429: rate limit; respect Retry-After.
Code
When
What to do
CREDITOR_MISMATCH
The customer in the body does not belong to this key. The message shows the value you sent and what the key expects.
Leave creditor out or use the correct key. Do not retry.
DOSSIER_DELETED / DEBTOR_DELETED (HTTP 410)
You created this case or debtor through the API, but Credifin has since deleted it.
Do not retry. Create a new case or debtor if needed.
DOSSIER_CLOSED
Payment, credit note or costs on a closed file.
Contact Credifin for a correction.
PAYMENT_REPORTING_NOT_ENABLED
Payment reporting is disabled for your customer.
Ask Credifin to enable the client permission.
DOCUMENTS_NOT_ENABLED
Documents are not enabled for your customer.
Ask Credifin to enable the client permission.
FILE_BLOCKED
Attachment contains dangerous content, such as a PDF with scripts or an archive with a program.
Send a standard PDF or image.
MALWARE_DETECTED
The virus scanner detected malware in the attachment.
Check the source system; the file was not saved.
RESERVED_META_NAME
This field name is reserved for Credifin.
Choose your own name.
ATTACHMENTS_TEMPORARILY_UNAVAILABLE
Attachment upload is temporarily disabled by Credifin.
Submit the file without the attachment and resend the attachment later.
IDEMPOTENCY_KEY_REUSED
The same key with a different body.
Use a separate key for each logical request.
Coming later
These features are planned and will appear here once live.
Payouts and settlements: payouts with a breakdown per file and the payout date for each payment.
Timeline and letters: messages sent to the debtor, with letters as PDFs.