> ## Documentation Index
> Fetch the complete documentation index at: https://developer.verilock.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Selfie

> Upload a selfie image of the applicant for face matching and liveness verification.

<Note>
  **Multipart form data** -- This endpoint accepts `multipart/form-data`. The selfie should be a clear, well-lit photo of the applicant's face.
</Note>

## Path Parameters

<ParamField path="id" type="string" required>
  The session ID
</ParamField>

## Form Parameters

<ParamField body="image" type="file" required>
  Selfie image file (JPEG or PNG; max 10 MB)
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST \
    "https://verilock.io/api/v1/sessions/ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890/selfie" \
    -H "Authorization: Bearer qi_live_your_api_key_here" \
    -H "Accept: application/json" \
    -F "image=@/path/to/selfie.jpg"
  ```

  ```php PHP (Guzzle) theme={null}
  $client = new \GuzzleHttp\Client();
  $response = $client->post(
    'https://verilock.io/api/v1/sessions/ses_a1b2c3d4-.../selfie',
    [
      'headers' => [
        'Authorization' => 'Bearer qi_live_your_api_key_here',
        'Accept' => 'application/json',
      ],
      'multipart' => [
        [
          'name' => 'image',
          'contents' => fopen('/path/to/selfie.jpg', 'r'),
        ],
      ],
    ]
  );
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "sel_d4e5f6a7-b8c9-0123-def4-567890abcdef",
    "session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "status": "uploaded",
    "file": "selfie.jpg",
    "created_at": "2026-03-15T10:37:45Z"
  }
  ```
</ResponseExample>
