# Criar relatório (/docs/pix-processamento/endpoints/reports/post_user_report)

## POST /user/report

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

Enfileira um job assíncrono que gera um relatório CSV das transações para o período e filtros informados.

Guia: Conciliação (/docs/pix-processamento/tutoriais/reconciliation)

### Body params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `dateFrom` | string | yes | Início do período do relatório. — format: date-time |
| `dateTo` | string | yes | Fim do período do relatório. — format: date-time |
| `status` | string[] | no | Situações de transação que entram no arquivo. |
| `type` | string[] | no | Tipos de transação que entram no arquivo. |

### Responses

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

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | no | Identificador (UUID) do relatório, gerado no momento da solicitação. — format: uuid |
| `status` | string | no | Andamento da geração: PENDING, RUNNING, COMPLETED ou FAILED. — `PENDING`, `RUNNING`, `COMPLETED`, `FAILED` |
| `createdAt` | string | no | Data e hora em que a geração do relatório foi solicitada. — format: date-time |
| `updatedAt` | string | no | Data e hora da última alteração no registro do relatório. — format: date-time |
| `params` | object | no | Filtros usados na criação do relatório. |
| `writtenRows` | integer | no | Linhas já escritas no arquivo. |
| `storageExpiresAt` | string | null | no | Data em que o arquivo do relatório expira. — format: date-time |

**400** Requisição inválida

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |

**401** Falha de autenticação

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |

**403** Operação não permitida

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |

**422** Nenhuma transação no filtro

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `status` | string | yes | Marcador fixo de resposta de erro. |
| `error` | string | yes | Nome do status HTTP correspondente. |
| `errorCode` | string | yes | Código de erro estável e legível por máquina, quando disponível. |
| `message` | string | yes | Mensagem de erro legível. |
| `statusCode` | integer | yes | Código de status HTTP. |
| `requestId` | string | yes | ID único de correlação da requisição (cuid). |
| `details` | object[] | no | Erros de validação por campo, quando aplicável. |
| `details.field` | string | yes | Caminho do campo rejeitado na validação, sem a barra inicial. |
| `details.message` | string | yes | Motivo da rejeição daquele campo, em português. |
| `retryAfterSeconds` | integer | no | Segundos a aguardar antes de tentar novamente. |