# Request Fields

Send the request as `application/json`.

| Field | Type | Required | Validation |
| --- | --- | --- | --- |
| `transaction_id` | string | Yes | 1–255 characters; letters, digits, hyphens, and underscores only. Must identify the request in your system. |
| `nik` | string | Yes | Exactly 16 digits and must begin with a digit from 1–9. Preserve it as a string. |
| `selfie` | string | Yes | Raw Base64-encoded JPEG, JPG, or PNG image. Do not include a data-URI prefix. The decoded image must remain within the upload limit configured for your integration. |
| `channel` | string | Yes | 1–100 characters; letters, digits, and hyphens only. |

## Example

```json
{
  "transaction_id": "insights-request-001",
  "nik": "3173050101900001",
  "selfie": "/9j/4AAQSkZJRgABAQAAAQABAAD...",
  "channel": "web"
}
```

## Selfie preparation

- Use JPEG, JPG, or PNG content.
- Base64-encode the image bytes without a `data:image/...;base64,` prefix.
- Do not send an empty or truncated image.
- Keep the decoded file within the upload limit assigned to your integration.

Insights API v1 validates the Base64 data, decoded file size, and detected image
type. It does not apply a documented pixel-dimension requirement.
