> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qonto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v1/transfers

> OAuth scope: `organization.read`

Webhook that delivers events related to SEPA transfers.

Supported events:
  - `created` — The transfer was created. Fires for transfers initiated outside your integration, and for each execution spawned by a recurring transfer.
  - `processing` — The account balance was debited and a transaction was created. Can last several hours until the transfer is sent on the network.
  - `settled` — The transfer was sent to the network. Permanent status.
  - `declined` — The transfer was declined. `data.declined_reason` indicates why. Permanent status.
  - `canceled` — The transfer was canceled by a user. Permanent status.

Events are delivered for the same transfers that `GET /v2/sepa/transfers` returns. The recurring
transfer resource itself is not covered here — subscribe to `v1/recurring-transfers` for that.

Deliveries are not deduplicated, so treat them idempotently: an unchanged transfer being saved
again can re-deliver the event matching its current status.


This topic delivers events related to SEPA transfers.

**Events:**

* **`created`** — The transfer was recorded. Fires for transfers initiated outside your integration, and for each execution spawned by a recurring transfer.
* **`processing`** — The account balance was debited and a transaction was created. Can last several hours until the transfer is sent on the network.
* **`settled`** — The transfer was sent to the network. Permanent status.
* **`declined`** — The transfer was declined. `data.declined_reason` indicates why. Permanent status.
* **`canceled`** — The transfer was canceled by a user. Permanent status.

`data` mirrors the payload of `GET /v2/sepa/transfers/{id}`, so you can upsert the transfer locally without a follow-up request. `data.transaction_id` links the transfer to its ledger transaction, letting you reconcile against the `v1/transactions` topic.

Events are delivered for the same transfers that `GET /v2/sepa/transfers` returns. The recurring transfer resource itself is **not** covered here — subscribe to [`v1/recurring-transfers`](/api-reference/business-api/webhooks/supported-webhooks/v1-recurring-transfers) for that. Individual executions of a recurring transfer *are* delivered on this topic, with `data.recurring_transfer_id` set.

**Deliveries are not deduplicated.** Treat them idempotently: an unchanged transfer being saved again can re-deliver the event matching its current status.

<RequestExample>
  ```json v1/transfers created theme={null}
  {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "subscription_id": "123e4567-e89b-12d3-a456-426614174000",
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "membership_id": "123e4567-e89b-12d3-a456-426614174000",
      "type": "v1/transfers",
      "created_at": "2025-04-22T12:00:00Z",
      "data": {
          "event": "created",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "initiator_id": "8b1a9953-2c31-4f9d-9c0e-1f2b3c4d5e6f",
          "bank_account_id": "b3f1c2d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
          "amount": 1100.50,
          "amount_cents": 110050,
          "amount_currency": "EUR",
          "status": "pending",
          "beneficiary_id": "c4d5e6f7-a8b9-4c0d-8e2f-3a4b5c6d7e8f",
          "reference": "Lease payment",
          "note": "Lease payment for offices in Paris",
          "declined_reason": null,
          "scheduled_date": "2025-04-22",
          "created_at": "2025-04-22T12:00:00Z",
          "processed_at": null,
          "completed_at": null,
          "transaction_id": null,
          "recurring_transfer_id": null
      }
  }
  ```

  ```json v1/transfers settled theme={null}
  {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "subscription_id": "123e4567-e89b-12d3-a456-426614174000",
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "membership_id": "123e4567-e89b-12d3-a456-426614174000",
      "type": "v1/transfers",
      "created_at": "2025-04-22T14:30:00Z",
      "data": {
          "event": "settled",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "initiator_id": "8b1a9953-2c31-4f9d-9c0e-1f2b3c4d5e6f",
          "bank_account_id": "b3f1c2d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
          "amount": 1100.50,
          "amount_cents": 110050,
          "amount_currency": "EUR",
          "status": "settled",
          "beneficiary_id": "c4d5e6f7-a8b9-4c0d-8e2f-3a4b5c6d7e8f",
          "reference": "Lease payment",
          "note": "Lease payment for offices in Paris",
          "declined_reason": null,
          "scheduled_date": "2025-04-22",
          "created_at": "2025-04-22T12:00:00Z",
          "processed_at": "2025-04-22T12:05:00Z",
          "completed_at": "2025-04-22T14:30:00Z",
          "transaction_id": "d5e6f7a8-b9c0-4d1e-8f3a-4b5c6d7e8f90",
          "recurring_transfer_id": null
      }
  }
  ```

  ```json v1/transfers declined theme={null}
  {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "subscription_id": "123e4567-e89b-12d3-a456-426614174000",
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "membership_id": "123e4567-e89b-12d3-a456-426614174000",
      "type": "v1/transfers",
      "created_at": "2025-04-22T12:06:00Z",
      "data": {
          "event": "declined",
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "initiator_id": "8b1a9953-2c31-4f9d-9c0e-1f2b3c4d5e6f",
          "bank_account_id": "b3f1c2d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
          "amount": 1100.50,
          "amount_cents": 110050,
          "amount_currency": "EUR",
          "status": "declined",
          "beneficiary_id": "c4d5e6f7-a8b9-4c0d-8e2f-3a4b5c6d7e8f",
          "reference": "Lease payment",
          "note": null,
          "declined_reason": "debit_account_insufficient_funds",
          "scheduled_date": "2025-04-22",
          "created_at": "2025-04-22T12:00:00Z",
          "processed_at": "2025-04-22T12:05:00Z",
          "completed_at": "2025-04-22T12:06:00Z",
          "transaction_id": null,
          "recurring_transfer_id": null
      }
  }
  ```
