Create draft transfer
Changed on🚧 Beta feature
This feature is currently in beta testing, and the final specification may still change.
Creates a draft transfer. The draft transfer immediately enters pending-review and appears in the initiator's queue in Mollie Apps. It carries no legal weight and moves no funds until a human initiator approves it there.
Test mode
Creating a draft transfer always returns a synthetic draft in pending-review status, using synthetic data, same as in live mode. No real funds move and nothing is sent to Mollie Apps.
Editing a draft transfer after creation is not supported via the API. Instead, depending on the amount, you can simulate different outcomes for the initiator's decision at creation time:
| Amount | Simulated outcome | Webhook sequence |
|---|---|---|
| 13.00 | Declined by the initiator, with a free-text reason | business-account-draft-transfer.created → business-account-draft-transfer.declined |
| 14.00 | Approved | business-account-draft-transfer.created → business-account-draft-transfer.approved |
| Other | Default behavior (pending review) | business-account-draft-transfer.created |
The webhooks fire asynchronously, with a short delay between them to mimic real timing. Get and list reflect the simulated outcome once it lands.
Cancelling (via DELETE) is unaffected by the amount: it always transitions the draft to declined with statusReason.code set to deleted-by-creator, the same as in live mode.
Request
- Base URLhttps://api.mollie.com
- URLhttps://api.mollie.com/v2/business-accounts/draft-transfers
- Auth
- HTTP bearer
- or OAuth 2Authorization code: https://my.mollie.com/oauth2/authorizeToken URL: https://api.mollie.com/oauth2/tokens scopes: business-account-draft-transfers.write
Headers
A unique key to ensure idempotent requests. This key should be a UUID v4 string.
Request body
Example request
{
"resource": "business-account-draft-transfer",
"id": "badrt_87GByBuj4UCcUTEbs6aGJ",
"mode": "live",
"debtorIban": "NL55MLLE0123456789",
"debtor": {
"fullName": "Jan Jansen",
"account": {
"iban": "NL02ABNA0123456789"
}
},
"creditor": {
"fullName": "Jan Jansen",
"account": {
"iban": "NL02ABNA0123456789"
}
},
"amount": {
"currency": "EUR",
"value": "10.00"
},
"description": "Invoice 12345",
"scheduledExecutionDate": "2025-03-01",
"status": "pending-review",
"statusReason": {
"code": "deleted-by-creator",
"message": "The draft transfer has been deleted by the user who created it"
},
"createdAt": "2024-03-20T09:13:37+00:00",
"approvedAt": "2025-01-01T12:05:00+00:00",
"declinedAt": "2025-01-01T12:05:00+00:00",
"deletedAt": "2025-01-01T12:05:00+00:00",
"_links": {
"self": {
"href": "https://api.mollie.com/v2/business-accounts/draft-transfers/badrt_87GByBuj4UCcUTEbs6aGJ",
"type": "application/hal+json"
}
}
}Response
The newly created draft transfer object.
Example response
{
"resource": "business-account-draft-transfer",
"id": "badrt_87GByBuj4UCcUTEbs6aGJ",
"mode": "live",
"debtorIban": "NL55MLLE0123456789",
"debtor": {
"fullName": "Jan Jansen",
"account": {
"iban": "NL02ABNA0123456789"
}
},
"creditor": {
"fullName": "Jan Jansen",
"account": {
"iban": "NL02ABNA0123456789"
}
},
"amount": {
"currency": "EUR",
"value": "10.00"
},
"description": "Invoice 12345",
"scheduledExecutionDate": "2025-03-01",
"status": "pending-review",
"statusReason": {
"code": "deleted-by-creator",
"message": "The draft transfer has been deleted by the user who created it"
},
"createdAt": "2024-03-20T09:13:37+00:00",
"approvedAt": "2025-01-01T12:05:00+00:00",
"declinedAt": "2025-01-01T12:05:00+00:00",
"deletedAt": "2025-01-01T12:05:00+00:00",
"_links": {
"self": {
"href": "https://api.mollie.com/v2/business-accounts/draft-transfers/badrt_87GByBuj4UCcUTEbs6aGJ",
"type": "application/hal+json"
}
}
}Changes
- warning
removed the request property
///// - warning
removed the optional property
/////from the response with the status - info
added the non-success response with the status
- warning
- info
endpoint added
- info