---
title: "List reports"
method: GET
path: "/api/v2/reports"
tags: ["Reports"]
---

# List reports

`GET /api/v2/reports`

Lists generated reports.

## Query parameters

- `limit` string, number
- `createdAtGt` string, date-time
- `createdAtLte` string, date-time
- `enterprise` string
- `wallet` string
- `walletType` string
- `reportType` 'holdings' | 'transactions' | 'trades' | 'staking' | 'holdingsByAddress' | 'userAccess' | 'policies' | 'costBasis' | 'gasTankReport' | 'organizationHoldings' | 'organizationHoldingsByAddress' | 'organizationTransactions' | 'organizationTrades' | 'organizationStaking' | 'organizationHoldingsV2' | 'organizationTransactionsV2' | 'quarterly'
- `status` 'pending' | 'processing' | 'completed' | 'failed'
- `prevId` string
- `format` 'csv' | 'pdf'
- `asset` string
- `reportParams` unknown
- `sortOrder` 'asc' | 'desc'

## Response `200`

OK

- ListReportsJSON
  - `reports` object[], required
    - `holdings` object — Holdings report
      - `byWallet` boolean
      - `enterprise` string, required — ID of the enterprise
      - `includeStaking` boolean
      - `snapshotDate` string, date-time, required — Date of the snapshot
    - `transactions` object — Transactions report
      - `assets` string[]
      - `endDate` string, date-time, required — Date of the snapshot
      - `enterprise` string, required
      - `isAddressReport` boolean
      - `isDetailed` boolean
      - `startDate` string, date-time, required — Date of the snapshot
      - `wallets` string[]
      - `walletTypes` string[]
    - `quarterly` object — Quarterly report
      - `endDate` string, date-time, required — Date of the snapshot
      - `enterprise` string, required
      - `startDate` string, date-time, required — Date of the snapshot
    - `trades` object — Trades report
      - `assets` string[]
      - `endDate` string, date-time, required — Date of the snapshot
      - `enterprise` string, required
      - `isCostBasisReport` boolean
      - `isFillsReport` boolean
      - `startDate` string, date-time, required — Date of the snapshot
    - `staking` object — Staking report
      - `assets` string[]
      - `endDate` string, date-time, required — Date of the snapshot
      - `enterprise` string, required
      - `isBalanceReport` boolean
      - `startDate` string, date-time, required — Date of the snapshot
      - `wallets` string[]
      - `walletTypes` string[]
    - `gasTankReport` object — Gas Tank report — EVM fee address activity (deposits + gas fees)
      - `coin` string, required
      - `endDate` string, date-time, required — Date of the snapshot
      - `enterprise` string, required
      - `startDate` string, date-time, required — Date of the snapshot
    - `holdingsByAddress` object — Address-level Holdings report
      - `assets` string[]
      - `enterprise` string, required
      - `snapshotDate` string, date-time, required
      - `wallets` string[]
      - `walletTypes` string[]
    - `organizationHoldings` object — Organization-level Holdings report
      - `byWallet` boolean
      - `enterprises` string[]
      - `includeStaking` boolean
      - `organization` string, required
      - `snapshotDate` string, date-time, required
    - `organizationTransactions` object — Organization-level Transactions report
      - `assets` string[]
      - `endDate` string, date-time, required
      - `enterprises` string[]
      - `isAddressReport` boolean
      - `isDetailed` boolean
      - `organization` string, required
      - `startDate` string, date-time, required
      - `wallets` string[]
      - `walletTypes` string[]
    - `organizationHoldingsV2` object — Organization-level Holdings report (v2 — reconciled/persisted marts dataset). Only by-wallet holdings are available for v2; `byWallet: false` is rejected by the server and `byWallet` is otherwise always treated as `true`. Use `organizationHoldings` (v1) for org-level (non-per-wallet) holdings.
      - `byWallet` boolean
      - `enterprises` string[]
      - `includeStaking` boolean
      - `organization` string, required
      - `snapshotDate` string, date-time, required
    - `organizationTransactionsV2` object — Organization-level Transactions report (v2 — reconciled/persisted marts dataset). Only transaction history is available for v2; `isDetailed` and `isAddressReport` are rejected by the server. Use `organizationTransactions` (v1) for transfer-detail or address-level-transfer-detail reports.
      - `assets` string[]
      - `endDate` string, date-time, required
      - `enterprises` string[]
      - `isAddressReport` boolean
      - `isDetailed` boolean
      - `organization` string, required
      - `startDate` string, date-time, required
      - `wallets` string[]
      - `walletTypes` string[]
    - `organizationHoldingsByAddress` object — Organization-level Holdings by Address report
      - `assets` string[]
      - `enterprises` string[]
      - `organization` string, required
      - `snapshotDate` string, date-time, required
      - `wallets` string[]
      - `walletTypes` string[]
    - `organizationStaking` object — Organization-level Staking report
      - `assets` string[]
      - `endDate` string, date-time, required
      - `enterprises` string[]
      - `isBalanceReport` boolean
      - `organization` string, required
      - `startDate` string, date-time, required
      - `wallets` string[]
      - `walletTypes` string[]
    - `organizationTrades` object — Organization-level Trades report
      - `assets` string[]
      - `endDate` string, date-time, required
      - `enterprises` string[]
      - `isFillsReport` boolean
      - `organization` string, required
      - `startDate` string, date-time, required
    - `userAccess` object — Organization-level User Access Review report (DE-519)
      - `allEnterprises` boolean
      - `asOfDate` string, date-time, required
      - `enterprises` string[]
      - `organization` string, required
      - `reportContents` 'members' | 'roles', required
    - `policies` object — Policies report
      - `completeHistory` boolean
      - `enterprise` string, required
    - `costBasis` object
      - `account` string
      - `assets` string[]
      - `endDate` string, date-time, required — Date of the snapshot
      - `enterprise` string, required
      - `startDate` string, date-time, required — Date of the snapshot
    - `id` string, required
    - `type` 'holdings' | 'transactions' | 'trades' | 'staking' | 'holdingsByAddress' | 'userAccess' | 'policies' | 'costBasis' | 'gasTankReport' | 'organizationHoldings' | 'organizationHoldingsByAddress' | 'organizationTransactions' | 'organizationTrades' | 'organizationStaking' | 'organizationHoldingsV2' | 'organizationTransactionsV2' | 'quarterly', required
    - `format` 'csv' | 'pdf', required
    - `status` 'pending' | 'processing' | 'completed' | 'failed', required
    - `createdAt` string, date-time, required — Date report was created
    - `completedAt` string, date-time — Date report was completed
    - `documentName` string — Name of the report document
    - `user` string, required — ID of the user who requested the report
  - `nextBatchPrevId` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error

---

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