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

# List cash flow categories

> OAuth scope: `cash_flow_category.read`

Retrieves the full catalog of cash flow categories for the authenticated organization, with their subcategories nested under each parent category.

Use the category and subcategory `id`s to resolve the `cashflow_category.id` and `cashflow_subcategory.id` fields returned on transactions, and to assign categories to transactions via [Assign a cash flow category to transactions](/api-reference/business-api/transactions-statements/cash-flow-categories/assign).




## OpenAPI

````yaml get /v2/cash_flow_categories
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/cash_flow_categories:
    parameters:
      - $ref: '#/components/parameters/X-Qonto-Staging-Token'
    get:
      tags:
        - Cash Flow Categories
      summary: List cash flow categories
      description: >
        OAuth scope: `cash_flow_category.read`


        Retrieves the full catalog of cash flow categories for the authenticated
        organization, with their subcategories nested under each parent
        category.


        Use the category and subcategory `id`s to resolve the
        `cashflow_category.id` and `cashflow_subcategory.id` fields returned on
        transactions, and to assign categories to transactions via [Assign a
        cash flow category to
        transactions](/api-reference/business-api/transactions-statements/cash-flow-categories/assign).
      operationId: listCashFlowCategories
      responses:
        '200':
          description: >-
            Returns the full catalog of cash flow categories for the
            authenticated organization.
          content:
            application/json:
              schema:
                type: object
                properties:
                  cash_flow_categories:
                    type: array
                    items:
                      $ref: '#/components/schemas/Category'
                required:
                  - cash_flow_categories
              examples:
                default:
                  value:
                    cash_flow_categories:
                      - id: 3786f44c-a2e1-472e-870d-4cdb152b33fa
                        name: Suppliers
                        type: CATEGORY_TYPE_OUTFLOW
                        vat_rate: '20'
                        subcategories:
                          - id: 9f3b2c1d-7e8a-4b6c-9d0e-1f2a3b4c5d6e
                            name: Cloud hosting
                            vat_rate: '20'
                      - id: 5c1e9a72-4d3b-4f8e-8a1c-2b6d7e9f0a3b
                        name: Sales
                        type: CATEGORY_TYPE_INFLOW
                        subcategories: []
        '401':
          $ref: '#/components/responses/401-Unauthorized'
        '403':
          $ref: '#/components/responses/403-Forbidden'
        '500':
          $ref: '#/components/responses/500-Internal-Server-Error'
      security:
        - OAuth:
            - cash_flow_category.read
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:
    Category:
      type: object
      description: |-
        A cash flow category. Categories carry a stable `id` that the
        `cashflow_category.id` field on transactions refers to, letting you
        reconcile categories against an external chart of accounts.
      properties:
        id:
          type: string
          description: >-
            Stable identifier of the category. Matches the
            `cashflow_category.id` field returned on transactions.
          example: 3786f44c-a2e1-472e-870d-4cdb152b33fa
        name:
          type: string
          description: Display name of the category.
          example: Suppliers
        type:
          type: string
          description: |-
            Direction of the category:
            - `CATEGORY_TYPE_INFLOW`: money coming in
            - `CATEGORY_TYPE_OUTFLOW`: money going out
          enum:
            - CATEGORY_TYPE_INFLOW
            - CATEGORY_TYPE_OUTFLOW
          example: CATEGORY_TYPE_OUTFLOW
        vat_rate:
          type: string
          description: >-
            VAT rate associated with the category, as a decimal string. Omitted
            when the category has no associated VAT rate.
          example: '20'
        subcategories:
          type: array
          description: >-
            Subcategories nested under this category. Always present; may be
            empty.
          items:
            $ref: '#/components/schemas/Subcategory'
      required:
        - id
        - name
        - type
        - subcategories
    Subcategory:
      type: object
      description: |-
        A cash flow subcategory nested under a parent category. Its `id` matches
        the `cashflow_subcategory.id` field returned on transactions.
      properties:
        id:
          type: string
          description: >-
            Stable identifier of the subcategory. Matches the
            `cashflow_subcategory.id` field returned on transactions.
          example: 9f3b2c1d-7e8a-4b6c-9d0e-1f2a3b4c5d6e
        name:
          type: string
          description: Display name of the subcategory.
          example: Cloud hosting
        vat_rate:
          type: string
          description: >-
            VAT rate associated with the subcategory, as a decimal string.
            Omitted when the subcategory has no associated VAT rate.
          example: '20'
      required:
        - id
        - name
    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
    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.
  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.
    500-Internal-Server-Error:
      description: Returns an internal server error.
  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

````