> ## 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.

# Get Bulk Transfer

> OAuth scope: `organization.read`

Retrieves the current status of a bulk transfer and the progress of individual transfers.

Returns a simple JSON response with job-level status and per-transfer details.

If there was a failure to create one of the transfers, you should be able to identify which transfer that was based on the `client_transfer_id` value provided.
This makes it easy to pinpoint the exact transfer and property that caused the issue, allowing for quick troubleshooting and resolution.

The status of the transfer result does not correspond to the actual transfer status. A transfer can be created but fail once Qonto
tried to process it. Use the `/v2/sepa/transfers?ids[]=1&ids[]=2&ids[]=n` resource to fetch the actual transfers. You can filter up to 100 transfer IDs at a time.




## OpenAPI

````yaml GET /v2/sepa/bulk_transfers/{id}
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:
  /v2/sepa/bulk_transfers/{id}:
    parameters:
      - $ref: '#/components/parameters/X-Qonto-Staging-Token'
    get:
      tags:
        - SEPA Transfers
      summary: Get Bulk Transfer
      description: >
        OAuth scope: `organization.read`


        Retrieves the current status of a bulk transfer and the progress of
        individual transfers.


        Returns a simple JSON response with job-level status and per-transfer
        details.


        If there was a failure to create one of the transfers, you should be
        able to identify which transfer that was based on the
        `client_transfer_id` value provided.

        This makes it easy to pinpoint the exact transfer and property that
        caused the issue, allowing for quick troubleshooting and resolution.


        The status of the transfer result does not correspond to the actual
        transfer status. A transfer can be created but fail once Qonto

        tried to process it. Use the
        `/v2/sepa/transfers?ids[]=1&ids[]=2&ids[]=n` resource to fetch the
        actual transfers. You can filter up to 100 transfer IDs at a time.
      operationId: getSepaBulkTransfer
      parameters:
        - name: id
          in: path
          required: true
          description: Unique identifier of the bulk transfer.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successfully retrieved the job status
          content:
            application/json:
              schema:
                type: object
                required:
                  - bulk_transfer
                properties:
                  bulk_transfer:
                    $ref: '#/components/schemas/BulkSepaTransferJobResponse'
              example:
                bulk_transfer:
                  id: fe1ed7b6-4fee-4036-aaaa-43e1d3154ab3
                  initiator_id: f8d96abb-63fe-4a1d-bbd5-10f76eec2e6f
                  created_at: '2025-04-10T10:00:00Z'
                  updated_at: '2025-04-10T10:05:00Z'
                  total_count: 400
                  completed_count: 300
                  failed_count: 10
                  pending_count: 90
                  results:
                    - client_transfer_id: 3c90c3cc-0d44-4b50-8888-8dd25736052a
                      status: completed
                      transfer_id: 027f1410-3749-4c42-a678-31c6f158e652
                      errors: null
                    - client_transfer_id: 10f2bb10-9c81-42a0-a163-b45c3be14807
                      status: failed
                      transfer_id: null
                      errors:
                        - code: invalid
                          detail: Invalid IBAN
                          source:
                            pointer: /bank_account_id
                    - client_transfer_id: be134b6b-6832-49cc-9b04-3a106dab27c7
                      status: pending
                      transfer_id: null
                      errors: null
        '401':
          $ref: '#/components/responses/401-Unauthorized'
          description: Unauthorized
        '403':
          $ref: '#/components/responses/403-Forbidden'
          description: Forbidden
        '404':
          $ref: '#/components/responses/404-Not-Found'
      security:
        - OAuth:
            - organization.read
        - SecretKey: []
