Skip to content

Reminders

Reminder history

reminders:read
ParameterInTypeRequiredDescription
invoiceIdpathstringYes
Request exampleNo request body
curl https://api.rieckflow.com/v1/invoices/9b2f1c1e-…/reminders \
-H "Authorization: Bearer $RIECK_API_KEY"
200 Sent/failed reminders plus meta.nextReminder (the engine’s next planned reminder).application/json
Possible errors 5
HTTPCodeMeaning
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
404invoice_not_foundThe invoice does not exist or belongs to another organisation.
429rate_limitedThe organisation’s rate budget is exhausted.

Send next reminder now

reminders:write

Skips the cadence plan, never the statutory §9b floor: fee is 0 within the fee interval, max 3 reminders ever.

ParameterInTypeRequiredDescription
invoiceIdpathstringYes
Request exampleNo request body
curl -X POST https://api.rieckflow.com/v1/invoices/9b2f1c1e-…/reminders \
-H "Authorization: Bearer $RIECK_API_KEY" \
-H "Idempotency-Key: order-2041"
200 Success envelopeapplication/json
Possible errors 8
HTTPCodeMeaning
400invalid_idempotency_keyIdempotency-Key is missing or malformed.
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
404invoice_not_foundThe invoice does not exist or belongs to another organisation.
409idempotency_conflictThe same key was used with a different request.
409idempotency_in_progressThe same operation is currently being processed. Retry later.
429rate_limitedThe organisation’s rate budget is exhausted.

Get reminder configuration

reminders:read
Request exampleNo request body
curl https://api.rieckflow.com/v1/reminder-settings \
-H "Authorization: Bearer $RIECK_API_KEY"
200 Success envelopeapplication/json
Response fields 3
FieldTypeDescription
data.maxRemindersintegerMaximum number of fee-bearing reminders.
data.cadenceobject[]Schedule expressed as days after the due date.
data.autoCollectionsbooleanWhether eligible invoices move to collection automatically.
Possible errors 4
HTTPCodeMeaning
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
429rate_limitedThe organisation’s rate budget is exhausted.

Replace reminder configuration

reminders:write
Request body fields 9
FieldTypeRequiredDescription
maxRemindersintegerYesField in the request payload.
feeOereintegerYesField in the request payload.
cadenceobject[]YesField in the request payload.
cadence[].reminderNumberintegerYesField in the request payload.
cadence[].daysAfterDueintegerYesField in the request payload.
autoCollectionsbooleanYesField in the request payload.
paymentReminderEnabledbooleanYesField in the request payload.
paymentReminderDaysintegerYesField in the request payload.
letterFallbackbooleanYesField in the request payload.
Request exampleapplication/json
curl -X PUT https://api.rieckflow.com/v1/reminder-settings \
-H "Authorization: Bearer $RIECK_API_KEY" \
-H "Idempotency-Key: order-2041" \
-H "Content-Type: application/json" \
-d '{
"maxReminders": 1,
"feeOere": "…",
"cadence": [
{
"reminderNumber": 1,
"daysAfterDue": 14
}
],
"autoCollections": true,
"paymentReminderEnabled": true,
"paymentReminderDays": 14,
"letterFallback": true
}'
200 Success envelopeapplication/json
Response fields 3
FieldTypeDescription
data.maxRemindersintegerMaximum number of fee-bearing reminders.
data.cadenceobject[]Schedule expressed as days after the due date.
data.autoCollectionsbooleanWhether eligible invoices move to collection automatically.
Possible errors 9
HTTPCodeMeaning
400invalid_idempotency_keyIdempotency-Key is missing or malformed.
400invalid_requestThe request body or parameter failed validation.
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
409idempotency_conflictThe same key was used with a different request.
409idempotency_in_progressThe same operation is currently being processed. Retry later.
413payload_too_largeThe JSON or uploaded file exceeds this endpoint’s size limit.
429rate_limitedThe organisation’s rate budget is exhausted.
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
}

List dunning flows

reminders:read

Requires the rykkerflow plan (403 otherwise).

Request exampleNo request body
curl https://api.rieckflow.com/v1/reminder-flows \
-H "Authorization: Bearer $RIECK_API_KEY"
200 Success envelopeapplication/json
Response fields 4
FieldTypeDescription
data.keystringStable flow key.
data.versionintegerImmutable flow version.
data.statusapproved | draftApproval state.
data.activebooleanWhether the version is currently used.
Possible errors 5
HTTPCodeMeaning
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
403rykkerflow_not_includedThe organisation’s plan does not include custom reminder flows.
429rate_limitedThe organisation’s rate budget is exhausted.

Create draft flow version

