> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List movements

> Lists the movements of one of your accounts for the mode (`live` or `test`) of the API key used. Filter by `direction` and `resource_id`, or by date range with `since` and `until`. The list is paginated. Use the `starting_after`, `ending_before`, and `limit` query parameters to move through the list. The `Link` response header carries the URLs to navigate the paginated list.

**`v2`** · Base URL `https://api.fintoc.com/v2`


## OpenAPI

````yaml reference/pacioli-api.json GET /accounts/{account_id}/movements
openapi: 3.1.0
info:
  title: Fintoc API
  version: v2026-02-01
servers:
  - url: https://api.fintoc.com/v2
security: []
paths:
  /accounts/{account_id}/movements:
    get:
      tags:
        - Movements
      summary: List movements
      description: >-
        Lists the movements of one of your accounts for the mode (`live` or
        `test`) of the API key used. Filter by `direction` and `resource_id`, or
        by date range with `since` and `until`. The list is paginated. Use the
        `starting_after`, `ending_before`, and `limit` query parameters to move
        through the list. The `Link` response header carries the URLs to
        navigate the paginated list.
      operationId: movements-list
      parameters:
        - name: account_id
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier of the account.
        - name: direction
          in: query
          required: false
          schema:
            type: string
            enum:
              - inbound
              - outbound
          description: >-
            Direction of the movements to return. One of `inbound` (money
            entered the account) or `outbound` (money left the account).
        - name: since
          in: query
          required: false
          schema:
            type: string
            format: date-time
            example: '2026-01-01T00:00:00Z'
          description: >-
            Lower bound for the transaction date. Returns movements with a
            `transaction_date` on or after this ISO 8601 datetime in UTC.
        - name: until
          in: query
          required: false
          schema:
            type: string
            format: date-time
            example: '2026-03-31T23:59:59Z'
          description: >-
            Upper bound for the transaction date. Returns movements with a
            `transaction_date` on or before this ISO 8601 datetime in UTC.
        - name: resource_id
          in: query
          required: false
          schema:
            type: string
            example: tr_2sP9cR4yJwM6nXqZaNe8UgHdSt0
          description: >-
            Identifier of the resource that originated the movement. Returns
            movements whose `resource_id` matches, such as a specific transfer.
        - name: starting_after
          in: query
          required: false
          schema:
            type: string
            example: mov_2rNxBkOrlHoOYsZTyQYhA0o8Ek0
          description: >-
            Cursor that fetches the next page of movements. Use the ID of the
            last movement from the current page.
        - name: ending_before
          in: query
          required: false
          schema:
            type: string
            example: mov_2rNxBkOrlHoOYsZTyQYhA0o8Ek0
          description: >-
            Cursor that fetches the previous page of movements. Use the ID of
            the first movement from the current page.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            example: 50
          description: >-
            Maximum number of movements to return per page. Ranges from `1` to
            `300`. Defaults to `30`.
      responses:
        '200':
          description: List of movements for the account.
          headers:
            Link:
              schema:
                type: string
              description: URLs to navigate the paginated list, as defined by RFC 8288.
          content:
            application/json:
              examples:
                movements_list:
                  value:
                    - id: mov_2daFu0zqqDtZGJaSi2TGI2Mm1nN
                      object: movement
                      account_id: acc_2rN1bQ8xHvK3mWpYzLd7TfGcRsE
                      amount: 50000
                      balance: 1050000
                      currency: MXN
                      direction: inbound
                      mode: test
                      resource_id: tr_2sP9cR4yJwM6nXqZaNe8UgHdSt0
                      return_pair_id: null
                      transaction_date: '2026-03-01T12:00:00.000Z'
                      type: transfer
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/movement'
        '401':
          description: Invalid or missing API key.
          content:
            application/json:
              examples:
                invalid_api_key:
                  value:
                    error:
                      type: authentication_error
                      code: invalid_api_key
                      message: 'Invalid API Key: invalid-*oken'
              schema:
                $ref: '#/components/schemas/error_object'
        '404':
          description: No account with the given ID exists in your organization.
          content:
            application/json:
              examples:
                not_found:
                  value:
                    error:
                      code: missing_resource
                      message: 'Account not found: acc_2sM4dT7yJwN9xQpZbLe6UgHcRf0'
              schema:
                $ref: '#/components/schemas/error_object'
      security:
        - api_key: []
