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

# Get Verification Status

> Check the current status of a contact verification request.

<Card title="Contact Verification Guide" icon="book" href="/additional-functions/contact-verification">
  How the email + OTP verification flow works end-to-end
</Card>

Retrieves the current status of a verification request. Use this endpoint to poll and determine whether the recipient has acted on the verification link, or whether the session is still pending or has expired.

## Error Responses

| HTTP Status | Error Code | Description                                                                                            |
| ----------- | ---------- | ------------------------------------------------------------------------------------------------------ |
| 400         | -125       | Validation error. The `verificationId` format is invalid (must be a 32-character alphanumeric string). |
| 401         | -1003      | Not authenticated. The API key is missing or invalid.                                                  |
| 404         | -160       | Verification not found. No verification session exists with the specified ID.                          |

## Parameter Constraints

| Parameter        | Constraint                                                                                   |
| ---------------- | -------------------------------------------------------------------------------------------- |
| `verificationId` | Required. Must be a 32-character alphanumeric string matching the pattern `[a-zA-Z0-9]{32}`. |

## Parameters

### Headers

<ParamField header="Authorization" type="string" required>
  Your API key prefixed with `APIKEY`. Example: `APIKEY your-api-key`. See the [Authentication guide](/getting-started/authentication).
</ParamField>

### Path Parameters

<ParamField path="verificationId" type="string" required>
  The unique session ID returned in `verifyId` when the verification was created.
</ParamField>

<RequestExample>
  ```javascript Node.js theme={null}
  const verificationId = 'xLoat3F385vvFRbgI2usOeuXKXQoB8kv';

  const response = await fetch(`https://service.pcibooking.net/api/verify/${verificationId}`, {
    headers: {
      'Authorization': 'APIKEY your-api-key'
    }
  });

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  verification_id = 'xLoat3F385vvFRbgI2usOeuXKXQoB8kv'

  response = requests.get(
      f'https://service.pcibooking.net/api/verify/{verification_id}',
      headers={
          'Authorization': 'APIKEY your-api-key'
      }
  )

  print(response.json())
  ```
</RequestExample>

## Response

| Field         | Type     | Description                                                                                 |
| ------------- | -------- | ------------------------------------------------------------------------------------------- |
| `verifyId`    | string   | The unique ID of the verification session.                                                  |
| `status`      | string   | The current status. Possible values: `Pending`, `OtpSent`, `Verified`, `Failed`, `Expired`. |
| `completedAt` | datetime | The UTC datetime at which the verification was completed. Returns `null` if still pending.  |
| `metadata`    | string   | The metadata string provided in the original request. Returns `null` if not provided.       |

<ResponseExample>
  ```json 200 theme={null}
  {
      "verifyId": "xLoat3F385vvFRbgI2usOeuXKXQoB8kv",
      "status": "Pending",
      "completedAt": null,
      "metadata": "MY-REFERENCE_098"
  }
  ```

  ```json 400 theme={null}
  {
      "code": -125,
      "message": "Bad input data",
      "moreInfo": "...",
      "errorList": null
  }
  ```
</ResponseExample>
