Collections
POST /v1/cases
Section titled “POST /v1/cases”Request body fields 26
| Field | Type | Required | Description |
|---|---|---|---|
fordringer | object[] | Yes | Field in the request payload. |
fordringer[].hovedstolOere | integer | Yes | Field in the request payload. |
fordringer[].forfaldsdato | string | Yes | Field in the request payload. |
fordringer[].fakturadato | string | No | Field in the request payload. |
fordringer[].beskrivelse | string | No | Field in the request payload. |
fordringer[].kravart | string | No | Field in the request payload. |
fordringer[].bestridtVedOverdragelse | boolean | Yes | Field in the request payload. |
fordringer[].ejendomsforbehold | object[] | No | Field in the request payload. |
fordringer[].ejendomsforbehold[].betegnelse | string | Yes | Field in the request payload. |
fordringer[].ejendomsforbehold[].kontantprisOere | integer | Yes | Field in the request payload. |
fordringer[].ejendomsforbehold[].leveretDato | string | No | Field in the request payload. |
skyldnere | object[] | Yes | Field in the request payload. |
skyldnere[].skyldnerType | string | Yes | Field in the request payload. |
skyldnere[].navn | string | Yes | Field in the request payload. |
skyldnere[].cvr | string | No | Danish CVR number for a company. |
skyldnere[].cpr | string | No | Field in the request payload. |
skyldnere[].adresse | object | No | Field in the request payload. |
skyldnere[].adresse.gade | string | No | Field in the request payload. |
skyldnere[].adresse.postnummer | string | No | Field in the request payload. |
skyldnere[].adresse.by | string | No | Field in the request payload. |
skyldnere[].adresse.land | string | No | Field in the request payload. |
skyldnere[].adresse.darId | string | No | Field in the request payload. |
skyldnere[].adresse.kommunekode | string | No | Field in the request payload. |
skyldnere[].email | string | No | E-mail used for delivery and contact. |
skyldnere[].mobil | string | No | Field in the request payload. |
externalReference | string | Yes | Your stable reference for reconciliation and idempotent imports. |
Request exampleapplication/json
curl -X POST https://api.rieckflow.com/v1/cases \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041" \ -H "Content-Type: application/json" \ -d '{ "fordringer": [ { "hovedstolOere": 125000, "forfaldsdato": "…", "bestridtVedOverdragelse": true, "kravart": "FAKTURA" } ], "skyldnere": [ { "skyldnerType": "person", "navn": "…", "cvr": "12345678", "adresse": {}, "email": "ap@acme.example" } ], "externalReference": "crm-9001" }'const svar = await rieck.request("POST", "/v1/cases", { body: { "fordringer": [ { "hovedstolOere": 125000, "forfaldsdato": "…", "bestridtVedOverdragelse": true, "kravart": "FAKTURA" } ], "skyldnere": [ { "skyldnerType": "person", "navn": "…", "cvr": "12345678", "adresse": {}, "email": "ap@acme.example" } ], "externalReference": "crm-9001" },});{ "data": { "id": "9b2f1c1e-6b87-4d9b-91a0-47c8d72b8440", "caseNumber": "RIE-2026-00421", "status": "active", "principalOere": 156250, "balanceOere": 156250, "externalReference": "order-2041", "createdAt": "2026-08-20T10:00:00Z" }}201 Success envelopeapplication/json
Response fields 5
| Field | Type | Description |
|---|---|---|
data.id | uuid | Stable collection case id. |
data.caseNumber | string | Human-readable case number. |
data.status | string | Current case state. |
data.balanceOere | integer | Outstanding case balance. |
data.externalReference | string | null | Your reconciliation reference. |
Possible errors 10
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_idempotency_key | Idempotency-Key is missing or malformed. |
| 400 | invalid_request | The request body or parameter failed validation. |
| 401 | invalid_api_key | The API key is missing, invalid, expired or revoked. |
| 403 | api_not_included | The organisation’s plan does not include API access. |
| 403 | insufficient_scope | The key does not have the required scope. |
| 409 | idempotency_conflict | The same key was used with a different request. |
| 409 | idempotency_in_progress | The same operation is currently being processed. Retry later. |
| 413 | payload_too_large | The JSON or uploaded file exceeds this endpoint’s size limit. |
| 422 | case_rejected | The case is valid JSON but rejected by domain rules. |
| 429 | rate_limited | The organisation’s rate budget is exhausted. |
Request body — fuldt JSON Schema
{ "type": "object", "properties": { "fordringer": { "minItems": 1, "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "hovedstolOere": { "type": "integer", "exclusiveMinimum": 0, "maximum": 100000000000 }, "forfaldsdato": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "fakturadato": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" }, "beskrivelse": { "type": "string", "minLength": 1, "maxLength": 300 }, "kravart": { "type": "string", "enum": [ "FAKTURA", "LOEBENDE_KREDIT", "HUSLEJE", "ERHVERVSLEJE", "FRAFLYTNING", "PENGELAAN", "KREDITKOEB", "KONTROLAFGIFT", "OFFENTLIGT_KRAV" ] }, "bestridtVedOverdragelse": { "type": "boolean" }, "ejendomsforbehold": { "minItems": 1, "maxItems": 50, "type": "array", "items": { "type": "object", "properties": { "betegnelse": { "type": "string", "minLength": 1, "maxLength": 200 }, "kontantprisOere": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "leveretDato": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$" } }, "required": [ "betegnelse", "kontantprisOere" ], "additionalProperties": false } } }, "required": [ "hovedstolOere", "forfaldsdato", "bestridtVedOverdragelse" ], "additionalProperties": false } }, "skyldnere": { "minItems": 1, "maxItems": 20, "type": "array", "items": { "type": "object", "properties": { "skyldnerType": { "type": "string", "enum": [ "person", "virksomhed" ] }, "navn": { "type": "string", "minLength": 1, "maxLength": 200 }, "cvr": { "type": "string", "pattern": "^\\d{8}$" }, "cpr": { "type": "string", "maxLength": 64 }, "adresse": { "type": "object", "properties": { "gade": { "type": "string", "maxLength": 200 }, "postnummer": { "type": "string", "maxLength": 10 }, "by": { "type": "string", "maxLength": 100 }, "land": { "type": "string", "maxLength": 100 }, "darId": { "type": "string", "maxLength": 36 }, "kommunekode": { "type": "string", "pattern": "^\\d{4}$" } }, "additionalProperties": false }, "email": { "type": "string", "maxLength": 254 }, "mobil": { "type": "string", "maxLength": 20 } }, "required": [ "skyldnerType", "navn" ], "additionalProperties": false } }, "externalReference": { "type": "string", "minLength": 1, "maxLength": 120 } }, "required": [ "fordringer", "skyldnere", "externalReference" ], "additionalProperties": false}GET /v1/cases/{caseId}
Section titled “GET /v1/cases/{caseId}”| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
caseId | path | string | Yes |
Request exampleNo request body
curl https://api.rieckflow.com/v1/cases/9b2f1c1e-… \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/cases/9b2f1c1e-…");{ "data": { "id": "9b2f1c1e-6b87-4d9b-91a0-47c8d72b8440", "caseNumber": "RIE-2026-00421", "status": "active", "principalOere": 156250, "balanceOere": 156250, "externalReference": "order-2041", "createdAt": "2026-08-20T10:00:00Z" }}200 Success envelopeapplication/json
Response fields 5
| Field | Type | Description |
|---|---|---|
data.id | uuid | Stable collection case id. |
data.caseNumber | string | Human-readable case number. |
data.status | string | Current case state. |
data.balanceOere | integer | Outstanding case balance. |
data.externalReference | string | null | Your reconciliation reference. |
Possible errors 5
| HTTP | Code | Meaning |
|---|---|---|
| 401 | invalid_api_key | The API key is missing, invalid, expired or revoked. |
| 403 | api_not_included | The organisation’s plan does not include API access. |
| 403 | insufficient_scope | The key does not have the required scope. |
| 404 | case_not_found | The case does not exist or belongs to another organisation. |
| 429 | rate_limited | The organisation’s rate budget is exhausted. |
POST /v1/terms-acceptance
Section titled “POST /v1/terms-acceptance”Request body fields 6
| Field | Type | Required | Description |
|---|---|---|---|
fakturaId | string | No | Field in the request payload. |
eksternOrdreRef | string | No | Field in the request payload. |
betingelseVersion | string | Yes | Field in the request payload. |
betingelseHash | string | Yes | Field in the request payload. |
accepteretKl | string | Yes | Field in the request payload. |
idempotensnoegle | string | Yes | Field in the request payload. |
Request exampleapplication/json
curl -X POST https://api.rieckflow.com/v1/terms-acceptance \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041" \ -H "Content-Type: application/json" \ -d '{ "betingelseVersion": "…", "betingelseHash": "…", "accepteretKl": "…", "idempotensnoegle": "…", "fakturaId": "9b2f1c1e-…" }'const svar = await rieck.request("POST", "/v1/terms-acceptance", { body: { "betingelseVersion": "…", "betingelseHash": "…", "accepteretKl": "…", "idempotensnoegle": "…", "fakturaId": "9b2f1c1e-…" },});{ "data": { "status": "ny" }}201 Success envelopeapplication/json
Possible errors 9
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_idempotency_key | Idempotency-Key is missing or malformed. |
| 400 | invalid_request | The request body or parameter failed validation. |
| 401 | invalid_api_key | The API key is missing, invalid, expired or revoked. |
| 403 | api_not_included | The organisation’s plan does not include API access. |
| 403 | insufficient_scope | The key does not have the required scope. |
| 409 | idempotency_conflict | The same key was used with a different request. |
| 409 | idempotency_in_progress | The same operation is currently being processed. Retry later. |
| 413 | payload_too_large | The JSON or uploaded file exceeds this endpoint’s size limit. |
| 429 | rate_limited | The organisation’s rate budget is exhausted. |
Request body — fuldt JSON Schema
{ "type": "object", "properties": { "fakturaId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "eksternOrdreRef": { "type": "string", "minLength": 1, "maxLength": 200 }, "betingelseVersion": { "type": "string", "minLength": 1, "maxLength": 100 }, "betingelseHash": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "accepteretKl": { "type": "string", "format": "date-time", "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" }, "idempotensnoegle": { "type": "string", "minLength": 1, "maxLength": 200 } }, "required": [ "betingelseVersion", "betingelseHash", "accepteretKl", "idempotensnoegle" ]}