</RequestExample>


## OpenAPI

````yaml webhook v1/transfers
openapi: 3.1.1
info:
  version: v2
  title: Qonto
servers:
  - url: https://thirdparty.qonto.com
    description: Production URL
  - url: https://thirdparty-sandbox.staging.qonto.co
    description: Sandbox URL
security:
  - OAuth:
      - organization.read
      - membership.read
      - membership.write
      - attachment.write
      - internal_transfer.write
      - payment.write
      - supplier_invoice.write
      - supplier_invoice.read
      - client_invoices.read
      - client_invoice.write
      - client.read
      - client.write
      - product.read
      - product.write
      - request_review.write
      - request_review.read
      - team.read
      - team.write
      - request_transfers.write
      - insurance_contract.read
      - insurance_contract.write
      - card.read
      - card.write
      - bank_account.write
      - beneficiary.trust
      - webhook
      - payment_link.write
      - payment_link.read
      - sepa_direct_debit.read
      - sepa_direct_debit.write
      - terminal.read
      - terminal.write
  - SecretKey: []
paths: {}
components:
  securitySchemes:
    OAuth:
      type: oauth2
      description: >
        Bearer authorization header: `Bearer <token>`, where `<token>` is the
        access token received from the authorization server at the end of the
        [OAuth 2.0
        flow](/get-started/business-api/authentication/oauth/oauth-flow).
      flows:
        authorizationCode:
          refreshUrl: https://oauth.qonto.com/oauth2/token
          authorizationUrl: https://oauth.qonto.com/oauth2/auth
          scopes:
            attachment.read: Retrieve attachments
            attachment.write: Upload attachments and remove attachments from transactions
            bank_account.write: Create, update and close bank accounts
            beneficiary.trust: Trust SEPA beneficiaries
            card.read: Retrieve cards
            card.write: Create or update cards
            cash_flow_category.read: Retrieve cash flow categories
            cash_flow_category.write: Create cash flow categories and assign them to transactions
            client.read: Retrieve clients
            client.write: Create clients
            client_invoice.write: Create client invoices
            client_invoices.read: Retrieve client invoices and credit notes
            einvoicing.read: Retrieve e-invoicing settings
            embed_auth_link.write: Create Embed auth links
            insurance_contract.read: Retrieve insurance contracts
            insurance_contract.write: Create and update insurance contracts
            internal_transfer.write: >-
              Create internal transfers (between 2 Qonto accounts of the same
              organization)
            international_transfer.write: Create international transfers
            membership.read: Retrieve the authentified membership
            membership.write: Invite team members
            offline_access: Retrieve a refresh token
            organization.read: >-
              Retrieve organization, bank accounts, transactions, transfers,
              beneficiaries, labels, memberships, requests & statements
            payment.write: Create external transfers and untrust beneficiaries
            payment_link.read: >-
              Retrieve payment links, their payments, and the available payment
              methods
            payment_link.write: >-
              Connect to the payment links provider, create and deactivate
              payment links
            product.read: Retrieve products
            product.write: Create products
            request_cards.write: Create card requests
            request_review.write: Approve or decline requests
            request_transfers.write: Create transfer requests
            sepa_direct_debit.read: View SEPA Direct Debit payments
            sepa_direct_debit.write: Manage SEPA Direct Debit payments
            subscription.read: Retrieve the organization's current subscription plan
            supplier_invoice.read: Retrieve supplier invoices
            supplier_invoice.write: Create supplier invoices
            team.read: Retrieve teams
            team.write: Create teams
            terminal.read: View your payment terminals
            terminal.write: Configure your terminals and initiate payments
            user_organization.read: View the organizations the user has granted access to
            webhook: >-
              Receive a notification each time a particular event occurs in
              Qonto
          tokenUrl: https://oauth.qonto.com/oauth2/token
    SecretKey:
      type: apiKey
      description: cf. [API key](/get-started/business-api/authentication/api-key)
      name: Authorization
      in: header

````