# List requests
Source: https://www.desktopaccountingapi.com/docs/api/reference/operations/requestslist/

`GET https://api.desktopaccountingapi.com/v1/requests`

Operation ID: `requests.list`. Tag: Requests.

Returns the project's QuickBooks-bound requests, newest first, from the request log (kept 30 days). Filter by end user, status, operation and creation time. The log is updated within seconds of each status change; retrieve a request for its timeline, diagnosis and result. Calls rejected before they were queued are listed as `failed` with their `errorCode` when they named an end user of this project that has a connection; rate-limited calls and calls without a resolvable end user are not.

Authentication: `Authorization: Bearer <secret key>`.

## Query parameters

- `cursor` (string): The `nextCursor` from the previous page. 1–200 characters.
- `limit` (integer): Page size, 1–100. Default 50. 1 to 100; default `50`; example `50`.
- `endUserId` (string): Only requests for this end user. example `eu_01j9x4m6v4c8k2t7q0r5s3w1zb`.
- `status` (array of string): Only requests in these statuses. Repeat the parameter for several (`?status=failed&status=outcome_unknown`). 0–100 items.
- `operationId` (string): Only requests for this operation, for example `qbd.invoices.create`. example `qbd.invoices.create`.
- `createdAfter` (string (date-time)): Only requests created at or after this time (ISO 8601). example `2026-10-05T00:00:00Z`.
- `createdBefore` (string (date-time)): Only requests created before this time (ISO 8601). example `2026-10-06T00:00:00Z`.

## Responses

### 200

A page of requests.

Body (application/json): object (RequestList).

- `objectType` (string, required): Always `list`. one of `list`.
- `url` (string, required): The endpoint that produced this list. one of `/v1/requests`.
- `data` (array of object (RequestSummary), required): Objects on this page, newest first.
  - `id` (string, required): Unique identifier for the request. example `req_01j9x4m6v4c8k2t7q0r5s3w1zd`.
  - `objectType` (string, required): Always `request`. one of `request`.
  - `createdAt` (string (date-time), required): When the request was received. UTC, ISO 8601 with milliseconds. example `2026-10-05T16:03:59.002Z`.
  - `projectId` (string, required): Unique identifier for the project. example `proj_01j9x4m6v4c8k2t7q0r5s3w1zf`.
  - `endUserId` (string, required): Unique identifier for the end user. example `eu_01j9x4m6v4c8k2t7q0r5s3w1zb`.
  - `connectionId` (string, nullable, required): The connection that carried the request; null when the call was rejected before the end user had a connection (no setup link created yet). example `conn_01j9x4m6v4c8k2t7q0r5s3w1zc`.
  - `operationId` (string, required): The API operation, for example `endUsers.passthrough` or `qbd.healthCheck`. example `qbd.healthCheck`.
  - `method` (string, required): HTTP method of the original call. example `GET`.
  - `path` (string, required): Path of the original call. example `/v1/quickbooks-desktop/health-check`.
  - `mode` (string, required): `sync` when the caller waited for the result. one of `sync`, `async` (open: accept unknown values).
  - `status` (string, required): `queued`: accepted and waiting for its turn or the next Web Connector check-in. `waiting_for_connection`: async request waiting for an offline connection. `sent`: handed to QuickBooks; it can no longer be canceled. `succeeded` and `failed` are final. `canceled`: canceled before it was sent. `outcome_unknown`: a write was sent and its result could not be confirmed. one of `queued`, `waiting_for_connection`, `sent`, `succeeded`, `failed`, `canceled`, `outcome_unknown` (open: accept unknown values).
  - `outcome` (string, required): Whether a write took effect: `applied` (QuickBooks confirmed it), `not_applied` (it certainly did not happen), `pending` (sent, still processing), `unknown` (sent, result could not be confirmed) or `not_applicable` (a read). one of `applied`, `not_applied`, `pending`, `unknown`, `not_applicable` (open: accept unknown values).
  - `sentAt` (string, nullable, required): When the request was handed to the Web Connector. UTC, ISO 8601.
  - `completedAt` (string, nullable, required): When the request reached a final status. UTC, ISO 8601.
  - `durationMs` (integer, nullable, required): Milliseconds from creation to completion.
  - `errorCode` (string, nullable, required): Error code when the request failed, was canceled or has an unknown outcome. example `REQUEST_TIMEOUT_NOT_SENT`.
- `nextCursor` (string, nullable, required): Pass as `cursor` to fetch the next page; `null` on the last page.
- `hasMore` (boolean, required): Whether another page exists.
- `remainingCount` (integer, nullable, required): Always `null` for platform lists.
- `cursorExpiresAt` (string, nullable, required): Always `null`: platform cursors do not expire.

### Errors

Every error body is the error object described at https://www.desktopaccountingapi.com/docs/errors/.

- `400`: The request is invalid. Codes: `UNKNOWN_HEADER`, `INVALID_PARAMETER`, `UNKNOWN_PARAMETER`, `CURSOR_INVALID`.
- `401`: The API key is missing or invalid. Codes: `API_KEY_MISSING`, `API_KEY_INVALID`.
- `429`: Too many requests. Codes: `RATE_LIMITED`.
- `500`: Unexpected server error. Codes: `INTERNAL_ERROR`.
- `503`: QuickBooks Desktop or the service is not available. Codes: `SERVICE_UNAVAILABLE`.
