# Create report (/en/docs/pix-processamento/endpoints/reports/post_user_report)

## POST /user/report

`POST https://api.payzu.processamento.com/v1/user/report`

Queue an asynchronous job that generates a CSV report of transactions for the given period and filters.

Guia: Reconciliation (/docs/pix-processamento/tutoriais/reconciliation)

### Body params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `dateFrom` | string | yes | Start of the report period. — format: date-time |
| `dateTo` | string | yes | End of the report period. — format: date-time |
| `status` | string[] | no | Transaction statuses included in the file. |
| `type` | string[] | no | Transaction types included in the file. |

### Responses

**202** Report job aceito (job enfileirado)

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | no | Report identifier (UUID), generated when the report is requested. — format: uuid |
| `status` | string | no | Generation progress: PENDING, RUNNING, COMPLETED or FAILED. — `PENDING`, `RUNNING`, `COMPLETED`, `FAILED` |
| `createdAt` | string | no | Date and time the report generation was requested. — format: date-time |
| `updatedAt` | string | no | Date and time of the last change to the report record. — format: date-time |
| `params` | object | no | Filters used when the report was created. |
| `writtenRows` | integer | no | Rows already written to the file. |
| `storageExpiresAt` | string | null | no | Date the report file expires. — format: date-time |

**400** Invalid request

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Fixed marker of an error response. |
| `error` | string | yes | Name of the corresponding HTTP status. |
| `errorCode` | string | yes | Stable machine-readable error code, when available. |
| `message` | string | yes | Human-readable error message. |
| `statusCode` | integer | yes | HTTP status code. |
| `requestId` | string | yes | Unique request correlation ID (cuid). Include it when contacting support. |
| `details` | object[] | no | Field-level validation errors, when applicable. |
| `details.field` | string | yes | Path of the field rejected in validation, without the leading slash. |
| `details.message` | string | yes | Reason that field was rejected, in Portuguese. |
| `retryAfterSeconds` | integer | no | Seconds to wait before retrying. Present only on 429 responses. |

**401** Authentication failure

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Fixed marker of an error response. |
| `error` | string | yes | Name of the corresponding HTTP status. |
| `errorCode` | string | yes | Stable machine-readable error code, when available. |
| `message` | string | yes | Human-readable error message. |
| `statusCode` | integer | yes | HTTP status code. |
| `requestId` | string | yes | Unique request correlation ID (cuid). Include it when contacting support. |
| `details` | object[] | no | Field-level validation errors, when applicable. |
| `details.field` | string | yes | Path of the field rejected in validation, without the leading slash. |
| `details.message` | string | yes | Reason that field was rejected, in Portuguese. |
| `retryAfterSeconds` | integer | no | Seconds to wait before retrying. Present only on 429 responses. |

**403** Operation not allowed

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Fixed marker of an error response. |
| `error` | string | yes | Name of the corresponding HTTP status. |
| `errorCode` | string | yes | Stable machine-readable error code, when available. |
| `message` | string | yes | Human-readable error message. |
| `statusCode` | integer | yes | HTTP status code. |
| `requestId` | string | yes | Unique request correlation ID (cuid). Include it when contacting support. |
| `details` | object[] | no | Field-level validation errors, when applicable. |
| `details.field` | string | yes | Path of the field rejected in validation, without the leading slash. |
| `details.message` | string | yes | Reason that field was rejected, in Portuguese. |
| `retryAfterSeconds` | integer | no | Seconds to wait before retrying. Present only on 429 responses. |

**422** No transactions match the filter / concurrency limit reached

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Fixed marker of an error response. |
| `error` | string | yes | Name of the corresponding HTTP status. |
| `errorCode` | string | yes | Stable machine-readable error code, when available. |
| `message` | string | yes | Human-readable error message. |
| `statusCode` | integer | yes | HTTP status code. |
| `requestId` | string | yes | Unique request correlation ID (cuid). Include it when contacting support. |
| `details` | object[] | no | Field-level validation errors, when applicable. |
| `details.field` | string | yes | Path of the field rejected in validation, without the leading slash. |
| `details.message` | string | yes | Reason that field was rejected, in Portuguese. |
| `retryAfterSeconds` | integer | no | Seconds to wait before retrying. Present only on 429 responses. |