# Listar infrações (/docs/pix-processamento/endpoints/infractions/get_infractions)

## GET /user/infractions

`GET https://api.payzu.processamento.com/v1/user/infractions`

Lista todas as infrações do usuário autenticado com paginação e filtros.

Guia: Infrações (MED) (/docs/pix-processamento/tutoriais/infractions)

### Query params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `page` | integer | no | Número da página. — minimum: 1; default: 1 |
| `limit` | integer | no | Itens por página. — minimum: 1; maximum: 100; default: 10 |
| `status` | string | no | Status da infração, vários separados por vírgula. `OPEN` `ACKNOWLEDGED` `DEFENDED` `ANSWERED` `WAITING_PSP` `WAITING_ADJUSTMENTS` `CLOSED` `CANCELLED` |
| `type` | string | no | Tipo da infração, vários separados por vírgula. `REFUND_REQUEST` `FRAUD` `REFUND_CANCELLED` |
| `endToEndId` | string | no | ID end-to-end do Pix. |
| `transactionId` | string | no | ID da transação. |
| `amountMin` | number | no | Valor mínimo. |
| `amountMax` | number | no | Valor máximo. |
| `analysisResult` | string | no | Resultado da análise, vários separados por vírgula. `AGREED` `DISAGREED` |
| `reportedBy` | string | no | Quem abriu a infração, vários separados por vírgula. `DEBITED_PARTICIPANT` `CREDITED_PARTICIPANT` |
| `participantDocument` | string | no | CPF ou CNPJ do participante. |
| `participantName` | string | no | Nome do participante. |
| `sortBy` | string | no | Campo de ordenação. — `createdAt`, `updatedAt`; default: createdAt |
| `sortDirection` | string | no | Direção da ordenação. — `asc`, `desc` |
| `reportedAtFrom` | string | no | Filtro: reportedAt a partir de. — format: date-time |
| `reportedAtTo` | string | no | Filtro: reportedAt até. — format: date-time |
| `createdAtFrom` | string | no | Filtro: createdAt a partir de. — format: date-time |
| `createdAtTo` | string | no | Filtro: createdAt até. — format: date-time |
| `expiresAtFrom` | string | no | Filtro: expiresAt a partir de. — format: date-time |
| `expiresAtTo` | string | no | Filtro: expiresAt até. — format: date-time |
| `updatedAtFrom` | string | no | Filtro: updatedAt a partir de. — format: date-time |
| `updatedAtTo` | string | no | Filtro: updatedAt até. — format: date-time |
| `id` | string | no | Filtro por ID da infração. |
| `protocol` | string | no | Filtro por protocolo. |

### Responses

**200** Lista de infrações com paginação

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `infractions` | object[] | no | Contestações da página solicitada, cada uma no mesmo formato do detalhe. |
| `infractions.id` | string | no | Identificador da contestação dentro da PayZu, usado nas rotas de consulta e no envio da defesa. |
| `infractions.protocol` | string | no | Código da contestação no Bacen. |
| `infractions.status` | string | no | Situação atual da contestação. — `WAITING_PSP`, `CLOSED`, `OPEN`, `CANCELLED`, `ACKNOWLEDGED`, `DEFENDED`, `ANSWERED`, `WAITING_ADJUSTMENTS` |
| `infractions.type` | string | no | Tipo da contestação: REFUND_REQUEST, FRAUD ou REFUND_CANCELLED. — `REFUND_REQUEST`, `FRAUD`, `REFUND_CANCELLED` |
| `infractions.reportedBy` | string | no | Lado que abriu a contestação: DEBITED_PARTICIPANT ou CREDITED_PARTICIPANT. — `DEBITED_PARTICIPANT`, `CREDITED_PARTICIPANT` |
| `infractions.reportDetails` | string | null | no | Motivo informado por quem abriu a contestação, no texto enviado pelo banco parceiro. |
| `infractions.analysisResult` | string | null | no | Desfecho da análise: AGREED ou DISAGREED. — `AGREED`, `DISAGREED`, `null` |
| `infractions.analysisDetails` | string | null | no | Texto complementar sobre a decisão da análise, quando o banco parceiro envia essa informação. |
| `infractions.reportedAt` | string | no | Momento em que a contestação foi aberta. — format: date-time |
| `infractions.expiresAt` | string | null | no | Prazo final para enviar a defesa desta contestação. — format: date-time |
| `infractions.transaction` | object | no | Resumo do Pix contestado. |
| `infractions.transaction.id` | string | no |  |
| `infractions.transaction.amount` | number | no | Valor da transação contestada, em reais com casas decimais. |
| `infractions.transaction.payerName` | string | null | no | Nome do pagador do Pix, conforme informado pelo provedor. |
| `infractions.transaction.payerDocument` | string | null | no | CPF ou CNPJ do pagador do Pix, conforme informado pelo provedor. |
| `infractions.transaction.receiverName` | string | null | no | Nome do recebedor do Pix, conforme informado pelo provedor. |
| `infractions.transaction.receiverDocument` | string | null | no | CPF ou CNPJ do recebedor do Pix, conforme informado pelo provedor. |
| `infractions.transaction.endToEndId` | string | null | no | Identificador fim a fim do Pix, informado pelo provedor na liquidação. |
| `infractions.defenseHistory` | object[] | no | Defesas já enviadas para esta contestação, com texto, status e anexos de cada uma. |
| `infractions.defenseHistory.id` | string | no | Identificador da defesa. |
| `infractions.defenseHistory.defense` | string | no | Texto da defesa |
| `infractions.defenseHistory.status` | string | no | Status da defesa — `PENDING`, `DEFENDED` |
| `infractions.defenseHistory.createdAt` | string | no | Momento em que a defesa foi registrada na PayZu, gravado junto com o envio dos anexos. — format: date-time |
| `infractions.defenseHistory.updatedAt` | string | no | Momento da última alteração da defesa. — format: date-time |
| `infractions.defenseHistory.files` | object[] | no | Anexos enviados junto com a defesa, com nome, tipo e tamanho em bytes. |
| `pagination` | object | no | Página, limite, total de itens e de páginas. |
| `pagination.page` | integer | no | Página devolvida, igual ao parâmetro page enviado na consulta; quando omitido, vale 1. — format: int32 |
| `pagination.limit` | integer | no | Tamanho de página aplicado na consulta; quando omitido vale 10 e o máximo aceito é 100. — format: int32 |
| `pagination.totalItems` | integer | no | Quantidade de infrações que atendem aos filtros. — format: int32 |
| `pagination.totalPages` | integer | no | Número de páginas para o limit informado, obtido de totalItems arredondado para cima. — format: int32 |

**400** Bad Request

| 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** Unauthorized

| 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. |