Reminders
GET /v1/invoices/{invoiceId}/reminders
Section titled “GET /v1/invoices/{invoiceId}/reminders”Reminder history
Scope: reminders:read
curl https://app.rieck.nu/api/v1/invoices/9b2f1c1e-…/reminders \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/invoices/9b2f1c1e-…/reminders");POST /v1/invoices/{invoiceId}/reminders
Section titled “POST /v1/invoices/{invoiceId}/reminders”Send next reminder now
Skips the cadence plan, never the statutory §9b floor: fee is 0 within the fee interval, max 3 reminders ever.
Scope: reminders:write
curl -X POST https://app.rieck.nu/api/v1/invoices/9b2f1c1e-…/reminders \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041"const svar = await rieck.request("POST", "/v1/invoices/9b2f1c1e-…/reminders");GET /v1/reminder-settings
Section titled “GET /v1/reminder-settings”Get reminder configuration
Scope: reminders:read
curl https://app.rieck.nu/api/v1/reminder-settings \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/reminder-settings");PUT /v1/reminder-settings
Section titled “PUT /v1/reminder-settings”Replace reminder configuration
Scope: reminders:write
curl -X PUT https://app.rieck.nu/api/v1/reminder-settings \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041" \ -d '{ "maxReminders": 1, "feeOere": "…", "cadence": [ { "reminderNumber": 1, "daysAfterDue": 14 } ], "autoCollections": true, "paymentReminderEnabled": true, "paymentReminderDays": 14, "letterFallback": true }'const svar = await rieck.request("PUT", "/v1/reminder-settings", { body: { "maxReminders": 1, "feeOere": "…", "cadence": [ { "reminderNumber": 1, "daysAfterDue": 14 } ], "autoCollections": true, "paymentReminderEnabled": true, "paymentReminderDays": 14, "letterFallback": true },});Request body — fuldt JSON Schema
{ "type": "object", "properties": { "maxReminders": { "type": "integer", "minimum": 0, "maximum": 3 }, "feeOere": { "anyOf": [ { "type": "integer", "minimum": 0, "maximum": 10000 }, { "type": "null" } ] }, "cadence": { "minItems": 3, "maxItems": 3, "type": "array", "items": { "type": "object", "properties": { "reminderNumber": { "type": "integer", "minimum": 1, "maximum": 3 }, "daysAfterDue": { "type": "integer", "minimum": 1, "maximum": 365 } }, "required": [ "reminderNumber", "daysAfterDue" ] } }, "autoCollections": { "type": "boolean" }, "paymentReminderEnabled": { "type": "boolean" }, "paymentReminderDays": { "type": "integer", "minimum": 1, "maximum": 365 }, "letterFallback": { "type": "boolean" } }, "required": [ "maxReminders", "feeOere", "cadence", "autoCollections", "paymentReminderEnabled", "paymentReminderDays", "letterFallback" ], "additionalProperties": false}GET /v1/reminder-flows
Section titled “GET /v1/reminder-flows”List dunning flows
Requires the rykkerflow plan (403 otherwise).
Scope: reminders:read
curl https://app.rieck.nu/api/v1/reminder-flows \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/reminder-flows");POST /v1/reminder-flows
Section titled “POST /v1/reminder-flows”Create draft flow version
Scope: reminders:write
curl -X POST https://app.rieck.nu/api/v1/reminder-flows \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041" \ -d '{ "key": "MY_FLOW", "name": "Acme ApS", "graph": "…" }'const svar = await rieck.request("POST", "/v1/reminder-flows", { body: { "key": "MY_FLOW", "name": "Acme ApS", "graph": "…" },});Request body — fuldt JSON Schema
{ "type": "object", "properties": { "key": { "type": "string", "pattern": "^[A-Z0-9_]{3,60}$" }, "name": { "type": "string", "minLength": 1, "maxLength": 120 }, "graph": {} }, "required": [ "key", "name", "graph" ], "additionalProperties": false}GET /v1/reminder-flows/{flowKey}/versions/{version}
Section titled “GET /v1/reminder-flows/{flowKey}/versions/{version}”Get flow graph
Scope: reminders:read
| Query | |
|---|---|
standard | true = read the platform standard with this key (template) |
curl https://app.rieck.nu/api/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-… \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-…");POST /v1/reminder-flows/{flowKey}/versions/{version}/approve
Section titled “POST /v1/reminder-flows/{flowKey}/versions/{version}/approve”Approve draft (four-eyes)
The creator (key or human) can never approve its own draft.
Scope: reminders:write
curl -X POST https://app.rieck.nu/api/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-…/approve \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041"const svar = await rieck.request("POST", "/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-…/approve");POST /v1/reminder-flows/{flowKey}/versions/{version}/activate
Section titled “POST /v1/reminder-flows/{flowKey}/versions/{version}/activate”Activate/deactivate approved version
Scope: reminders:write
curl -X POST https://app.rieck.nu/api/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-…/activate \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041" \ -d '{ "active": true }'const svar = await rieck.request("POST", "/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-…/activate", { body: { "active": true },});Request body — fuldt JSON Schema
{ "type": "object", "properties": { "active": { "type": "boolean" } }, "required": [ "active" ], "additionalProperties": false}