Updates the CollectionOrder resource.
This endpoint allows you to update an existing collection order. All fields are optional — only fields present in the request body are updated.
The following fields cannot be modified: debtor_number, payment_reference, total_amount (recalculated from invoices), started_at, and client.
### Status transitions
The status field supports the following transitions:
- cancel — only if current status is not paid, cancel, or merged
- withdraw — only if current status is not paid, withdraw, or merged
- paid — only if current status is not paid
- pause — only if current status is active
- active — only if current status is pause or payment_scheduled
- payment_scheduled — only if current status is active
When the status changes, status_datetime is automatically updated.
#### Side effects of withdraw
Setting the status to withdraw cascades to the order's communications:
- All associated messages are automatically withdrawn.
- All documents hosted for the debtor on the self-service page are set to not visible; the debtor can no longer open them through the portal.
This is permanent: a withdraw cannot be undone, so the documents stay hidden once the order is withdrawn. Only the self-service page is affected. A document already delivered physically (for example a paper attachment sent by post) stays with the debtor and cannot be recalled.
### Flow switch
To switch to a different flow, provide both flow_id and flow_step together. Providing only one will result in a validation error. Optionally provide flow_datetime to schedule the new flow.
### Variables
The variables field uses merge semantics — only the provided variables are updated, existing variables are preserved. For example, sending {"variable3": "new value"} only updates variable 3.
### Invoices
When invoices is provided, the entire invoice set is replaced. All existing invoices are removed and replaced with the new ones. The total_amount is automatically recalculated.
curl -X PATCH "/v3/collection_orders/{id}" \
-H "Authorization: Bearer $POM_API_DOCUMENTATION_API_KEY" \
-H "Content-Type: application/merge-patch+json" \
-d '{
"status": "active",
"flow_id": 100,
"flow_step": 1,
"flow_datetime": "2025-06-01 09:00:00",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"secondary_email": "[email protected]",
"phone_number": "+31612345678",
"secondary_phone_number": "+31612345679",
"street_name": "Van Coulsterweg",
"house_number": "2A",
"zip_code": "2952CB",
"city": "Alblasserdam",
"country": "Nederland",
"concerning": "Rent April 2025",
"label": "Example label",
"batch_id": "Batch_2025-05-01",
"client_request_id": "req_1234567890",
"username": "John Doe",
"return_url": "https://example.nl/payment",
"company_name": "Collect BV",
"date_of_birth": "1990-01-15",
"gender": "M",
"personal_identification_number": "199001011234",
"language": "nl",
"payment_modules": [
"ideal"
],
"variables": {
"variable1": "qwerty",
"variable500": "asdfg"
}
}'Authorization
AuthorizationstringheaderrequiredOAuth 2.0 client credentials Grant
Parameters
idstringpathrequiredCollectionOrder identifier
Body
The updated CollectionOrder resource
statusenum<string> | nullOne of:activepaidagreedpausecancelwithdrawprocessingsettlementpayment_promisedmergedpayment_scheduledendflow_idinteger | nullflow_stepinteger | nullflow_datetimestring<date-time> | nullfirst_namestring | nulllast_namestring | nullemailstring<email> | nullsecondary_emailstring<email> | nullphone_numberstring | nullsecondary_phone_numberstring | nullstreet_namestring | nullhouse_numberstring | nullzip_codestring | nullcitystring | nullcountrystring | nullsecondary_street_namestring | nullsecondary_house_numberstring | nullsecondary_zip_codestring | nullsecondary_citystring | nullsecondary_countrystring | nullconcerningstring | nulllabelstring | nullbatch_idstring | nullclient_request_idstring | nullusernamestring | nullreturn_urlstring | nullcompany_namestring | nulldate_of_birthstring | nullgenderenum<string> | nullOne of:MFpersonal_identification_numberstring | nulllanguagestring | nullpayment_modulesstring[] | nullvariablesmap of stringinvoicesCollectionOrderInvoiceInput-collection_order.write[]
Response
CollectionOrder resource updated
{}