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

# API Endpoints & Reference

<Accordion title="What are the available API endpoints?">
  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](/api-reference/introduction)" in the Developers documentation
  * Choose between Business API & Onboarding API

      <Info>
        You can find more information about the APIs in [here](https://docs.qonto.com/get-started/general/introduction).
      </Info>
  * View all the endpoints available on the tab "Endpoints"
</Accordion>

<Accordion title="How to retrieve transaction and account data?">
  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 — see [Accessing the Sandbox environment](/get-started/general/sandbox-access)
  * The API supports comprehensive pagination and filtering for large datasets
</Accordion>

<Accordion title="How to create and manage payments via API?">
  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 Transfer**: `POST /v2/sepa/transfers` - For single transfers
  * **Create a SEPA Bulk Transfer**: `POST /v2/sepa/bulk_transfers` - For up to 400 transfers at once
  * **Create a SEPA Recurring Transfer**: `POST /v2/sepa/recurring_transfers` - For recurring payments

  **2. External Transfers (Being Sunsetted)**

  * **Create external transfer for trusted beneficiary**: `POST /v2/external_transfers`
  * **Create external transfers with beneficiaries data**: `POST /v2/external_transfers/checkout`

  **3. Payment Links**

  * **Create payment links**: `POST /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 beneficiaries**: `GET /v2/beneficiaries/sepa`
  * **Add beneficiary**: `POST /v2/beneficiaries/sepa`
  * **Trust beneficiaries**: `POST /v2/beneficiaries/sepa/trust`
  * **Update beneficiary**: `PUT /v2/beneficiaries/sepa/{id}`

  ### **Payment Monitoring**

  * **List transfers**: `GET /v2/sepa/transfers`
  * **Get transfer details**: `GET /v2/sepa/transfers/{id}`
  * **Cancel transfers**: `POST /v2/sepa/transfers/{id}/cancel`
  * **List bulk transfers**: `GET /v2/sepa/bulk_transfers`

  ### **Payment Links for Customer Payments**

  * **Connect to provider**: `POST /v2/payment_links/connections`
  * **Create payment link**: `POST /v2/payment_links`
  * **Track payments**: `GET /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
</Accordion>

<Accordion title="Webhook setup and troubleshooting">
  * To set up webhooks on Business API, [click here](https://docs.qonto.com/api-reference/business-api/webhooks/overview).
  * To set up webhooks on Onboarding API, [click here](https://docs.qonto.com/api-reference/onboarding-api/webhooks/webhooks).
</Accordion>

<Accordion title="How to use the Onboarding API for fast account creation?">
  Follow [this guide](https://docs.qonto.com/get-started/onboarding-api/flows/company-creation) to rapidly open an account for a company which needs to be created.
</Accordion>

<Tip>
  Need to report a bug, request a new feature, or didn’t find your answer? [Click here.](https://getqonto.atlassian.net/servicedesk/customer/portals)
</Tip>
