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

# Environments

> Base URLs, API keys, and environment configuration for all SNH AI services

All SNH AI services are available in multiple environments. Use the appropriate base URL for your integration stage.

## Base URLs

| Environment    | Base URL                        | Description                             |
| -------------- | ------------------------------- | --------------------------------------- |
| **Production** | `https://cra.pr.snh-ai.com`     | Live environment for production traffic |
| **Staging**    | `https://cra.pr.stg.snh-ai.com` | Pre-production testing and UAT          |

<Note>
  Staging uses **separate API keys** from production. Contact the [SNH AI Team](mailto:ali.tahsini@snh-ai.com,nishitha.narreddi@snh-ai.com,shams.syed@snh-ai.com) to obtain staging credentials.
</Note>

## API Keys

API keys are issued per organization, per environment. See [Account Setup](/account-setup) to obtain your credentials.

| Format  | Example                      |
| ------- | ---------------------------- |
| API Key | `eval-api-key-<unique-hash>` |

For authentication details, see [Authentication](/authentication).

## Usage Guidelines

* **Timeouts:** Set your HTTP client timeout to at least **120 seconds** for evaluation requests.
* **Payload size:** XML payloads with many cases/charges may result in longer response times.

### Response Times

| Scenario                         | Expected Time |
| -------------------------------- | ------------- |
| Single record, 1–2 charges       | 1–3 seconds   |
| Complex record with 10+ offenses | 3–10 seconds  |

<Note>
  Response times vary based on record complexity (number of cases and offenses) and current system load.
</Note>

### Timeout and Error Handling

* Set your HTTP client timeout to **120 seconds**.
* If the API does not respond within the timeout, retry once after 5 seconds.
* If the retry also fails, route the record to your manual review queue.
* Check `/health` before retrying to confirm service availability.

See [Retry Logic](/retry-logic) for the full retry strategy.

## Verifying Your Integration

<Steps>
  <Step title="Health Check">
    Call `/health` and verify a `200` response. See [Health endpoint](/api-reference/endpoints/health).
  </Step>

  <Step title="Get Token">
    Exchange your API key for a JWT token via `/auth/token`. See [Authentication](/authentication).
  </Step>

  <Step title="Evaluate a Record">
    Submit a single record via `/evaluate` and verify the response structure. See [Quickstart](/quickstart).
  </Step>
</Steps>
