---
title: "List account movements"
method: GET
path: "/accounts/{account_id}/movements"
tags: ["Accounts"]
---

# List account movements

`GET /accounts/{account_id}/movements`

Retrieves the history of each itemized movement that has been applied to an account to lead up to its current balance.

## Path parameters

- `account_id` string, required

## Query parameters

- `page` string
- `movement_timestamp[gt]` number
- `movement_timestamp[gte]` number
- `movement_timestamp[e]` number
- `movement_timestamp[lt]` number
- `movement_timestamp[lte]` number
- `parent_link_id` string

## Headers

- `X-SCX-SIGNED` string, required
- `X-SCX-TIMESTAMP` string, required

## Response `200`

Successfully retrieved paginated list of account movements with optional filters: page, movement_timestamp filters, parent_link_id.

- GetAccountMovementsResponse — Response schema for retrieving account movements information.
  - `message` AccountMovementsEntity[]
    - `order_id` number — Sequence order of the movement within its run. Only present when enabled for the requesting platform.
    - `run_id` string — A unique ID for the run that produced this movement.
    - `movement_timestamp` number — Unix timestamp in milliseconds indicating when the movement was applied.
    - `movement_id` string, uuid — A unique ID for the specific account movement.
    - `movement_type` 'initial_margin' | 'deposit' | 'execution_fee' | 'final_settlement' | 'final_settlement_default' | 'final_settlement_default_fallback' | 'final_settlement_default_partial' | 'final_settlement_outstanding' | 'interest_payment' | 'collateralize_loan' | 'loan_collateral_return' | 'network_fee' | 'otc_final_settlement' | 'principal_swap' | 'repayment' | 'transfer' | 'variation_margin' | 'variation_margin_call' | 'withdrawal' | 'withdrawal_confirmed' | 'withdrawal_pending' | 'commission' | 'bank_fee' | 'transaction_fee' — The type of movement.
    - `trade_id` string, uuid, nullable — Unique identifier of the trade or loan that resulted in the movement, when the movement was due to a trade or loan. Equal to the `trade_id` field returned by the `/trades` endpoint. Returns null when the movement is not trade-related.
    - `deposit_reference_id` string, nullable — External identifier associated with the deposit, when the movement was due to a deposit. Equal to the `reference_id` field returned by the `/deposits` endpoint. Returns null when the movement is not a deposit.
    - `withdrawal_request_id` string, uuid, nullable — Withdrawal request ID, when the movement was due to a withdrawal. Equal to the `id` field returned by the `/withdrawals/requests` endpoint. Returns null when the movement is not a withdrawal.
    - `change` string — Signed decimal change to the account balance due to this movement, expressed as a string to preserve precision.
    - `parent_link_id` string, nullable — Unique identifier of the parent transaction that produced this movement (e.g. the trade ID for trade-settlement movements). Returns null when the movement has no linked parent transaction.
    - `origin` 'null' | 'rest_api' | 'sdk' | 'secondary', nullable — Indicates how the movement was initiated: via the REST API, SDK, or Secondary Portal. Returns null for movements without a recorded origin (e.g. automated system-generated movements).
  - `page` number
  - `total_pages` number

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/zerohash/apis/zerohash-api.md) · [All operations](https://skmtc.net/zerohash/apis/zerohash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerohash/zerohash-api/revisions/8b647d934363/schema)
