Mollie API

The Mollie API is a REST API using HAL (application/hal+json) over HTTPS at api.mollie.com. It covers 124 documented operations across 33 API groups — Payments, Payment Links, Refunds, Chargebacks, Captures, Customers, Mandates, Subscriptions, Methods, Sessions, Terminals, Balances, Settlements, Payouts, Invoices, Sales Invoices, Business Accounts, Transfers, Verify Payee, Onboarding, Capabilities, Clients, Client Links, Profiles, Organizations, Permissions, Delayed Routing, Wallets, Balance Transfers, Unmatched Credit Transfers, Webhooks, Webhook Events and OAuth. Authentication is by bearer API key (test_/live_ prefixed), advanced access token (access_ prefixed) or OAuth 2.0 authorization code with 60+ scopes. Every operation accepts an Idempotency-Key header, and list endpoints use cursor pagination.

Documentation

Specifications

Other Resources

OpenAPI Specification

mollie-openapi-original.yml Raw ↑
openapi: 3.1.0
info:
  title: Mollie API
  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
security:
  - apiKey: []
  - advancedAccessToken: []
  - oAuth: []
tags:
  - name: Accounts API
    description: Operations related to the Accounts API
  - name: Balance Transfers API
    description: Operations related to the Balance Transfers API
  - name: Balances API
    description: Operations related to the Balances API
  - name: Capabilities API
    description: Operations related to the Capabilities API
  - name: Captures API
    description: Operations related to the Captures API
  - name: Chargebacks API
    description: Operations related to the Chargebacks API
  - name: Client Links API
    description: Operations related to the Client Links API
  - name: Clients API
    description: Operations related to the Clients API
  - name: Customers API
    description: Operations related to the Customers API
  - name: Delayed Routing API
    description: Operations related to the Delayed Routing API
  - name: Invoices API
    description: Operations related to the Invoices API
  - name: Mandates API
    description: Operations related to the Mandates API
  - name: Methods API
    description: Operations related to the Methods API
  - name: OAuth API
    description: Operations related to the OAuth API
  - name: Onboarding API
    description: Operations related to the Onboarding API
  - name: Organizations API
    description: Operations related to the Organizations API
  - name: Payment Links API
    description: Operations related to the Payment Links API
  - name: Payments API
    description: Operations related to the Payments API
  - name: Payouts API
    description: Operations related to the Payouts API
  - name: Permissions API
    description: Operations related to the Permissions API
  - name: Profiles API
    description: Operations related to the Profiles API
  - name: Refunds API
    description: Operations related to the Refunds API
  - name: Sales Invoices API
    description: Operations related to the Sales Invoices API
  - name: Sessions API
    description: Operations related to the Sessions API
  - name: Settlements API
    description: Operations related to the Settlements API
  - name: Subscriptions API
    description: Operations related to the Subscriptions API
  - name: Terminals API
    description: Operations related to the Terminals API
  - name: Transfers API
    description: Operations related to the Transfers API
  - name: Unmatched Credit Transfers API
    description: Operations related to the Unmatched Credit Transfers API
  - name: Verify Payee API
    description: Operations related to the Verify Payee API
  - name: Wallets API
    description: Operations related to the Wallets API
  - name: Webhook Events API
    description: Operations related to the Webhook Events API
  - name: Webhooks API
    description: Operations related to the Webhooks API
