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

> Returns a paginated list of the movements of an account, using the link's `link_token` to authenticate the request. By default the endpoint returns only confirmed movements; use `confirmed_only=false` to include every status.

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

<Info>
  **Using the `per_page` and `page` parameters**

  If you are missing movements in our API, try adjusting the `per_page` parameter to obtain more movements in your requests. Remember that the default value for this parameter is 30 and the maximum value is 300.

  Also, if you have more movements than the `per_page` value, try iterating through our pages using the `page` parameter. This way you can check all the pages of movements stored.
</Info>

<br />


## OpenAPI

````yaml reference/fintoc-api.json GET /accounts/{id}/movements
openapi: 3.1.0
info:
  title: fintoc-api
  version: v2026-02-01
servers:
  - url: https://api.fintoc.com/v1
security: []
paths:
  /accounts/{id}/movements:
    get:
      tags:
        - Movements
      summary: List movements
      description: >-
        Returns a paginated list of the movements of an account, using the
        link's `link_token` to authenticate the request. By default the endpoint
        returns only confirmed movements; use `confirmed_only=false` to include
        every status.
      operationId: movements-list
      parameters:
        - name: id
          in: path
          description: The `id` of the account that holds the movements to list.
          required: true
          schema:
            type: string
        - name: link_token
          in: query
          required: true
          schema:
            type: string
            example: link_Q0xVGPvijElLRMwE_token_FhsFVurz5q5FycHA5xxhTpzX
          description: >-
            The `link_token` of the link that holds the account, obtained when
            you exchanged the link.
        - name: since
          in: query
          required: false
          schema:
            type: string
            format: date
          description: >-
            ISO 8601 date. If present, Fintoc returns only movements with
            `post_date` on or after `since`.
        - name: until
          in: query
          required: false
          schema:
            type: string
            format: date
          description: >-
            ISO 8601 date. If present, Fintoc returns only movements with
            `post_date` on or before `until`.
        - name: updated_since
          in: query
          required: false
          schema:
            type: string
            format: date
          description: >-
            ISO 8601 date. If present, Fintoc returns only movements created or
            updated after `updated_since`.
        - name: per_page
          in: query
          required: false
          schema:
            type: string
          description: >-
            Number of movements per page. Defaults to `30`. The maximum is
            `300`.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            format: int32
          description: Page number to retrieve. Starts at `1`.
        - name: confirmed_only
          in: query
          required: false
          schema:
            type: boolean
          description: >-
            Whether to return only confirmed movements. Defaults to `true`. When
            `false`, the endpoint also returns movements with status
            `processing`, `reversed`, and `manually_reversed`.
      responses:
        '200':
          description: >-
            Paginated list of movements. The `Link` and `X-Total-Count` headers
            carry the pagination information.
          headers:
            Link:
              schema:
                type: string
            X-Total-Count:
              schema:
                type: integer
          content:
            application/json:
              examples:
                movements_list:
                  value:
                    - id: mov_BO381oEATXonG6bj
                      object: movement
                      amount: -1717
                      comment: Pago arriendo
                      currency: CLP
                      description: Cargo Seguro Proteccion Bancaria
                      document_number: null
                      pending: false
                      post_date: '2020-04-06T00:00:00.000Z'
                      recipient_account: null
                      reference_id: '123740123'
                      sender_account: null
                      status: confirmed
                      transaction_date: '2020-04-04T02:19:23.000Z'
                      transfer_id: '123740123'
                      type: transfer
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/movement'
        '400':
          description: >-
            Invalid request: the `link_token` is missing or empty, or a date
            filter is not a valid ISO 8601 date.
          content:
            application/json:
              examples:
                invalid_date:
                  value:
                    error:
                      type: invalid_request_error
                      code: invalid_date
                      param: since
                      message: >-
                        Invalid date: invalid-date. You need to provide a date
                        in ISO 8601 format (YYYY-MM-DD)
                      doc_url: https://docs.fintoc.com/reference/errors
              schema:
                $ref: '#/components/schemas/error_object'
        '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'
        '402':
          description: >-
            The organization cannot access the movements product: the trial
            window expired or a payment is pending.
          content:
            application/json:
              examples:
                payment_required:
                  value:
                    error:
                      type: api_error
                      code: payment_required
                      message: >-
                        Your trial window expired or you have a pending payment.
                        If you think that this is an error, send an email to
                        soporte@fintoc.com. To catch up on payments, email
                        billing@fintoc.com.
                      doc_url: https://docs.fintoc.com/reference/errors
              schema:
                $ref: '#/components/schemas/error_object'
        '403':
          description: >-
            The `link_token` is invalid or belongs to a different mode than the
            API key.
          content:
            application/json:
              examples:
                invalid_link_token:
                  value:
                    error:
                      type: invalid_request_error
                      code: invalid_link_token
                      param: link_token
                      message: >-
                        Invalid access token for link:
                        link_nMNejK7BT8oGbvO4_token_****
                      doc_url: https://docs.fintoc.com/reference/errors
              schema:
                $ref: '#/components/schemas/error_object'
        '404':
          description: The account does not exist or does not belong to the link.
          content:
            application/json:
              examples:
                account_not_found:
                  value:
                    error:
                      type: invalid_request_error
                      code: missing_resource
                      param: id
                      message: 'No such account: acc_nMNejK7BT8oGbvO4'
                      doc_url: https://docs.fintoc.com/reference/errors
              schema:
                $ref: '#/components/schemas/error_object'
      security:
        - api_key: []
