# List MED disputes (/en/docs/conta-digital/endpoints/infractions/get_infractions)

## GET /transactions/infractions

`GET https://api.hub.payzu.com.br/api/v1/transactions/infractions`

Scope: `INFRACTION_READ`. Returns the account MED disputes, newest first by opening date, cursor paginated. Responding to a dispute is done in the dashboard.

### Query params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `limit` | integer | no | Items per page, 1 to 100. — minimum: 1; maximum: 100; default: 20 |
| `cursor` | string | no | `nextCursor` from the previous page. |
| `status` | string | no | An exact status. With `status`, `open` is ignored. — `OPEN`, `ACKNOWLEDGED`, `DEFENDED`, `ANSWERED`, `WAITING_PSP`, `WAITING_ADJUSTMENTS`, `CANCELLED`, `CLOSED` |
| `open` | boolean | no | `true` returns only open disputes: every status other than `CLOSED` and `CANCELLED`. |
| `type` | string | no | Alleged reason. — `REFUND_REQUEST`, `FRAUD`, `REFUND_CANCELLED` |
| `analysisResult` | string | no | Analysis result. — `AGREED`, `DISAGREED` |

### Responses

**200** Page of disputes.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `data` | object[] | yes | Account disputes, by opening date, newest first. |
| `data.id` | string | yes | Dispute identifier at PayZu. |
| `data.protocol` | string | yes | Dispute protocol. It is the identifier used in the lookup and in the webhooks. |
| `data.type` | string | yes | Alleged reason. — `REFUND_REQUEST`, `FRAUD`, `REFUND_CANCELLED` |
| `data.status` | string | yes | Dispute stage. `OPEN`, `CLOSED` and `CANCELLED` move money; the others are steps between the banks. A cancelled dispute returns the full blocked amount, without an analysis fee. — `OPEN`, `ACKNOWLEDGED`, `DEFENDED`, `ANSWERED`, `WAITING_PSP`, `WAITING_ADJUSTMENTS`, `CANCELLED`, `CLOSED` |
| `data.reportedBy` | string | yes | Side that opened the dispute. — `DEBITED_PARTICIPANT`, `CREDITED_PARTICIPANT` |
| `data.reportDetails` | string | yes | Report from who opened it. |
| `data.analysisResult` | string | null | yes | Result, when `CLOSED`. `AGREED`: upheld, the amount returns to the payer. `DISAGREED`: rejected, the amount returns to the available balance, minus the analysis fee. — `AGREED`, `DISAGREED` |
| `data.analysisDetails` | string | null | yes | Reason for the result. |
| `data.endToEndId` | string | yes | End-to-end ID of the disputed Pix. |
| `data.blockedAmount` | integer | yes | Amount set aside from the available balance while the analysis runs. In cents. |
| `data.feeCharged` | integer | yes | Analysis fee charged. `0` until the dispute is closed. In cents. |
| `data.settledAmount` | integer | yes | How much returned to the payer. `0` until the dispute is closed. In cents. |
| `data.reportedAt` | string | yes | When it was opened. — format: date-time |
| `data.dueAt` | string | null | yes | Deadline to respond. `null` when there is none. — format: date-time |
| `data.closedAt` | string | null | yes | When it was closed. — format: date-time |
| `data.origin` | object | yes | Disputed operation. |
| `data.origin.kind` | string | yes | `PAYMENT`: charge. `DEPOSIT`: Pix received without a charge. — `PAYMENT`, `DEPOSIT` |
| `data.origin.id` | string | yes | Charge or deposit identifier as sent in the webhooks. |
| `data.origin.amount` | integer | yes | Amount received. In cents. |
| `data.origin.paidAt` | string | null | yes | When it was received. — format: date-time |
| `data.origin.payerName` | string | null | yes | For a charge, the customer informed; for a deposit, the payer reported by the bank. |
| `data.origin.payerDocument` | string | null | yes | Masked CPF or formatted CNPJ. |
| `nextCursor` | string | no | Cursor for the next page. Absent on the last page. |

**400** Invalid request.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |

**401** Missing, invalid or expired credential.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |

**403** Not allowed: scope, IP or disabled operation.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `message` | string | yes | Description in Portuguese, ready to display. It may change at any time. |
| `code` | string | yes | Stable error code. Your system decides what to do based on it. |
| `details` | object | no | Structured error context, when available. |