components:
  schemas:
    movement:
      type: object
      description: >-
        A movement is a single change to the balance of one of your accounts.
        Fintoc records a movement whenever money enters or leaves the account,
        for example a transfer, a return, or a fee. Use the `direction` field to
        tell whether money entered or left the account, and `balance` for the
        resulting balance.
      properties:
        id:
          type: string
          description: Unique identifier of the movement.
          example: mov_2daFu0zqqDtZGJaSi2TGI2Mm1nN
        object:
          const: movement
          description: Type of the object. Always `movement`.
        account_id:
          type: string
          description: Identifier of the account the movement belongs to.
          example: acc_2rN1bQ8xHvK3mWpYzLd7TfGcRsE
        amount:
          type: integer
          description: >-
            Amount of the movement, in the smallest unit of the currency. Use
            the `direction` field to tell whether money entered or left the
            account.
          example: 50000
        balance:
          type: integer
          description: >-
            Account balance right after the movement, in the smallest unit of
            the currency.
          example: 1050000
        currency:
          type: string
          enum:
            - CLP
            - MXN
          description: Currency of the movement. One of `CLP`, `MXN`.
          example: MXN
        direction:
          type: string
          enum:
            - inbound
            - outbound
          description: Whether money entered (`inbound`) or left (`outbound`) the account.
          example: inbound
        mode:
          type: string
          enum:
            - live
            - test
          description: Whether the movement is `live` or `test` data.
          example: test
        resource_id:
          type:
            - string
            - 'null'
          description: >-
            Identifier of the resource that originated the movement, for
            example, a transfer. `null` when no resource originated the
            movement.
          example: tr_2sP9cR4yJwM6nXqZaNe8UgHdSt0
        return_pair_id:
          type:
            - string
            - 'null'
          description: >-
            Identifier of the other movement in a reversal pair, set on both the
            reversed movement and the movement that reverses it (for example, a
            `transfer_return`). `null` when the movement is not part of a
            reversal pair.
          example: null
        transaction_date:
          type: string
          format: date-time
          description: >-
            Date and time Fintoc recorded the movement in the account, as an ISO
            8601 datetime in UTC.
          example: '2026-03-01T12:00:00.000Z'
        type:
          type: string
          enum:
            - transfer
            - transfer_return
            - fee
            - check
            - compensation
            - other
          description: >-
            Kind of movement. One of `transfer`, `transfer_return` (the reversal
            of a previous transfer), `fee`, `check`, `compensation`, or `other`.
          example: transfer
      required:
        - id
        - object
        - account_id
        - amount
        - balance
        - currency
        - direction
        - mode
        - resource_id
        - return_pair_id
        - transaction_date
        - type
    error_object:
      type: object
      properties:
        error:
          type: object
          description: Details of the error that caused the request to fail.
          properties:
            code:
              type: string
              description: >-
                Machine-readable code identifying the specific error, for
                example `invalid_request`.
              example: invalid_request
            doc_url:
              type: string
              description: >-
                URL of a documentation page with more details about the error.
                Not returned by every error.
              example: https://docs.fintoc.com/reference/errors
            message:
              type: string
              description: Human-readable message describing the error.
              example: 'Missing required param: account_id'
            param:
              type:
                - string
                - 'null'
              description: >-
                Name of the request parameter that caused the error. Not
                returned by every error.
              example: account_id
            type:
              type: string
              description: >-
                Category of the error, for example `invalid_request_error` or
                `authentication_error`. Not returned by every error.
              example: invalid_request_error
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header

````