---
title: "Get a policy-gated account transaction history"
method: GET
path: "/accounts/{id}/transactions"
tags: ["agent"]
---

# Get a policy-gated account transaction history

`GET /accounts/{id}/transactions`

## Request

- Base URL: `https://api.catena.com/v1/agent-api`
- URL: `https://api.catena.com/v1/agent-api/accounts/{id}/transactions`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Query parameters

- `start` string, date-time
- `end` string, date-time
- `limit` integer
- `offset` integer

## Response `200`

Account transaction history

- object
  - `accountId` string, required
  - `transactions` object[], required
    - `id` string, required
    - `type` 'operator-send' | 'operator-transfer' | 'operator-deposit' | 'operator-refund' | 'microdeposit', required
    - `action` string, required
    - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'reversed', required
    - `movementStatus` 'initiated' | 'provider_pending' | 'processing' | 'completed' | 'failed' | 'reversed' | 'manual_review', required
    - `direction` 'incoming' | 'outgoing', required
    - `amount` object, required: USD amount. With tokenDetails, the settled recipient credit, or zero for a movement within the same account. Otherwise the recorded transaction amount.
      - `amount` string, required
      - `assetId` string, required
      - `asset_id` string, required
    - `fee` object, required: With tokenDetails, the net account debit beyond amount, in USD at par, including fees, conversion cost and customer-paid gas. A negative value is a net conversion credit. Otherwise the recorded Catena fee.
      - `amount` string, required
      - `assetId` string, required
      - `asset_id` string, required
    - `tokenDetails` object: Optional settled token detail for this account. Primary amounts are USD at par; balance holdings use the same asset vocabulary. Omitted when token provenance is unavailable or the organization has no held-asset entitlement.
      - `debited` object[], required: Tokens netted out of the viewed account, one entry per token and network
        - `asset` string, required: Token symbol in the same lower-case vocabulary as balance holdings.asset
        - `network` string, required: Network on which the token left or arrived
        - `amount` object, required: Net quantity of this token on this network, valued in USD at par
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
      - `credited` object[], required: Tokens netted into the viewed account, including conversion surplus, one entry per token and network
        - `asset` string, required: Token symbol in the same lower-case vocabulary as balance holdings.asset
        - `network` string, required: Network on which the token left or arrived
        - `amount` object, required: Net quantity of this token on this network, valued in USD at par
          - `amount` string, required
          - `assetId` string, required
          - `asset_id` string, required
      - `paid` string: Destination token symbol, only when a payment converted a different funding token
    - `currency` string, required
    - `network` string
    - `counterpartyName` string
    - `method` 'ach' | 'wire' | 'on-chain'
    - `memo` string
    - `description` string
    - `txHash` string
    - `createdAt` string, date-time, required
    - `completedAt` string, date-time
  - `total` number, required

## Other responses

- `403`: Account not accessible under this policy
- `404`: Readable account not found
- `409`: Refused: the agent's policy cannot be read (`policy_unreadable`) until an admin saves its full configuration or, for a temporary override, revokes it and grants a new one; nothing changed, and GET /policy shows it with `invalidReason`

---

[API](https://skmtc.dev/catena/apis/catena-agent-api.md) - [All operations](https://skmtc.dev/catena/apis/catena-agent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/catena/apis/catena-agent-api/revisions/9b72e32d21f1?raw)
