# listUploadReportRows

The rows of one upload's report in one `bucket` (ALL_ROWS, CREATED, MATCHED, RESTORED, MERGED_AFTER_IMPORT, DUPLICATE_ROWS, SKIPPED, FAILED): the row number, its outcome and reason, the original CSV row, and the contact or property it became. Page with limit/offset; `total` counts the bucket. A later step on these contacts acts on each row's `contact.id`, never a lookup by name (two contacts can share one).

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "listUploadReportRows", "variables": {...} }`
- Scope: `READ`
- Type: query
- Idempotency: a read; rejects `Idempotency-Key`
- Rate-limited: no
- Result cap: `limit` is clamped to 100, without an error

## Variables

- `fileProcessingTaskId`: `ID!` (required)
- `bucket`: `UploadReportBucket!` (required, one of `ALL_ROWS`, `CREATED`, `MATCHED`, `RESTORED`, `MERGED_AFTER_IMPORT`, `DUPLICATE_ROWS`, `SKIPPED`, `FAILED`)
- `limit`: `Int` (default `25`)
- `offset`: `Int` (default `0`)

## Response (data, an example)

```json
{
  "fileProcessingTaskQuery": {
    "uploadReportRows": {
      "total": 0,
      "items": [
        {
          "rowNumber": 0,
          "outcome": "CREATED",
          "outcomeReason": "…",
          "notStored": [
            "…"
          ],
          "duplicateOfRowNumber": 0,
          "csvRowJson": "…",
          "contact": {
            "id": "<ID>",
            "name": "…",
            "phoneNumbers": [
              {
                "phoneNumber": "…"
              }
            ],
            "emails": [
              {
                "email": "…"
              }
            ]
          },
          "property": {
            "id": "<ID>",
            "formattedAddress": "…"
          }
        }
      ]
    }
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "operationId": "listUploadReportRows",
    "variables": {
      "fileProcessingTaskId": "<fileProcessingTaskId>",
      "bucket": "ALL_ROWS"
    }
  }'
```
