# 列出违规记录 (/zh/docs/pix-processamento/endpoints/infractions/get_infractions)

## GET /user/infractions

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

List all infractions for the authenticated user with pagination and filters.

Guia: Infractions (MED) (/docs/pix-processamento/tutoriais/infractions)

### Query params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `page` | integer | no | Page number. — minimum: 1; default: 1 |
| `limit` | integer | no | Items per page. — minimum: 1; maximum: 100; default: 10 |
| `status` | string | no | Comma-separated InfractionStatus (WAITING_PSP,CLOSED,OPEN,CANCELLED,ACKNOWLEDGED,DEFENDED,ANSWERED,WAITING_ADJUSTMENTS) |
| `type` | string | no | Comma-separated InfractionType (REFUND_REQUEST,FRAUD,REFUND_CANCELLED) |
| `endToEndId` | string | no | End-to-end ID of the Pix. |
| `transactionId` | string | no | Transaction ID. |
| `amountMin` | number | no | Minimum amount. |
| `amountMax` | number | no | Maximum amount. |
| `analysisResult` | string | no | Comma-separated AnalysisResult |
| `reportedBy` | string | no | Comma-separated ReportedType (DEBITED_PARTICIPANT,CREDITED_PARTICIPANT) |
| `participantDocument` | string | no | CPF or CNPJ of the participant. |
| `participantName` | string | no | Name of the participant. |
| `sortBy` | string | no | Sort field. — `createdAt`, `updatedAt`; default: createdAt |
| `sortDirection` | string | no | Sort direction. — `asc`, `desc` |
| `reportedAtFrom` | string | no | Filter: reportedAt from. — format: date-time |
| `reportedAtTo` | string | no | Filter: reportedAt up to. — format: date-time |
| `createdAtFrom` | string | no | Filter: createdAt from. — format: date-time |
| `createdAtTo` | string | no | Filter: createdAt up to. — format: date-time |
| `expiresAtFrom` | string | no | Filter: expiresAt from. — format: date-time |
| `expiresAtTo` | string | no | Filter: expiresAt up to. — format: date-time |
| `updatedAtFrom` | string | no | Filter: updatedAt from. — format: date-time |
| `updatedAtTo` | string | no | Filter: updatedAt up to. — format: date-time |
| `id` | string | no | Filter by infraction ID. |
| `protocol` | string | no | Filter by protocol. |

### Responses

**200** List of infractions with pagination

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `infractions` | object[] | no | Infractions of the requested page, each in the same format as the detail. |
| `infractions.id` | string | no | Identifier of the infraction inside PayZu, used in the query routes and when sending the defense. |
| `infractions.protocol` | string | no | Infraction code at Bacen. |
| `infractions.status` | string | no | Current state of the infraction. — `WAITING_PSP`, `CLOSED`, `OPEN`, `CANCELLED`, `ACKNOWLEDGED`, `DEFENDED`, `ANSWERED`, `WAITING_ADJUSTMENTS` |
| `infractions.type` | string | no | Type of the infraction: REFUND_REQUEST, FRAUD or REFUND_CANCELLED. — `REFUND_REQUEST`, `FRAUD`, `REFUND_CANCELLED` |
| `infractions.reportedBy` | string | no | Side that opened the infraction: DEBITED_PARTICIPANT or CREDITED_PARTICIPANT. — `DEBITED_PARTICIPANT`, `CREDITED_PARTICIPANT` |
| `infractions.reportDetails` | string | null | no | Reason given by whoever opened the infraction, in the text sent by the partner bank. |
| `infractions.analysisResult` | string | null | no | Analysis outcome: AGREED or DISAGREED. — `AGREED`, `DISAGREED`, `null` |
| `infractions.analysisDetails` | string | null | no | Additional text about the analysis decision, when the partner bank sends that information. |
| `infractions.reportedAt` | string | no | Moment the infraction was opened. — format: date-time |
| `infractions.expiresAt` | string | null | no | Deadline to send the defense of this infraction. — format: date-time |
| `infractions.transaction` | object | no | Summary of the disputed Pix. |
| `infractions.transaction.id` | string | no |  |
| `infractions.transaction.amount` | number | no | Amount of the disputed transaction, in reais with decimal places. |
| `infractions.transaction.payerName` | string | null | no | Name of the Pix payer, as reported by the provider. |
| `infractions.transaction.payerDocument` | string | null | no | CPF or CNPJ of the Pix payer, as reported by the provider. |
| `infractions.transaction.receiverName` | string | null | no | Name of the Pix receiver, as reported by the provider. |
| `infractions.transaction.receiverDocument` | string | null | no | CPF or CNPJ of the Pix receiver, as reported by the provider. |
| `infractions.transaction.endToEndId` | string | null | no | End-to-end identifier of the Pix, reported by the provider at settlement. |
| `infractions.defenseHistory` | object[] | no | Defenses already sent for this infraction, each with text, status and files. |
| `infractions.defenseHistory.id` | string | no | Defense identifier. |
| `infractions.defenseHistory.defense` | string | no | Defense text |
| `infractions.defenseHistory.status` | string | no | Defense status — `PENDING`, `DEFENDED` |
| `infractions.defenseHistory.createdAt` | string | no | Moment the defense was recorded at PayZu, saved together with the uploaded files. — format: date-time |
| `infractions.defenseHistory.updatedAt` | string | no | Moment of the last change to the defense. — format: date-time |
| `infractions.defenseHistory.files` | object[] | no | Files sent with the defense, with name, type and size in bytes. |
| `pagination` | object | no | Page, limit, total of items and of pages. |
| `pagination.page` | integer | no | Page returned, the same as the page parameter sent in the query; when omitted, it is 1. — format: int32 |
| `pagination.limit` | integer | no | Page size applied in the query; when omitted it is 10 and the maximum accepted is 100. — format: int32 |
| `pagination.totalItems` | integer | no | Number of infractions that match the filters. — format: int32 |
| `pagination.totalPages` | integer | no | Number of pages for the limit provided, taken from totalItems rounded up. — format: int32 |

**400** Bad Request, payload or query string failed validation

| 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** Unauthorized, missing or invalid Bearer token, or token lacks the required permission for this endpoint

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