components:
  parameters:
    X-Qonto-Staging-Token:
      name: X-Qonto-Staging-Token
      in: header
      description: >-
        Required only for Sandbox API requests; to get one, please sign up to
        the [Developer Portal](https://developers.qonto.com/).
      schema:
        type: string
  schemas:
    BulkSepaTransferJobResponse:
      type: object
      required:
        - id
        - initiator_id
        - created_at
        - updated_at
        - total_count
        - completed_count
        - pending_count
        - failed_count
        - results
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the bulk transfer job.
        initiator_id:
          type: string
          format: uuid
          description: Unique identifier for the member that created the BulkTransfer.
        created_at:
          type: string
          format: date-time
          example: '2025-04-22T12:00:00Z'
          description: UTC, the time at which the bulk transfer was first recorded.
        updated_at:
          type: string
          format: date-time
          example: '2025-04-22T12:00:00Z'
          description: UTC, the time at which the bulk transfer was last updated.
        total_count:
          type: integer
          description: Total number of transfers in the job.
          example: 400
        completed_count:
          type: integer
          description: Total number of transfers successfully completed in the job.
          example: 200
        failed_count:
          type: integer
          description: Total number of transfers failed in the job.
          example: 150
        pending_count:
          type: integer
          description: Total number of transfers pending in the job.
          example: 50
        results:
          type: array
          description: Detailed status of each individual transfer in the job.
          items:
            $ref: '#/components/schemas/Result'
    Result:
      type: object
      required:
        - client_transfer_id
        - transfer_id
        - errors
        - status
      properties:
        client_transfer_id:
          type: string
          format: uuid
          description: Client-provided key to identify the transfer within the job.
        transfer_id:
          type:
            - string
            - 'null'
          format: uuid
          description: ID of the created transfer (populated if the status=completed).
        errors:
          type:
            - array
            - 'null'
          description: List of errors for the transfer (populated if the status=failed).
          items:
            $ref: '#/components/schemas/Error'
        status:
          type: string
          enum:
            - pending
            - completed
            - failed
    UnauthorizedResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/UnauthorizedError'
      required:
        - errors
    ForbiddenResponseBody:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ForbiddenError'
      required:
        - errors
    NotFoundError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
        source:
          type: object
          properties:
            parameter:
              type: string
              description: The parameter that causes the error.
      required:
        - code
        - detail
      x-examples:
        Object not found:
          code: not_found
          detail: Object not found
          source:
            parameter: id
    Error:
      type: object
      title: Errors
      properties:
        errors:
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/UnauthorizedError'
              - $ref: '#/components/schemas/BadRequestError'
              - $ref: '#/components/schemas/ForbiddenError'
              - $ref: '#/components/schemas/NotFoundError'
              - $ref: '#/components/schemas/UnprocessableEntityError'
    UnauthorizedError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
      required:
        - code
        - detail
      x-examples:
        Invalid credentials:
          code: unauthorized
          detail: Invalid credentials
    ForbiddenError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
      required:
        - code
        - detail
      x-examples:
        Insufficient permissions:
          code: forbidden
          detail: User does not have sufficient permissions for this action.
    BadRequestError:
      type: object
      properties:
        code:
          type: string
          description: Error code.
        detail:
          type: string
          description: Human readable error that explains error `code`.
        source:
          type: object
          properties:
            pointer:
              type: string
              description: >-
                The property in the request body that caused the error
                (optional).
            parameter:
              type: string
              description: The query parameter that caused the error (optional).
      required:
        - code
        - detail
      x-examples:
        Authorization field missing:
          code: bad_request
          detail: Authorization field missing
    UnprocessableEntityError:
      type: object
      properties:
        status:
          type: string
          example: unprocessable entity
        code:
          type: string
          description: Error code.
          example: missing_key
        detail:
          type: string
          description: Human readable error that explains error `code`.
          example: property is missing
        message:
          type: string
          example: property id is missing
        source:
          type: object
          properties:
            pointer:
              type: string
              description: >-
                The property and the item in an array (if applicable) that
                causes the error.
              example: id
      required:
        - code
        - detail
      x-examples:
        Missing property:
          code: missing_key
          detail: property is missing
          source:
            pointer: /external_transfer/atrribute
  responses:
    401-Unauthorized:
      description: Returns an unauthorized error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedResponseBody'
          examples:
            authorization_header_missing:
              value:
                errors:
                  - code: authorization_header_missing
                    detail: authorization header missing
            authorization_token_invalid:
              value:
                errors:
                  - code: authorization_token_invalid
                    detail: authorization token invalid
    403-Forbidden:
      description: Returns a forbidden error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenResponseBody'
          examples:
            Insufficient permissions:
              value:
                errors:
                  - code: forbidden
                    detail: User does not have sufficient permissions for this action.
    404-Not-Found:
      description: Returns a not found error.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/NotFoundError'
  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
            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
            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
            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

````