# 提交申辩 (/zh/docs/pix-processamento/endpoints/infractions/post_infractions_defense)

## POST /user/infractions/{id}/defenses

`POST https://api.payzu.processamento.com/v1/user/infractions/{id}/defenses`

Create a defense for a specific infraction.

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

### Path params

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | yes | Infraction ID |

### Responses

**201** Defense created

| Field | Type | Required | Details |
| --- | --- | --- | --- |
| `id` | string | no | Defense identifier. |
| `defense` | string | no | Defense text |
| `status` | string | no | Defense status — `PENDING`, `DEFENDED` |
| `infractionId` | string | no | Identifies the infraction the defense belongs to. |
| `createdAt` | string | no | Moment the defense was recorded at PayZu, saved together with the uploaded files. — format: date-time |
| `updatedAt` | string | no | Moment of the last change to the defense. — format: date-time |
| `files` | object[] | no | Files sent with the defense, with name, type and size in bytes. |
| `files.name` | string | no | Name of the file sent with the defense. |
| `files.mimeType` | string | no | MIME type of the file, provided on upload, for example application/pdf or image/png. |
| `files.size` | integer | no | Size of the file in bytes. — format: int32 |
| `files.url` | string | null | no | Signed download URL (expires in 9 minutes). Present only when fetching an individual defense; absent in the listing. |

**400** Invalid file or provider does not support defense

| 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** Authentication failure

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

**403** Operation not allowed

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

**404** Infraction not found

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

**422** Infraction not open for defense

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