# 查询 MED 争议 (/zh/docs/conta-digital/endpoints/infractions/get_infraction)

## GET /transactions/infractions/{protocol}

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

Scope: `INFRACTION_READ`. Returns a MED dispute, with its stage, the blocked amount and the result. Use the `protocol` from the `INFRACTION_OPENED` webhook.

### Path params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `protocol` | string | yes | Dispute protocol. |

### Responses

**200** Dispute.

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | yes | Dispute identifier at PayZu. |
| `protocol` | string | yes | Dispute protocol. It is the identifier used in the lookup and in the webhooks. |
| `type` | string | yes | Alleged reason. — `REFUND_REQUEST`, `FRAUD`, `REFUND_CANCELLED` |
| `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` |
| `reportedBy` | string | yes | Side that opened the dispute. — `DEBITED_PARTICIPANT`, `CREDITED_PARTICIPANT` |
| `reportDetails` | string | yes | Report from who opened it. |
| `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` |
| `analysisDetails` | string | null | yes | Reason for the result. |
| `endToEndId` | string | yes | End-to-end ID of the disputed Pix. |
| `blockedAmount` | integer | yes | Amount set aside from the available balance while the analysis runs. In cents. |
| `feeCharged` | integer | yes | Analysis fee charged. `0` until the dispute is closed. In cents. |
| `settledAmount` | integer | yes | How much returned to the payer. `0` until the dispute is closed. In cents. |
| `reportedAt` | string | yes | When it was opened. — format: date-time |
| `dueAt` | string | null | yes | Deadline to respond. `null` when there is none. — format: date-time |
| `closedAt` | string | null | yes | When it was closed. — format: date-time |
| `origin` | object | yes | Disputed operation. |
| `origin.kind` | string | yes | `PAYMENT`: charge. `DEPOSIT`: Pix received without a charge. — `PAYMENT`, `DEPOSIT` |
| `origin.id` | string | yes | Charge or deposit identifier as sent in the webhooks. |
| `origin.amount` | integer | yes | Amount received. In cents. |
| `origin.paidAt` | string | null | yes | When it was received. — format: date-time |
| `origin.payerName` | string | null | yes | For a charge, the customer informed; for a deposit, the payer reported by the bank. |
| `origin.payerDocument` | string | null | yes | Masked CPF or formatted CNPJ. |

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

**404** Not found, or from another account.

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