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

# Listar movimientos de una cuenta

> Paginado por offset/per_page. Siempre excluye movimientos internos (`status` duplicated/reversed). Por default además oculta los `pending` (ej. no-facturados de TC): pasá `confirmed_only=false` para incluirlos (vienen con `pending=true`; mostralos con badge "no facturado"). Para sync incremental usá `synced_since` (cursor monótono forward) en vez de `since` (que filtra por posted_at, puede ser retroactivo). Pasá `include_removals=true` (junto con `synced_since`) para recibir, por el MISMO feed, las bajas por dedup como filas `status="duplicated"` con `canonical_id` — así el consumidor las borra/migra sin inferir por ausencia.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/accounts/{accountId}/movements
openapi: 3.1.0
info:
  title: Rail API
  description: >-
    Agregador bancario chileno read-only (Santander, Banco de Chile, BCI,
    BancoEstado, Banco Falabella, BICE, Itaú). API REST para integrar lectura de
    cuentas y movimientos en aplicaciones B2B.
  version: 1.0.0
  contact:
    name: Rail Soporte
    url: https://docs.rail.cl
    email: soporte@rail.cl
  license:
    name: Propietaria
servers:
  - url: https://api.rail.cl
    description: Production
  - url: http://localhost:3100
    description: Local dev
security:
  - ApiKeyAuth: []
tags:
  - name: Links
    description: Conexiones de usuarios a bancos (crear, listar, eliminar).
  - name: Accounts
    description: Cuentas sincronizadas desde el banco (saldos, productos).
  - name: Movements
    description: Movimientos / transacciones por cuenta con paginación.
  - name: Refresh Intents
    description: Sync on-demand con backoff y MFA async.
  - name: Widget
    description: Tokens efímeros (widget_token, exchange_token) para flujo white-label.
  - name: Webhooks
    description: Eventos asíncronos con HMAC y reintentos exponenciales.
  - name: Events
    description: Audit log inmutable de eventos.
  - name: API Keys
    description: Emisión y rotación de claves sk_/pk_ test/live.
  - name: Admin
    description: Operaciones internas (pause global, audit). Solo admins.
  - name: Dashboard
    description: Endpoints consumidos por dashboard.rail.cl (JWT-only).
  - name: Health
    description: Liveness probe (sin auth).
paths:
  /v1/accounts/{accountId}/movements:
    get:
      tags:
        - Movements
      summary: Listar movimientos de una cuenta
      description: >-
        Paginado por offset/per_page. Siempre excluye movimientos internos
        (`status` duplicated/reversed). Por default además oculta los `pending`
        (ej. no-facturados de TC): pasá `confirmed_only=false` para incluirlos
        (vienen con `pending=true`; mostralos con badge "no facturado"). Para
        sync incremental usá `synced_since` (cursor monótono forward) en vez de
        `since` (que filtra por posted_at, puede ser retroactivo). Pasá
        `include_removals=true` (junto con `synced_since`) para recibir, por el
        MISMO feed, las bajas por dedup como filas `status="duplicated"` con
        `canonical_id` — así el consumidor las borra/migra sin inferir por
        ausencia.
      parameters:
        - schema:
            type: string
          in: query
          name: since
          required: false
        - schema:
            type: string
          in: query
          name: until
          required: false
        - schema:
            type: string
          in: query
          name: synced_since
          required: false
        - schema:
            type: integer
            minimum: 1
          in: query
          name: page
          required: false
        - schema:
            type: integer
            minimum: 1
            maximum: 300
          in: query
          name: per_page
          required: false
        - schema:
            anyOf:
              - type: string
                enum:
                  - 'true'
              - type: string
                enum:
                  - 'false'
          in: query
          name: confirmed_only
          required: false
        - schema:
            anyOf:
              - type: string
                enum:
                  - 'true'
              - type: string
                enum:
                  - 'false'
          in: query
          name: include_removals
          required: false
        - schema:
            type: string
          in: path
          name: accountId
          required: true
      responses:
        '200':
          description: Default Response
components:
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: rail_sk_live_* | rail_sk_test_* | rail_pk_*
      description: >-
        API key emitida desde el dashboard. Servidor-a-servidor con sk_,
        browser-to-server con pk_. El prefijo identifica modo (test/live).

````