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

# Trigger Domain Check

> Trigger an immediate domain expiration check and return the results

Manually trigger a domain expiration check outside the regular monitoring interval. The check queries WHOIS data for registration and expiry details.

## Path Parameters

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

## Response

<ResponseField name="status" type="string">
  Check result: `ok`, `warning`, `critical`, or `error`
</ResponseField>

<ResponseField name="days_until_expiry" type="number">
  Days until the domain registration expires
</ResponseField>

<ResponseField name="expires_on" type="string">
  Domain expiration date (ISO 8601)
</ResponseField>

<ResponseField name="registrar" type="string">
  Domain registrar name
</ResponseField>

<ResponseField name="name_servers" type="array">
  Current name servers for the domain
</ResponseField>

<ResponseField name="error" type="string">
  Error message if the check failed (null on success)
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://kodostatus.com/api/v1/domain-monitors/dom_abc123" \
    -H "X-API-Key: your_api_key"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://kodostatus.com/api/v1/domain-monitors/dom_abc123', {
    method: 'POST',
    headers: { 'X-API-Key': 'your_api_key' }
  });
  const result = await response.json();
  console.log(`Domain expires in ${result.days_until_expiry} days (${result.registrar})`);
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "status": "ok",
    "days_until_expiry": 285,
    "expires_on": "2026-12-01T00:00:00Z",
    "registrar": "Cloudflare, Inc.",
    "name_servers": ["ns1.cloudflare.com", "ns2.cloudflare.com"],
    "error": null
  }
  ```
</ResponseExample>
