---
title: "Read QuickBooks source items for the existing Transactions review surface"
method: GET
path: "/accountant/companies/{customerId}/transactions/quickbooks-review"
tags: ["Accountants"]
---

# Read QuickBooks source items for the existing Transactions review surface

`GET /accountant/companies/{customerId}/transactions/quickbooks-review`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/accountant/companies/{customerId}/transactions/quickbooks-review`
- Auth: HTTP bearer

Human-accountant, company-scoped read of at most 50 immutable Purchase/Deposit identities. A matched native UUID is separate from the opaque reviewKey; source-only items create no native transaction or journal. Pending work remains needs_review until provider verification and genuine canonical mirror evidence agree. This dedicated read requires a live verified source; the existing unified Transactions queue separately keeps unavailable historical work held with canCategorize false. Changed pagination generation refuses. This read performs no provider, token-refresh or ledger writes. Service principals are forbidden.

## Response `200`

Bounded review rows and truthful generation-bound continuation

- object
  - `success` true, required
  - `data` object, required
    - `hasMore` boolean, required
    - `nextCursor` string, nullable, required
    - `items` object[], required
      - `id` string, required: Actual matched native UUID or opaque source-only item key.
      - `reviewKey` string, required: Opaque scoped item identity; never a native transaction UUID.
      - `sourceKind` 'quickbooks', required
      - `nativeTransactionId` string, uuid, nullable, required
      - `customerId` string, uuid, required
      - `entityId` string, uuid, required
      - `sourceObjectId` string, uuid, required
      - `sourceRunId` string, uuid, required
      - `date` string, nullable
      - `occurredOn` string
      - `description` string
      - `amountCents` integer, nullable: Exact legacy cents projection; unavailable source money is null.
      - `currency` string, nullable
      - `minorUnitExponent` 2
      - `direction` 'in' | 'out'
      - `status` 'needs_review' | 'categorized', required
      - `categoryGlAccountId` string, uuid, nullable
      - `pendingCategoryGlAccountId` string, uuid, nullable
      - `workflowState` 'pending' | 'verified' | 'conflict' | 'failed', required
      - `mirrorState` 'awaiting_verification' | 'pending' | 'refreshed', required
      - `canCategorize` boolean, required
      - `blockCode` string, nullable
      - `lastErrorCode` string, nullable

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `409`: Source authority or pagination generation changed
- `422`: Request failed validation
- `503`: Review source is not configured

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
