---
updatedAt: 2026-07-17T13:09:45.000Z
agentTools:
  projectIndex: https://docs.mollie.com/llms.txt
---

# Create draft transfer

> 🚧 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](get-draft-transfer) and [list](list-draft-transfers) 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.

> 🔑 Access with
>
> [Advanced access token with **business-account-draft-transfers.write**](/reference/authentication)
>
> [OAuth access with **business-account-draft-transfers.write**](/reference/authentication)

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Business Accounts",
    "version": "1.0.0",
    "license": {
      "name": "Attribution-NonCommercial-ShareAlike 4.0 International",
      "identifier": "CC-BY-NC-SA-4.0"
    }
  },
  "servers": [
    {
      "url": "https://api.mollie.com/v2"
    }
  ],
  "security": [
    {
      "apiKey": []
    },
    {
      "advancedAccessToken": []
    },
    {
      "oAuth": []
    }
  ],
  "paths": {
    "/business-accounts/draft-transfers": {
      "post": {
        "summary": "Create draft transfer",
        "x-speakeasy-name-override": "create",
        "tags": [
          "Draft Transfers API"
        ],
        "operationId": "create-draft-transfer",
        "security": [
          {
            "advancedAccessToken": [
              "business-account-draft-transfers.write"
            ]
          },
          {
            "oAuth": [
              "business-account-draft-transfers.write"
            ]
          }
        ],
        "description": "> 🚧 Beta feature\n>\n> This feature is currently in beta testing, and the final specification may still change.\n\nCreates 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.\n\n### Test mode\n\nCreating 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.\n\nEditing 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:\n\n| Amount  | Simulated outcome                                    | Webhook sequence                                                                                  |\n|---------|-------------------------------------------------------|----------------------------------------------------------------------------------------------------|\n| `13.00` | Declined by the initiator, with a free-text reason     | `business-account-draft-transfer.created` → `business-account-draft-transfer.declined`             |\n| `14.00` | Approved                                               | `business-account-draft-transfer.created` → `business-account-draft-transfer.approved`             |\n| Other   | Default behavior (pending review)                      | `business-account-draft-transfer.created`                                                          |\n\nThe webhooks fire asynchronously, with a short delay between them to mimic real timing. [Get](get-draft-transfer) and [list](list-draft-transfers) reflect the simulated outcome once it lands.\n\nCancelling (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.\n\n> 🔑 Access with\n>\n> [Advanced access token with **business-account-draft-transfers.write**](/reference/authentication)\n>\n> [OAuth access with **business-account-draft-transfers.write**](/reference/authentication)",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "resource": {
                        "type": "string",
                        "description": "Indicates the response contains a draft transfer object. Will always contain the string `business-account-draft-transfer` for this endpoint.",
                        "readOnly": true,
                        "example": "business-account-draft-transfer"
                      },
                      "id": {
                        "allOf": [
                          {
                            "type": "string",
                            "pattern": "^badrt_.+$",
                            "example": "badrt_87GByBuj4UCcUTEbs6aGJ"
                          }
                        ],
                        "description": "The identifier uniquely referring to this draft transfer. Mollie assigns this identifier at draft transfer creation time.",
                        "readOnly": true
                      },
                      "mode": {
                        "type": "string",
                        "description": "Whether this entity was created in live mode or in test mode.\n\nPossible values: `live` `test`",
                        "readOnly": true,
                        "example": "live"
                      },
                      "debtorIban": {
                        "type": "string",
                        "description": "The IBAN of the debtor's (sender) Mollie Business Account.",
                        "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9 ]+$",
                        "example": "NL55MLLE0123456789",
                        "writeOnly": true
                      },
                      "debtor": {
                        "allOf": [
                          {
                            "type": "object",
                            "description": "A party involved in the draft transfer, representing either the debtor (sender) or creditor (recipient). Contains the party's name and account details.",
                            "required": [
                              "fullName",
                              "account"
                            ],
                            "properties": {
                              "fullName": {
                                "type": "string",
                                "description": "The full name of the account holder.",
                                "maxLength": 70,
                                "example": "Jan Jansen"
                              },
                              "account": {
                                "type": "object",
                                "description": "The bank account details of the party.",
                                "required": [
                                  "iban"
                                ],
                                "properties": {
                                  "iban": {
                                    "type": "string",
                                    "description": "The IBAN (International Bank Account Number) of the account holder.",
                                    "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]+$",
                                    "example": "NL02ABNA0123456789"
                                  }
                                }
                              }
                            }
                          }
                        ],
                        "description": "The debtor (sender) of the draft transfer, resolved from `debtorIban` at creation time.",
                        "readOnly": true
                      },
                      "creditor": {
                        "description": "The creditor (recipient) of the draft transfer, including their name and account details.",
                        "type": "object",
                        "required": [
                          "fullName",
                          "account"
                        ],
                        "properties": {
                          "fullName": {
                            "type": "string",
                            "description": "The full name of the account holder.",
                            "maxLength": 70,
                            "example": "Jan Jansen"
                          },
                          "account": {
                            "type": "object",
                            "description": "The bank account details of the party.",
                            "required": [
                              "iban"
                            ],
                            "properties": {
                              "iban": {
                                "type": "string",
                                "description": "The IBAN (International Bank Account Number) of the account holder.",
                                "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]+$",
                                "example": "NL02ABNA0123456789"
                              }
                            }
                          }
                        }
                      },
                      "amount": {
                        "description": "The amount of the draft transfer, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}` if you would want to transfer €100.00.\n\nOnly `EUR` is supported.",
                        "type": "object",
                        "required": [
                          "currency",
                          "value"
                        ],
                        "properties": {
                          "currency": {
                            "type": "string",
                            "description": "A three-character ISO 4217 currency code.",
                            "example": "EUR"
                          },
                          "value": {
                            "type": "string",
                            "description": "A string containing an exact monetary amount in the given currency.",
                            "example": "10.00"
                          }
                        }
                      },
                      "description": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "A short description of the draft transfer. Once approved, this will appear on the bank statement of both the debtor and creditor.",
                        "maxLength": 140,
                        "example": "Invoice 12345"
                      },
                      "scheduledExecutionDate": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "format": "date",
                        "description": "The date on which the resulting transfer will be executed, once approved. Defaults to same-day if omitted, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date format.",
                        "example": "2025-03-01"
                      },
                      "status": {
                        "allOf": [
                          {
                            "type": "string",
                            "description": "The status of the draft transfer.\n\nPossible values: `pending-review` `approved` `declined`",
                            "x-enumDescriptions": {
                              "pending-review": "Waiting for a human initiator to approve or decline it in Mollie Apps.",
                              "approved": "Approved by the initiator.",
                              "declined": "Declined, either by the initiator, the creator, or because the debtor account was closed."
                            },
                            "example": "pending-review"
                          }
                        ],
                        "readOnly": true
                      },
                      "statusReason": {
                        "type": [
                          "object",
                          "null"
                        ],
                        "description": "The reason for the draft transfer's current status. `null` unless `status` is `declined`.",
                        "readOnly": true,
                        "required": [
                          "code",
                          "message"
                        ],
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "A machine-readable code that indicates the reason for the draft transfer's current status.\n\nPossible values: `deleted-by-creator` `declined-by-initiator` `account-closed`",
                            "x-enumDescriptions": {
                              "deleted-by-creator": "The draft transfer was deleted by the user who created it.",
                              "declined-by-initiator": "The initiator declined the draft transfer in Mollie Apps, optionally with a free-text reason.",
                              "account-closed": "The draft transfer was declined because the debtor account was closed."
                            },
                            "example": "deleted-by-creator"
                          },
                          "message": {
                            "type": "string",
                            "description": "A human-readable explanation of the status reason. For `declined-by-initiator`, this includes the initiator's free-text reason when they provided one.",
                            "example": "The draft transfer has been deleted by the user who created it"
                          }
                        }
                      },
                      "createdAt": {
                        "type": "string",
                        "description": "The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
                        "readOnly": true,
                        "example": "2024-03-20T09:13:37+00:00"
                      },
                      "approvedAt": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The date and time the draft transfer was approved, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `status` is `approved`.",
                        "readOnly": true,
                        "example": "2025-01-01T12:05:00+00:00"
                      },
                      "declinedAt": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The date and time the draft transfer was declined by the initiator, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `statusReason.code` is `declined-by-initiator`.",
                        "readOnly": true,
                        "example": "2025-01-01T12:05:00+00:00"
                      },
                      "deletedAt": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The date and time the draft transfer was deleted via the [Cancel draft transfer](cancel-draft-transfer) endpoint, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `statusReason.code` is `deleted-by-creator`.",
                        "readOnly": true,
                        "example": "2025-01-01T12:05:00+00:00"
                      },
                      "testmode": {
                        "type": [
                          "boolean",
                          "null"
                        ],
                        "description": "Whether to create the entity in test mode or live mode.\n\nMost API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.",
                        "writeOnly": true,
                        "example": false
                      },
                      "_links": {
                        "type": "object",
                        "description": "Links to related resources.",
                        "readOnly": true,
                        "required": [
                          "self"
                        ],
                        "properties": {
                          "self": {
                            "type": "object",
                            "description": "The URL to this draft transfer.",
                            "properties": {
                              "href": {
                                "type": "string",
                                "example": "https://api.mollie.com/v2/business-accounts/draft-transfers/badrt_87GByBuj4UCcUTEbs6aGJ"
                              },
                              "type": {
                                "type": "string",
                                "example": "application/hal+json"
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "debtorIban",
                      "creditor",
                      "amount",
                      "description"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The newly created draft transfer object.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "resource": {
                          "type": "string",
                          "description": "Indicates the response contains a draft transfer object. Will always contain the string `business-account-draft-transfer` for this endpoint.",
                          "readOnly": true,
                          "example": "business-account-draft-transfer"
                        },
                        "id": {
                          "allOf": [
                            {
                              "type": "string",
                              "pattern": "^badrt_.+$",
                              "example": "badrt_87GByBuj4UCcUTEbs6aGJ"
                            }
                          ],
                          "description": "The identifier uniquely referring to this draft transfer. Mollie assigns this identifier at draft transfer creation time.",
                          "readOnly": true
                        },
                        "mode": {
                          "type": "string",
                          "description": "Whether this entity was created in live mode or in test mode.\n\nPossible values: `live` `test`",
                          "readOnly": true,
                          "example": "live"
                        },
                        "debtorIban": {
                          "type": "string",
                          "description": "The IBAN of the debtor's (sender) Mollie Business Account.",
                          "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9 ]+$",
                          "example": "NL55MLLE0123456789",
                          "writeOnly": true
                        },
                        "debtor": {
                          "allOf": [
                            {
                              "type": "object",
                              "description": "A party involved in the draft transfer, representing either the debtor (sender) or creditor (recipient). Contains the party's name and account details.",
                              "required": [
                                "fullName",
                                "account"
                              ],
                              "properties": {
                                "fullName": {
                                  "type": "string",
                                  "description": "The full name of the account holder.",
                                  "maxLength": 70,
                                  "example": "Jan Jansen"
                                },
                                "account": {
                                  "type": "object",
                                  "description": "The bank account details of the party.",
                                  "required": [
                                    "iban"
                                  ],
                                  "properties": {
                                    "iban": {
                                      "type": "string",
                                      "description": "The IBAN (International Bank Account Number) of the account holder.",
                                      "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]+$",
                                      "example": "NL02ABNA0123456789"
                                    }
                                  }
                                }
                              }
                            }
                          ],
                          "description": "The debtor (sender) of the draft transfer, resolved from `debtorIban` at creation time.",
                          "readOnly": true
                        },
                        "creditor": {
                          "description": "The creditor (recipient) of the draft transfer, including their name and account details.",
                          "type": "object",
                          "required": [
                            "fullName",
                            "account"
                          ],
                          "properties": {
                            "fullName": {
                              "type": "string",
                              "description": "The full name of the account holder.",
                              "maxLength": 70,
                              "example": "Jan Jansen"
                            },
                            "account": {
                              "type": "object",
                              "description": "The bank account details of the party.",
                              "required": [
                                "iban"
                              ],
                              "properties": {
                                "iban": {
                                  "type": "string",
                                  "description": "The IBAN (International Bank Account Number) of the account holder.",
                                  "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]+$",
                                  "example": "NL02ABNA0123456789"
                                }
                              }
                            }
                          }
                        },
                        "amount": {
                          "description": "The amount of the draft transfer, e.g. `{\"currency\":\"EUR\", \"value\":\"100.00\"}` if you would want to transfer €100.00.\n\nOnly `EUR` is supported.",
                          "type": "object",
                          "required": [
                            "currency",
                            "value"
                          ],
                          "properties": {
                            "currency": {
                              "type": "string",
                              "description": "A three-character ISO 4217 currency code.",
                              "example": "EUR"
                            },
                            "value": {
                              "type": "string",
                              "description": "A string containing an exact monetary amount in the given currency.",
                              "example": "10.00"
                            }
                          }
                        },
                        "description": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "A short description of the draft transfer. Once approved, this will appear on the bank statement of both the debtor and creditor.",
                          "maxLength": 140,
                          "example": "Invoice 12345"
                        },
                        "scheduledExecutionDate": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "format": "date",
                          "description": "The date on which the resulting transfer will be executed, once approved. Defaults to same-day if omitted, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date format.",
                          "example": "2025-03-01"
                        },
                        "status": {
                          "allOf": [
                            {
                              "type": "string",
                              "description": "The status of the draft transfer.\n\nPossible values: `pending-review` `approved` `declined`",
                              "x-enumDescriptions": {
                                "pending-review": "Waiting for a human initiator to approve or decline it in Mollie Apps.",
                                "approved": "Approved by the initiator.",
                                "declined": "Declined, either by the initiator, the creator, or because the debtor account was closed."
                              },
                              "example": "pending-review"
                            }
                          ],
                          "readOnly": true
                        },
                        "statusReason": {
                          "type": [
                            "object",
                            "null"
                          ],
                          "description": "The reason for the draft transfer's current status. `null` unless `status` is `declined`.",
                          "readOnly": true,
                          "required": [
                            "code",
                            "message"
                          ],
                          "properties": {
                            "code": {
                              "type": "string",
                              "description": "A machine-readable code that indicates the reason for the draft transfer's current status.\n\nPossible values: `deleted-by-creator` `declined-by-initiator` `account-closed`",
                              "x-enumDescriptions": {
                                "deleted-by-creator": "The draft transfer was deleted by the user who created it.",
                                "declined-by-initiator": "The initiator declined the draft transfer in Mollie Apps, optionally with a free-text reason.",
                                "account-closed": "The draft transfer was declined because the debtor account was closed."
                              },
                              "example": "deleted-by-creator"
                            },
                            "message": {
                              "type": "string",
                              "description": "A human-readable explanation of the status reason. For `declined-by-initiator`, this includes the initiator's free-text reason when they provided one.",
                              "example": "The draft transfer has been deleted by the user who created it"
                            }
                          }
                        },
                        "createdAt": {
                          "type": "string",
                          "description": "The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.",
                          "readOnly": true,
                          "example": "2024-03-20T09:13:37+00:00"
                        },
                        "approvedAt": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "The date and time the draft transfer was approved, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `status` is `approved`.",
                          "readOnly": true,
                          "example": "2025-01-01T12:05:00+00:00"
                        },
                        "declinedAt": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "The date and time the draft transfer was declined by the initiator, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `statusReason.code` is `declined-by-initiator`.",
                          "readOnly": true,
                          "example": "2025-01-01T12:05:00+00:00"
                        },
                        "deletedAt": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "The date and time the draft transfer was deleted via the [Cancel draft transfer](cancel-draft-transfer) endpoint, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` unless `statusReason.code` is `deleted-by-creator`.",
                          "readOnly": true,
                          "example": "2025-01-01T12:05:00+00:00"
                        },
                        "testmode": {
                          "type": [
                            "boolean",
                            "null"
                          ],
                          "description": "Whether to create the entity in test mode or live mode.\n\nMost API credentials are specifically created for either live mode or test mode, in which case this parameter must not be sent. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting `testmode` to `true`.",
                          "writeOnly": true,
                          "example": false
                        },
                        "_links": {
                          "type": "object",
                          "description": "Links to related resources.",
                          "readOnly": true,
                          "required": [
                            "self"
                          ],
                          "properties": {
                            "self": {
                              "type": "object",
                              "description": "The URL to this draft transfer.",
                              "properties": {
                                "href": {
                                  "type": "string",
                                  "example": "https://api.mollie.com/v2/business-accounts/draft-transfers/badrt_87GByBuj4UCcUTEbs6aGJ"
                                },
                                "type": {
                                  "type": "string",
                                  "example": "application/hal+json"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  ],
                  "required": [
                    "resource",
                    "id",
                    "mode",
                    "debtor",
                    "creditor",
                    "amount",
                    "status",
                    "createdAt",
                    "_links"
                  ]
                },
                "examples": {
                  "create-draft-transfer-201": {
                    "summary": "Pending review",
                    "value": {
                      "resource": "business-account-draft-transfer",
                      "id": "badrt_87GByBuj4UCcUTEbs6aGJ",
                      "mode": "live",
                      "debtor": {
                        "fullName": "Mollie B.V.",
                        "account": {
                          "iban": "NL55MLLE0123456789"
                        }
                      },
                      "creditor": {
                        "fullName": "Jan Jansen",
                        "account": {
                          "iban": "NL02ABNA0123456789"
                        }
                      },
                      "amount": {
                        "currency": "EUR",
                        "value": "100.00"
                      },
                      "description": "Invoice 12345",
                      "scheduledExecutionDate": "2025-03-01",
                      "status": "pending-review",
                      "statusReason": null,
                      "createdAt": "2025-01-01T12:00:00+00:00",
                      "approvedAt": null,
                      "declinedAt": null,
                      "deletedAt": null,
                      "_links": {
                        "self": {
                          "href": "https://api.mollie.com/v2/business-accounts/draft-transfers/badrt_87GByBuj4UCcUTEbs6aGJ",
                          "type": "application/hal+json"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "The request is missing a required field.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "object",
                  "description": "An error response object.",
                  "required": [
                    "status",
                    "title",
                    "detail",
                    "_links"
                  ],
                  "properties": {
                    "status": {
                      "type": "integer",
                      "description": "The status code of the error message. This is always the same code as the status code of the HTTP message itself.",
                      "minimum": 400,
                      "maximum": 599,
                      "example": 404
                    },
                    "title": {
                      "type": "string",
                      "description": "The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`.",
                      "example": "Not Found"
                    },
                    "detail": {
                      "type": "string",
                      "description": "A detailed human-readable description of the error that occurred.",
                      "example": "The resource does not exist"
                    },
                    "field": {
                      "type": "string",
                      "description": "If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue.",
                      "example": "description"
                    },
                    "_links": {
                      "type": "object",
                      "required": [
                        "documentation"
                      ],
                      "properties": {
                        "documentation": {
                          "type": "object",
                          "description": "The URL to the generic Mollie API error handling guide.",
                          "required": [
                            "href",
                            "type"
                          ],
                          "properties": {
                            "href": {
                              "type": "string",
                              "example": "https://docs.mollie.com/errors"
                            },
                            "type": {
                              "type": "string",
                              "example": "text/html"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "status": 400,
                  "title": "Bad Request",
                  "detail": "The 'description' field is required",
                  "field": "description",
                  "_links": {
                    "documentation": {
                      "href": "...",
                      "type": "text/html"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "The request contains a field with an invalid value. For example, if the creditor IBAN is invalid.",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "object",
                  "description": "An error response object.",
                  "required": [
                    "status",
                    "title",
                    "detail",
                    "_links"
                  ],
                  "properties": {
                    "status": {
                      "type": "integer",
                      "description": "The status code of the error message. This is always the same code as the status code of the HTTP message itself.",
                      "minimum": 400,
                      "maximum": 599,
                      "example": 404
                    },
                    "title": {
                      "type": "string",
                      "description": "The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`.",
                      "example": "Not Found"
                    },
                    "detail": {
                      "type": "string",
                      "description": "A detailed human-readable description of the error that occurred.",
                      "example": "The resource does not exist"
                    },
                    "field": {
                      "type": "string",
                      "description": "If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue.",
                      "example": "description"
                    },
                    "_links": {
                      "type": "object",
                      "required": [
                        "documentation"
                      ],
                      "properties": {
                        "documentation": {
                          "type": "object",
                          "description": "The URL to the generic Mollie API error handling guide.",
                          "required": [
                            "href",
                            "type"
                          ],
                          "properties": {
                            "href": {
                              "type": "string",
                              "example": "https://docs.mollie.com/errors"
                            },
                            "type": {
                              "type": "string",
                              "example": "text/html"
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "status": 422,
                  "title": "Unprocessable Entity",
                  "detail": "The 'creditor.account.iban' field is invalid",
                  "field": "creditor.account.iban",
                  "_links": {
                    "documentation": {
                      "href": "...",
                      "type": "text/html"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/429-rate-limit"
          }
        },
        "x-readme": {
          "code-samples": [
            {
              "language": "shell",
              "code": "curl -X POST https://api.mollie.com/v2/business-accounts/draft-transfers \\\n    -H \"Authorization: Bearer access_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM\" \\\n    -H \"Content-Type: application/json\" \\\n    -d '{\n          \"debtorIban\": \"NL55MLLE0123456789\",\n          \"creditor\": {\n            \"fullName\": \"Jan Jansen\",\n            \"account\": { \"iban\": \"NL02ABNA0123456789\" }\n          },\n          \"amount\": { \"currency\": \"EUR\", \"value\": \"100.00\" },\n          \"description\": \"Invoice 12345\",\n          \"scheduledExecutionDate\": \"2025-03-01\"\n        }'"
            },
            {
              "language": "php",
              "code": "No example available.",
              "install": "composer require mollie/mollie-api-php"
            },
            {
              "language": "node",
              "code": "No example available.",
              "install": "npm install mollie-api-typescript"
            },
            {
              "language": "python",
              "code": "No example available.",
              "install": "pip install mollie-api-py"
            },
            {
              "language": "ruby",
              "code": "No example available.",
              "install": "gem install mollie-api-ruby"
            }
          ]
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKey": {
        "type": "http",
        "scheme": "bearer",
        "description": "Authenticates API requests for a single website profile. Each key targets\neither live mode (`live_...`) or test mode (`test_...`).\n\nKeys are shown only once, at creation. Store the key securely — it cannot\nbe retrieved afterwards. If lost, create a new key under Developers → API\naccess tokens in the Dashboard and revoke the old one.",
        "x-default": "live_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"
      },
      "advancedAccessToken": {
        "type": "http",
        "scheme": "bearer",
        "description": "Authenticates API requests with configurable permissions. Can access\norganization-level resources and optionally scope to a specific payment\nprofile (`access_...`). Use for advanced integrations — such as bookkeeping\nor reporting tools — that need fine-grained control over API access.\n\nTokens are shown only once, at creation. Store it securely — it cannot be\nretrieved afterwards. If lost, create a new token under Developers → API\naccess tokens in the Dashboard and revoke the old one.",
        "x-default": "access_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM"
      },
      "oAuth": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://my.mollie.com/oauth2/authorize",
            "tokenUrl": "https://api.mollie.com/oauth2/tokens",
            "scopes": {}
          }
        }
      }
    },
    "responses": {
      "429-rate-limit": {
        "description": "Rate Limit has been reached.",
        "content": {
          "application/hal+json": {
            "schema": {
              "type": "object",
              "description": "An error response object.",
              "required": [
                "status",
                "title",
                "detail",
                "_links"
              ],
              "properties": {
                "status": {
                  "type": "integer",
                  "description": "The status code of the error message. This is always the same code as the status code of the HTTP message itself.",
                  "minimum": 400,
                  "maximum": 599,
                  "example": 404
                },
                "title": {
                  "type": "string",
                  "description": "The HTTP reason phrase of the error. For example, for a `404` error, the `title` will be `Not Found`.",
                  "example": "Not Found"
                },
                "detail": {
                  "type": "string",
                  "description": "A detailed human-readable description of the error that occurred.",
                  "example": "The resource does not exist"
                },
                "field": {
                  "type": "string",
                  "description": "If the error was caused by a value provided by you in a specific field, the `field` property will contain the name of the field that caused the issue.",
                  "example": "description"
                },
                "_links": {
                  "type": "object",
                  "required": [
                    "documentation"
                  ],
                  "properties": {
                    "documentation": {
                      "type": "object",
                      "description": "The URL to the generic Mollie API error handling guide.",
                      "required": [
                        "href",
                        "type"
                      ],
                      "properties": {
                        "href": {
                          "type": "string",
                          "example": "https://docs.mollie.com/errors"
                        },
                        "type": {
                          "type": "string",
                          "example": "text/html"
                        }
                      }
                    }
                  }
                }
              }
            },
            "example": {
              "status": 429,
              "title": "Too Many Requests",
              "detail": "You have exceeded the rate limit. Please slow down your requests.",
              "_links": {
                "documentation": {
                  "href": "https://docs.mollie.com/overview/handling-errors",
                  "type": "text/html"
                }
              }
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": false,
    "samples-languages": [
      "shell",
      "php",
      "node",
      "python",
      "ruby"
    ]
  }
}
```