# Upload de imagem de produto

**POST** `/payment-links/products/images`

Base URL: `https://api-sbx.pre.globalgetnet.com/dpy/payment-link/v1`

Upload a product image. Accepted formats: image/png, image/jpeg. Maximum size: 250 MB.

## Header parameters

- `Authorization` (string, required)
  Bearer Token (JWT). x-seller-id, country, and tenant are extracted from the token.

## Body

Content type: `multipart/form-data`

- `file` (string<binary>, required)
  Image file (image/png or image/jpeg, max 250 MB)

Example:

```json
{
  "file": "string"
}
```

## Responses

### 201

Image uploaded successfully

- `image_id` (string<uuid>)
- `original_name` (string)
- `mime_type` ("image/png" | "image/jpeg")
- `upload_at` (string<date-time>)

Example:

```json
{
  "image_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "original_name": "product-photo.png",
  "mime_type": "image/png",
  "upload_at": "2026-03-27T12:00:00Z"
}
```

### 400

Bad request - validation error

- `error_code` (string)
- `message` (string)
- `details` (object[])
  - `message` (string)
  - `path` (string)
- `status_code` (integer)

Example:

```json
{
  "error_code": "guid_error",
  "message": "x-seller-id must be a valid guid",
  "details": [
    {
      "message": "string",
      "path": "string"
    }
  ],
  "status_code": 400
}
```

### 422

Unprocessable entity

- `error_code` (string)
- `message` (string)
- `status_code` (integer)

Example:

```json
{
  "error_code": "payment_link_not_found",
  "message": "Payment Link not found",
  "status_code": 422
}
```

### 500

Internal server error

- `error_code` (string)
- `message` (string)
- `status_code` (integer)

Example:

```json
{
  "error_code": "payment_link_not_found",
  "message": "Payment Link not found",
  "status_code": 422
}
```