components:
  schemas:
    movement:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the movement.
          example: mov_BO381oEATXonG6bj
        object:
          const: movement
          description: Type of the object. Always `movement`.
        amount:
          type: integer
          description: >-
            Amount of the movement, in the smallest unit of the currency (CLP
            has no decimals, so the amount is in pesos). Negative for outflows.
          example: -1717
        comment:
          type:
            - string
            - 'null'
          description: >-
            Comment the sender attached to the movement, as registered at the
            institution.
          example: Pago arriendo
        currency:
          type: string
          pattern: ^[A-Z]{3}$
          description: Three-letter ISO 4217 currency code of the movement.
          example: CLP
        description:
          type: string
          description: Description of the movement, as registered at the institution.
          example: Cargo Seguro Proteccion Bancaria
        document_number:
          type:
            - string
            - 'null'
          description: >-
            Number of the document associated to the movement (for example, the
            check number). `null` if the movement has no associated document.
          example: '4527230'
        pending:
          type: boolean
          description: Whether the movement is pending consolidation by the institution.
          example: false
        post_date:
          type: string
          format: date-time
          description: >-
            ISO 8601 timestamp of when the institution consolidated the
            movement.
          example: '2020-04-06T00:00:00.000Z'
        recipient_account:
          anyOf:
            - type: 'null'
            - $ref: '#/components/schemas/transfer_account'
          description: >-
            Account that received the transfer. Only present for transfers;
            `null` for every other movement type.
        reference_id:
          type:
            - string
            - 'null'
          description: >-
            Identifier of the movement at the institution: the `transfer_id` if
            present, otherwise the `document_number`.
          example: '123740123'
        sender_account:
          anyOf:
            - type: 'null'
            - $ref: '#/components/schemas/transfer_account'
          description: >-
            Account that sent the transfer. Only present for transfers; `null`
            for every other movement type.
        status:
          type: string
          enum:
            - confirmed
            - reversed
            - processing
            - manually_reversed
          description: >-
            Status of the movement. `processing` means Fintoc is verifying
            whether the institution duplicated or reversed the movement.
          example: confirmed
        transaction_date:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            ISO 8601 timestamp of when the movement happened, with time
            precision. `null` when the institution only reports the `post_date`.
          example: '2020-04-04T02:19:23.000Z'
        transfer_id:
          type:
            - string
            - 'null'
          description: >-
            Identifier of the transfer at the institution. `null` if the
            movement is not a transfer.
          example: '123740123'
        type:
          type: string
          enum:
            - check
            - transfer
            - other
          description: Type of the movement.
          example: transfer
      required:
        - id
        - object
        - amount
        - comment
        - currency
        - description
        - document_number
        - pending
        - post_date
        - recipient_account
        - reference_id
        - sender_account
        - status
        - transaction_date
        - transfer_id
        - 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_api_key`. Not returned by every error.
              example: invalid_api_key
            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: 'Invalid API Key: invalid-*oken'
            param:
              type:
                - string
                - 'null'
              description: >-
                Name of the request parameter that caused the error. `null` when
                the error cannot be tied to a single parameter, and not returned
                by every error.
              example: amount
            type:
              type: string
              description: >-
                Category of the error, for example `invalid_request_error`,
                `authentication_error`, or `api_error`.
              example: invalid_request_error
          required:
            - type
            - message
    transfer_account:
      type:
        - object
        - 'null'
      properties:
        holder_id:
          type:
            - string
            - 'null'
          description: >-
            Tax identifier of the counterpart account holder, without dots or
            hyphens (RUT in Chile, RFC in Mexico).
          example: '111111111'
        holder_name:
          type:
            - string
            - 'null'
          description: >-
            Name of the counterpart account holder, as registered at the
            institution.
          example: Jon Snow
        institution:
          anyOf:
            - $ref: '#/components/schemas/institution'
            - type: 'null'
          description: >-
            Institution of the counterpart account. `null` when Fintoc cannot
            identify the institution.
        number:
          type:
            - string
            - 'null'
          description: Number of the counterpart account.
          example: '9530516286'
      required:
        - holder_id
        - holder_name
        - number
        - institution
    institution:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the institution.
          example: cl_banco_de_chile
        country:
          type: string
          description: ISO 3166-1 alpha-2 code of the country of the institution.
          example: cl
        name:
          type: string
          description: Name of the institution.
          example: Banco de Chile
      required:
        - id
        - country
        - name
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header

````