paths:
  /oauth2/tokens:
    post:
      security:
        - basicAuth: []
      summary: Generate tokens
      x-speakeasy-name-override: generate
      tags:
        - OAuth API
      operationId: oauth-generate-tokens
      description: |-
        Exchange the authorization code you received from the [Authorize endpoint](oauth-authorize) for an 'access token'
        API credential, with which you can communicate with the Mollie API on behalf of the consenting merchant.

        This endpoint can only be accessed using **OAuth client credentials**.
      parameters:
        - name: Authorization
          description: |-
            The OAuth client ID and client secret as
            [basic access credentials](https://en.wikipedia.org/wiki/Basic_access_authentication).

            Pseudo code: `"Basic " + toBase64(client_id + ":" + client_secret)`

            For example: `Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`
          in: header
          schema:
            type: string
          required: true
        - name: Content-Type
          description: This header value must match the type of the request body you send, if there is a request body. For example, if you send the request body as JSON, this header must be set to `application/json`, and if you send it as form encoded you must set this header to `application/x-www-form-urlencoded`.
          in: header
          schema:
            type: string
          required: false
        - $ref: '#/components/parameters/idempotency-key'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - grant_type
              properties:
                grant_type:
                  $ref: '#/components/schemas/oauth-grant-type'
                  description: |-
                    If you wish to exchange your authorization code for an app access token, use grant type
                    `authorization_code`. If you wish to renew your app access token with your refresh token, use grant type
                    `refresh_token`.
                code:
                  type: string
                  description: |-
                    The authorization code you received when creating the authorization. Only use this field when using
                    grant type `authorization_code`.
                  example: auth_...
                refresh_token:
                  type: string
                  description: |-
                    The refresh token you received when creating the authorization. Only use this field when using grant
                    type `refresh_token`.
                  example: refresh_...
                redirect_uri:
                  type: string
                  description: |-
                    The URL the merchant is sent back to once the request has been authorized. It must match the URL you set
                    when registering your app.

                    For consecutive refresh token requests, this parameter is required only if the initial authorization
                    code grant request also contained a `redirect_uri`.
                  example: https://example.com/redirect
      responses:
        '200':
          description: The newly generated access token and refresh token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                    description: The app access token, with which you will be able to access the Mollie API on the merchant's behalf.
                    example: access_...
                  refresh_token:
                    type: string
                    description: |-
                      The refresh token, with which you will be able to retrieve new app access tokens on this endpoint. The
                      refresh token does not expire.
                    example: refresh_...
                  expires_in:
                    type: integer
                    description: |-
                      The number of seconds left before the app access token expires. Be sure to renew your app access token
                      before this reaches zero.
                    example: 3600
                  token_type:
                    type: string
                    description: |-
                      As per OAuth standards, the provided app access token can only be used with `bearer` authentication.

                      Possible values: `bearer`
                    example: bearer
                  scope:
                    type: string
                    description: A space-separated list of [permissions](https://docs.mollie.com/docs/permissions).
                    example: payments.read
              examples:
                oauth-generate-tokens:
                  summary: The newly generated access token and refresh token
                  value:
                    access_token: access_46EUJ6x8jFJZZeAvhNH4JVey6qVpqR
                    refresh_token: refresh_FS4xc3Mgci2xQ5s5DzaLXh3HhaTZOP
                    expires_in: 3600
                    token_type: bearer
                    scope: payments.read organizations.read
        '429':
          $ref: '#/components/responses/429-rate-limit'
      x-readme:
        code-samples:
          - language: shell
            code: |-
              # Create tokens request
              curl -X POST https://api.mollie.com/oauth2/tokens \
                  -u app_j9Pakf56Ajta6Y65AkdTtAv:S5lTvMDTjl95HGnwYmsszDtbMp8QBE2lLcRJbD7I
                  -d "grant_type=authorization_code" \
                  -d "code=auth_IbyEKUrXmGW1J8hPg6Ciyo4aaU6OAu"

              # Refresh tokens request
              curl -X POST https://api.mollie.com/oauth2/tokens \
                  -u app_j9Pakf56Ajta6Y65AkdTtAv:S5lTvMDTjl95HGnwYmsszDtbMp8QBE2lLcRJbD7I
                  -d "grant_type=refresh_token" \
                  -d "refresh_token=refresh_FS4xc3Mgci2xQ5s5DzaLXh3HhaTZOP"
          - language: php
            install: composer require mollie/oauth2-mollie-php
            code: ''
          - language: node
            code: ''
          - language: python
            code: ''
          - language: ruby
            code: ''
      x-speakeasy-group: oauth
    delete:
      security:
        - basicAuth: []
      summary: Revoke tokens
      x-speakeasy-name-override: revoke
      tags:
        - OAuth API
      operationId: oauth-revoke-tokens
      description: |-
        Revoke an access token or refresh token. Once revoked, the token can no longer be used.

        Revoking a refresh token revokes all access tokens that were created using the same authorization.

        This endpoint can only be accessed using **OAuth client credentials**.
      parameters:
        - name: Authorization
          description: |-
            The OAuth client ID and client secret as
            [basic access credentials](https://en.wikipedia.org/wiki/Basic_access_authentication).

            Pseudo code: `"Basic " + toBase64(client_id + ":" + client_secret)`

            For example: `Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`
          in: header
          schema:
            type: string
          required: true
        - name: Content-Type
          description: This header value must match the type of the request body you send, if there is a request body. For example, if you send the request body as JSON, this header must be set to `application/json`, and if you send it as form encoded you must set this header to `application/x-www-form-urlencoded`.
          in: header
          schema:
            type: string
          required: false
        - $ref: '#/components/parameters/idempotency-key'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - token_type_hint
                - token
              properties:
                token_type_hint:
                  $ref: '#/components/schemas/oauth-token-type-hint'
                  description: The type of token you want to revoke.
                token:
                  type: string
                  description: The token you want to revoke.
                  example: access_...
      responses:
        '204':
          description: An empty response.
        '429':
          $ref: '#/components/responses/429-rate-limit'
      x-readme:
        code-samples:
          - language: shell
            code: |-
              curl -X DELETE https://api.mollie.com/oauth2/tokens \
                  -u app_j9Pakf56Ajta6Y65AkdTtAv:S5lTvMDTjl95HGnwYmsszDtbMp8QBE2lLcRJbD7I
                  -d "token_type_hint=refresh_token" \
                  -d "token=refresh_FS4xc3Mgci2xQ5s5DzaLXh3HhaTZOP"
          - language: php
            install: composer require mollie/oauth2-mollie-php
            code: ''
          - language: node
            code: ''
          - language: python
            code: ''
          - language: ruby
            code: ''
      x-speakeasy-group: oauth
  /v2/balances:
    get:
      summary: List balances
      x-speakeasy-name-override: list
      tags:
        - Balances API
      operationId: list-balances
      security:
        - advancedAccessToken:
            - balances.read
        - oAuth:
            - balances.read
      description: |-
        Retrieve a list of the organization's balances, including the primary balance.

        The results are paginated.
      parameters:
        - name: currency
          description: 'Optionally only return balances with the given currency. For example: `EUR`.'
          in: query
          schema:
            type:
              - string
              - 'null'
            example: EUR
        - $ref: '#/components/parameters/list-from'
          schema:
            type: string
            example: bal_gVMhHKqSSRYJyPsuoPNFH
        - $ref: '#/components/parameters/list-limit'
        - $ref: '#/components/parameters/oauth-testmode'
        - $ref: '#/components/parameters/idempotency-key'
      responses:
        '200':
          description: |-
            A list of balance objects. For a complete reference of the balance
            object, refer to the [Get balance endpoint](get-balance) documentation.
          content:
            application/hal+json:
              schema:
                type: object
                required:
                  - count
                  - _embedded
                  - _links
                properties:
                  count:
                    $ref: '#/components/schemas/list-count'
                  _embedded:
                    type: object
                    required:
                      - balances
                    properties:
                      balances:
                        description: |-
                          An array of balance objects. For a complete reference of
                          the balance object, refer to the [Get balance endpoint](get-balance) documentation.
                        type: array
                        items:
                          $ref: '#/components/schemas/list-entity-balance'
                  _links:
                    $ref: '#/components/schemas/list-links'
              examples:
                list-balances-200-1:
                  summary: A list of balance objects
                  value:
                    count: 1
                    _embedded:
                      balances:
                        - resource: balance
                          id: bal_gVMhHKqSSRYJyPsuoPNFH
                          mode: live
                          createdAt: '2022-07-12T09:50:21+00:00'
                          currency: EUR
                          description: Primary balance
                          availableAmount:
                            currency: EUR
                            value: '905.25'
                          pendingAmount:
                            currency: EUR
                            value: '0.00'
                          transferFrequency: daily
                          transferThreshold:
                            currency: EUR
                            value: '5.00'
                          transferReference: RF12-3456-7890-1234
                          transferDestination:
                            type: bank-account
                            beneficiaryName: John Doe
                            bankAccount: NL55INGB0000000000
                          status: active
                          _links:
                            self:
                              href: '...'
                              type: application/hal+json
                    _links:
                      self:
                        href: '...'
                        type: application/hal+json
                      previous: null
                      next:
                        href: https://api.mollie.com/v2/balances?from=bal_gVMhHKqSSRYJyPsuoPABC&limit=5
                        type: application/hal+json
                      documentation:
                        href: '...'
                        type: text/html
                list-balances-200-2:
                  summary: List balances
                  value:
                    _embedded:
                      balances:
                        - resource: balance
                          id: bal_xRc8rYKTwJeENdvKouVJH
                          mode: live
                          createdAt: '2022-07-12T09:50:21+00:00'
                          description: Balance 1
                          currency: CHF
                          availableAmount:
                            value: '0.00'
                            currency: CHF
                          pendingAmount:
                            value: '0.00'
                            currency: CHF
                          status: active
                          transferFrequency: monthly
                          transferThreshold:
                            value: '50.00'
                            currency: CHF
                          transferReference: null
                          transferDestination:
                            type: bank-account
                            beneficiaryName: John Doe
                            bankAccount: NL55INGB0000000000
                          _links:
                            self:
                              href: '...'
                              type: application/hal+json
                        - resource: balance
                          id: bal_CKjKwQdjCwCSArXFAJNFH
                          mode: live
                          createdAt: '2019-12-06T10:09:32+00:00'
                          description: Balance 2
                          currency: EUR
                          availableAmount:
                            value: '3.82'
                            currency: EUR
                          pendingAmount:
                            value: '5.41'
                            currency: EUR
                          status: active
                          transferFrequency: daily
                          transferThreshold:
                            value: '5.00'
                            currency: EUR
                          transferReference: null
                          transferDestination:
                            type: bank-account
                            beneficiaryName: John Doe
                            bankAccount: '***'
                          _links:
                            self:
                              href: '...'
                              type: application/hal+json
                    count: 2
                    _links:
                      documentation:
                        href: '...'
                        type: text/html
                      self:
                        href: '...'
                        type: application/hal+json
                      previous: null
                      next: null
        '400':
          $ref: '#/components/responses/400-invalid-list-request'
        '404':
          $ref: '#/components/responses/404-invalid-id'
        '429':
          $ref: '#/components/responses/429-rate-limit'
      x-speakeasy-pagination:
        type: url
        outputs:
          nextUrl: $._links.next.href
      x-readme:
        code-samples:
          - language: shell
            code: |-
              curl -X GET https://api.mollie.com/v2/balances \
                  -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"
          - language: php
            code: |-
              <?php
              use Mollie\Api\Http\Requests\GetPaginatedBalanceRequest;

              $mollie = new \Mollie\Api\MollieApiClient();
              $mollie->setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ");

              $balances = $mollie->send(
                  new GetPaginatedBalanceRequest()
              );
          - language: node
            code: ''
          - language: python
            code: |-
              from mollie.api.client import Client

              mollie_client = Client()
              mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ")

              balances = mollie_client.balances.list()
          - language: ruby
            code: |-
              require 'mollie-api-ruby'

              Mollie::Client.configure do |config|
                config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'
              end

              balances = Mollie::Balance.all
      x-speakeasy-group: balances
  /v2/balances/{balanceId}:
    parameters:
      - $ref: '#/components/parameters/parent-balance-id'
    get:
      summary: Get balance
      x-speakeasy-name-override: get
      tags:
        - Balances API
      operationId: get-balance
      security:
        - advancedAccessToken:
            - balances.read
        - oAuth:
            - balances.read
      description: |-
        When processing payments with Mollie, we put all pending funds — usually
        minus Mollie fees — on a balance. Once you have linked a bank account to your Mollie account, we can pay out your
        balance towards this bank account.

        With the Balances API you can retrieve your current balance. The response
        includes two amounts:

        * The *pending amount*. These are payments that have been marked as `paid`,
        but are not yet available on your balance.
        * The *available amount*. This is the amount that you can get paid out to
        your bank account, or use for refunds.

        With instant payment methods like iDEAL, payments are moved to the available
        balance instantly. With slower payment methods, like credit card for example, it can take a few days before the
        funds are available on your balance. These funds will be shown under the *pending amount* in the meanwhile.
      parameters:
        - $ref: '#/components/parameters/oauth-testmode'
        - $ref: '#/components/parameters/idempotency-key'
      responses:
        '200':
          description: The balance object.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/entity-balance'
              examples:
                get-balance-200-1:
                  summary: The balance object
                  value:
                    resource: balance
                    id: bal_gVMhHKqSSRYJyPsuoPNFH
                    mode: live
                    createdAt: '2019-12-06T10:09:32+00:00'
                    currency: EUR
                    description: Primary balance
                    availableAmount:
                      currency: EUR
                      value: '905.25'
                    pendingAmount:
                      currency: EUR
                      value: '0.00'
                    transferFrequency: daily
                    transferThreshold:
                      currency: EUR
                      value: '5.00'
                    transferReference: RF12-3456-7890-1234
                    transferDestination:
                      type: bank-account
                      beneficiaryName: John Doe
                      bankAccount: NL55INGB0000000000
                    status: active
                    _links:
                      self:
                        href: '...'
                        type: application/hal+json
                      documentation:
                        href: '...'
                        type: text/html
                get-balance-200-2:
                  summary: Get balance
                  value:
                    resource: balance
                    id: bal_CKjKwQdjCwCSArXFAJNFH
                    mode: live
                    createdAt: '2019-12-06T10:09:32+00:00'
                    description: Primary balance
                    currency: EUR
                    availableAmount:
                      value: '3.82'
                      currency: EUR
                    pendingAmount:
                      value: '5.41'
                      currency: EUR
                    status: active
                    transferFrequency: daily
                    transferThreshold:
                      value: '5.00'
                      currency: EUR
                    transferReference: null
                    transferDestination:
                      type: bank-account
                      beneficiaryName: John Doe
                      bankAccount: NL55INGB0000000000
                    _links:
                      self:
                        href: '...'
                        type: application/hal+json
                      documentation:
                        href: '...'
                        type: text/html
        '404':
          $ref: '#/components/responses/404-invalid-id'
        '429':
          $ref: '#/components/responses/429-rate-limit'
      x-readme:
        code-samples:
          - language: shell
            code: |-
              curl -X GET https://api.mollie.com/v2/balances/bal_gVMhHKqSSRYJyPsuoPNFH \
                  -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"
          - language: php
            code: |-
              <?php
              use Mollie\Api\Http\Requests\GetBalanceRequest;

              $mollie = new \Mollie\Api\MollieApiClient();
              $mollie->setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ");

              $balance = $mollie->send(
                  new GetBalanceRequest("bal_gVMhHKqSSRYJyPsuoPNFH")
              );
          - language: node
            code: ''
          - language: python
            code: |-
              from mollie.api.client import Client

              mollie_client = Client()
              mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ")

              balance = mollie_client.balances.get("bal_gVMhHKqSSRYJyPsuoPNFH")
          - language: ruby
            code: |-
              require 'mollie-api-ruby'

              Mollie::Client.configure do |config|
                config.api_key = 'access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ'
              end

              balance = Mollie::Balance.get('bal_gVMhHKqSSRYJyPsuoPNFH')
      x-speakeasy-group: balances
  /v2/balances/primary:
    get:
      summary: Get primary balance
      x-speakeasy-name-override: get-primary
      tags:
        - Balances API
      operationId: get-primary-balance
      security:
        - advancedAccessToken:
            - balances.read
        - oAuth:
            - balances.read
      description: |-
        Retrieve the primary balance. This is the balance of your account's primary
        currency, where all payments are settled to by default.

        This endpoint is a convenient alias of the [Get balance](get-balance)
        endpoint.
      responses:
        '200':
          description: The primary balance object.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/entity-balance'
              examples:
                get-primary-balance-200-1:
                  summary: Get primary balance
                  value:
                    resource: balance
                    id: bal_CKjKwQdjCwCSArXFAJNFH
                    mode: live
                    createdAt: '2019-12-06T10:09:32+00:00'
                    description: Primary balance
                    currency: EUR
                    availableAmount:
                      value: '3.82'
                      currency: EUR
                    pendingAmount:
                      value: '5.41'
                      currency: EUR
                    status: active
                    transferFrequency: daily
                    transferThreshold:
                      value: '5.00'
                      currency: EUR
                    transferReference: null
                    transferDestination:
                      type: bank-account
                      beneficiaryName: John Doe
                      bankAccount: NL55INGB0000000000
                    _links:
                      self:
                        href: '...'
                        type: application/hal+json
                      documentation:
                        href: '...'
                        type: text/html
        '429':
          $ref: '#/components/responses/429-rate-limit'
      x-readme:
        code-samples:
          - language: shell
            code: |-
              curl -X GET https://api.mollie.com/v2/balances/primary \
                  -H "Authorization: Bearer access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ"
          - language: php
            code: |-
              <?php
              use Mollie\Api\Http\Requests\GetBalanceRequest;

              $mollie = new \Mollie\Api\MollieApiClient();
              $mollie->setAccessToken("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ");

              $balance = $mollie->send(
                  new GetBalanceRequest("primary")
              );
          - language: node
            code: ''
          - language: python
            code: |-
              from mollie.api.client import Client

              mollie_client = Client()
              mollie_client.set_access_token("access_Wwvu7egPcJLLJ9Kb7J632x8wJ2zMeJ")

              balance = mollie_client.balances.get("primary")
          - language: ruby
            code: ''
      x-speakeasy-group: balances
      parameters:
        - $ref: '#/components/parameters/idempotency-key'
  /v2/balances/{balanceId}/report:
    parameters:
      - $ref: '#/components/parameters/parent-balance-id'
    get:
      summary: Get balance report
      x-speakeasy-name-override: get-report
      tags:
        - Balances API
      operationId: get-balance-report
      security:
        - advancedAccessToken:
            - balance-reports.read
        - oAuth:
            - balance-reports.read
      description: |-
        Retrieve a summarized report for all transactions on a given balance within a given timeframe.

        The API also provides a detailed report on all 'prepayments' for Mollie fees that were deducted from your balance
        during the reported period, ahead of your Mollie invoice.

        The alias `primary` can be used instead of the balance ID to refer to the
        organization's primary balance.
      parameters:
        - name: from
          description: |-
            The start date of the report, in `YYYY-MM-DD` format. The from date is
            'inclusive', and in Central European Time. This means a report with for example `from=2024-01-01` will
            include transactions from 2024-01-01 0:00:00 CET and onwards.
          in: query
          schema:
            type: string
            example: '2024-01-01'
          required: true
        - name: until
          description: |-
            The end date of the report, in `YYYY-MM-DD` format. The until date is 'exclusive', and in Central European Time.
            This means a report with for example `until=2024-02-01` will include transactions up until
            2024-01-31 23:59:59 CET.
          in: query
          schema:
            type: string
            example: '2024-02-01'
          required: true
        - name: grouping
          description: |-
            You can retrieve reports in two different formats. With the `status-balances` format, transactions are grouped
            by status (e.g. `pending`, `available`), then by transaction type, and then by other sub-groupings where
            available (e.g. payment method).

            With the `transaction-categories` format, transactions are grouped by
            transaction type, then by status, and then again by other sub-groupings where available.
          in: query
          schema:
            $ref: '#/components/schemas/balance-report-grouping'
        - $ref: '#/components/parameters/oauth-testmode'
        - $ref: '#/components/parameters/idempotency-key'
      responses:
        '200':
          description: The balance report object.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/entity-balance-report'
              examples:
                get-balance-report-200-1:
                  summary: The balance report object
                  value:
                    resource: balance-report
                    balanceId: bal_gVMhHKqSSRYJyPsuoPNFH
                    timeZone: Europe/

# --- truncated at 32 KB (1855 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mollie/refs/heads/main/openapi/mollie-openapi-original.yml