reminders:write
Request body fields 3
FieldTypeRequiredDescription
keystringYesField in the request payload.
namestringYesHuman-readable name.
graphanyYesField in the request payload.
Request exampleapplication/json
curl -X POST https://api.rieckflow.com/v1/reminder-flows \
-H "Authorization: Bearer $RIECK_API_KEY" \
-H "Idempotency-Key: order-2041" \
-H "Content-Type: application/json" \
-d '{
"key": "MY_FLOW",
"name": "Acme ApS",
"graph": "…"
}'
201 Success envelopeapplication/json
Response fields 4
FieldTypeDescription
data.keystringStable flow key.
data.versionintegerImmutable flow version.
data.statusapproved | draftApproval state.
data.activebooleanWhether the version is currently used.
Possible errors 10
HTTPCodeMeaning
400invalid_idempotency_keyIdempotency-Key is missing or malformed.
400invalid_requestThe request body or parameter failed validation.
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
403rykkerflow_not_includedThe organisation’s plan does not include custom reminder flows.
409idempotency_conflictThe same key was used with a different request.
409idempotency_in_progressThe same operation is currently being processed. Retry later.
413payload_too_largeThe JSON or uploaded file exceeds this endpoint’s size limit.
429rate_limitedThe organisation’s rate budget is exhausted.
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

reminders:read
ParameterInTypeRequiredDescription
flowKeypathstringYes
versionpathintegerYes
standardquerystringNotrue = read the platform standard with this key (template)
Request exampleNo request body
curl https://api.rieckflow.com/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-… \
-H "Authorization: Bearer $RIECK_API_KEY"
200 Success envelopeapplication/json
Possible errors 6
HTTPCodeMeaning
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
403rykkerflow_not_includedThe organisation’s plan does not include custom reminder flows.
404flow_not_foundThe reminder flow or version does not exist.
429rate_limitedThe organisation’s rate budget is exhausted.

POST /v1/reminder-flows/{flowKey}/versions/{version}/approve

Section titled “POST /v1/reminder-flows/{flowKey}/versions/{version}/approve”

Approve draft (four-eyes)

reminders:write

The creator (key or human) can never approve its own draft.

ParameterInTypeRequiredDescription
flowKeypathstringYes
versionpathintegerYes
Request exampleNo request body
curl -X POST https://api.rieckflow.com/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-…/approve \
-H "Authorization: Bearer $RIECK_API_KEY" \
-H "Idempotency-Key: order-2041"
200 Success envelopeapplication/json
Response fields 4
FieldTypeDescription
data.keystringStable flow key.
data.versionintegerImmutable flow version.
data.statusapproved | draftApproval state.
data.activebooleanWhether the version is currently used.
Possible errors 9
HTTPCodeMeaning
400invalid_idempotency_keyIdempotency-Key is missing or malformed.
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
403rykkerflow_not_includedThe organisation’s plan does not include custom reminder flows.
404flow_not_foundThe reminder flow or version does not exist.
409idempotency_conflictThe same key was used with a different request.
409idempotency_in_progressThe same operation is currently being processed. Retry later.
429rate_limitedThe organisation’s rate budget is exhausted.

POST /v1/reminder-flows/{flowKey}/versions/{version}/activate

Section titled “POST /v1/reminder-flows/{flowKey}/versions/{version}/activate”

Activate/deactivate approved version

reminders:write
ParameterInTypeRequiredDescription
flowKeypathstringYes
versionpathintegerYes
Request body fields 1
FieldTypeRequiredDescription
activebooleanYesWhether the resource is active.
Request exampleapplication/json
curl -X POST https://api.rieckflow.com/v1/reminder-flows/9b2f1c1e-…/versions/9b2f1c1e-…/activate \
-H "Authorization: Bearer $RIECK_API_KEY" \
-H "Idempotency-Key: order-2041" \
-H "Content-Type: application/json" \
-d '{
"active": true
}'
200 Success envelopeapplication/json
Response fields 4
FieldTypeDescription
data.keystringStable flow key.
data.versionintegerImmutable flow version.
data.statusapproved | draftApproval state.
data.activebooleanWhether the version is currently used.
Possible errors 11
HTTPCodeMeaning
400invalid_idempotency_keyIdempotency-Key is missing or malformed.
400invalid_requestThe request body or parameter failed validation.
401invalid_api_keyThe API key is missing, invalid, expired or revoked.
403api_not_includedThe organisation’s plan does not include API access.
403insufficient_scopeThe key does not have the required scope.
403rykkerflow_not_includedThe organisation’s plan does not include custom reminder flows.
404flow_not_foundThe reminder flow or version does not exist.
409idempotency_conflictThe same key was used with a different request.
409idempotency_in_progressThe same operation is currently being processed. Retry later.
413payload_too_largeThe JSON or uploaded file exceeds this endpoint’s size limit.
429rate_limitedThe organisation’s rate budget is exhausted.
Request body — fuldt JSON Schema
{
"type": "object",
"properties": {
"active": {
"type": "boolean"
}
},
"required": [
"active"
],
"additionalProperties": false
}