Skip to main content
Qonto provides 2 collections of REST APIs (Business API & Onboarding API) and a Sandbox environment to help you build integrations on top of Qonto accounts, transactions, memberships, etc; no matter what your use case is.To access & view available API endpoints:
  • Click on “API Reference” in the Developers documentation
  • Choose between Business API & Onboarding API
    You can find more information about the APIs in here.
  • View all the endpoints available on the tab “Endpoints”
To retrieve transaction and account data from Qonto, you’ll need to use the Business API with the appropriate endpoints. Here’s a step-by-step approach:

1. Retrieve Account Data

There are several ways to get account information:

Get Organization and Bank Accounts

  • Endpoint: GET /v2/organization
  • Purpose: Retrieves organization details and lists all bank accounts
  • Use case: This is typically your starting point to get bank account IDs/IBANs needed for transaction retrieval

List All Business Accounts

  • Endpoint: GET /v2/bank_accounts
  • Purpose: Retrieves a paginated list of all business accounts
  • Features: Supports pagination with page and per_page parameters

Get Specific Business Account

  • Endpoint: GET /v2/bank_accounts/{id}
  • Purpose: Retrieves detailed information about a specific account
  • Use case: Get up-to-date balance and account details

2. Retrieve Transaction Data

List Transactions

  • Endpoint: GET /v2/transactions
  • Required parameter: Either bank_account_id or iban (obtained from account endpoints above)
  • Features:
    • Comprehensive filtering options (status, date ranges, operation types)
    • Sorting capabilities
    • Pagination support
    • Can include related data like attachments, labels, and VAT details

Get Specific Transaction

  • Endpoint: GET /v2/transactions/{id}
  • Purpose: Retrieves detailed information about a specific transaction

3. Authentication

You can authenticate using either:
  • API Key (for customers only)
  • OAuth 2.0 (for customers using sensitive endpoints and partners)

4. Typical Workflow

The documentation suggests this common pattern for listing transactions:
  1. First, call GET /v2/organization to get your bank account IDs/IBANs
  2. Then, call GET /v2/transactions with the bank_account_id or iban parameter

5. Additional Features

  • Filtering: Transactions can be filtered by status, date ranges, operation types, and more
  • Attachments: You can retrieve transaction attachments (receipts, invoices)
  • Statements: Access bank statements via GET /v2/statements
  • Permissions: Some account fields are restricted based on user permissions (owners/admins see all fields, others may see limited data)

6. Important Notes

  • All transactions visible in Qonto’s UI can be retrieved via API V2
  • For Sandbox testing, include the X-Qonto-Staging-Token header
  • The API supports comprehensive pagination and filtering for large datasets
Qonto’s Business API provides several ways to create and manage payments, with different endpoints for different types of transfers and payment methods.

Main Payment Types

1. SEPA Transfers (Recommended)
  • Create a SEPA TransferPOST /v2/sepa/transfers - For single transfers
  • Create a SEPA Bulk TransferPOST /v2/sepa/bulk_transfers - For up to 400 transfers at once
  • Create a SEPA Recurring TransferPOST /v2/sepa/recurring_transfers - For recurring payments
2. External Transfers (Being Sunsetted)
  • Create external transfer for trusted beneficiaryPOST /v2/external_transfers
  • Create external transfers with beneficiaries dataPOST /v2/external_transfers/checkout
3. Payment Links
  • Create payment linksPOST /v2/payment_links - For accepting payments from customers
4. International Transfers
  • Available for payments outside the Eurozone with multi-currency support

Key Features for Payment Management

Authentication & Security

  • OAuth 2.0 required for payment operations (scope: payment.write)
  • Strong Customer Authentication (SCA) required for most payment operations
  • Trusted beneficiaries can bypass SCA for automated transfers

Creating SEPA Transfers

POST /v2/sepa/transfers

  • Works with both trusted and untrusted beneficiaries
  • Can create beneficiaries on-the-fly or use existing ones
  • Requires SCA unless beneficiary is trusted
  • Supports attachments for transfers above €30,000

Bulk Transfers

POST /v2/sepa/bulk_transfers

  • Process up to 400 transfers asynchronously
  • SCA not required if all beneficiaries are trusted
  • Returns a bulk transfer object that can be polled for status

Managing Beneficiaries

  • List beneficiariesGET /v2/beneficiaries/sepa
  • Add beneficiaryPOST /v2/beneficiaries/sepa
  • Trust beneficiariesPOST /v2/beneficiaries/sepa/trust
  • Update beneficiaryPUT /v2/beneficiaries/sepa/{id}

Payment Monitoring

  • List transfersGET /v2/sepa/transfers
  • Get transfer detailsGET /v2/sepa/transfers/{id}
  • Cancel transfersPOST /v2/sepa/transfers/{id}/cancel
  • List bulk transfersGET /v2/sepa/bulk_transfers
  • Connect to providerPOST /v2/payment_links/connections
  • Create payment linkPOST /v2/payment_links
  • Track paymentsGET /v2/payment_links/{id}/payments
  • Manage links: List, view, or deactivate payment links

Implementation Steps

  1. Set up authentication with OAuth 2.0 and required scopes
  2. Manage beneficiaries - create, update, or trust them as needed
  3. Handle SCA for secure payment authorization
  4. Create transfers using appropriate endpoints
  5. Monitor payment status and handle responses
  6. Manage recurring payments if needed
Follow this guide to rapidly open an account for a company which needs to be created.
Need to report a bug, request a new feature, or didn’t find your answer? Click here.