> ## 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 Address Proof

> Upload a proof of address document to verify the applicant residential address.

<Note>
  **Multipart form data** -- This endpoint accepts `multipart/form-data`. The document must be dated within the last 3 months.
</Note>

## Path Parameters

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

## Form Parameters

<ParamField body="document" type="file" required>
  Address proof document file (JPEG, PNG, PDF; max 10 MB)
</ParamField>

<ParamField body="type" type="string" required>
  Document type: `utility_bill`, `bank_statement`, `tax_document`, `government_letter`
</ParamField>

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

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

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "adr_e5f6a7b8-c9d0-1234-ef56-789012abcdef",
    "session_id": "ses_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "type": "utility_bill",
    "status": "uploaded",
    "file": "utility_bill.pdf",
    "created_at": "2026-03-15T10:40:30Z"
  }
  ```
</ResponseExample>
