
# ICHRAX API

The ICHRAX API enables trading partners to submit member enrollment data for downstream insurance carrier processing. It follows an asynchronous request/poll pattern: you submit a batch of member snapshots and receive a `snapshot_id`, then poll until processing completes.

## Authentication

All requests require an API key in the `x-api-key` header. API keys are issued per trading partner consumer. Contact your ICHRAX administrator to obtain credentials.

```http
POST /api-integrations/ichrax/v1/member-snapshots
x-api-key: your-api-key-here
Content-Type: application/json
```

## Processing Model

Snapshot processing is asynchronous:

1. **Submit** — POST a member snapshot batch and receive a `snapshot_id`
2. **Poll** — GET the snapshot status using the `snapshot_id` until processing completes
3. **Review** — Inspect per-member status codes and validation messages

## Key Concepts

**Snapshot** — A single submission record representing one employee and their dependents, tied to a coverage election. Each call to the submit endpoint accepts an array of snapshots.

**Employee** — The subscriber/policyholder, including personal details and employment information.

**Dependent** — An enrolled family member (spouse, child, or domestic partner) associated with the employee.

**Coverage** — An insurance plan election identified by a HIOS plan ID and carrier. Each coverage record lists the enrolled members with their effective dates.

**Carrier-Specific Config** — Optional carrier-level flags included alongside standard coverage data. Currently supported for Anthem (`carrier_id: "anthem"`).

**Event** — A qualifying life event (e.g., `new_hire`, `birth`, `marriage`) that triggered the enrollment change.

## Versioning

The current API version is `v1`. All endpoints are prefixed with `/api-integrations/ichrax/v1/`.

## Error Handling

The API returns standard HTTP status codes. Validation failures on individual members are surfaced in the polling response as per-member status codes and messages, not as top-level HTTP errors. Always poll to completion to see full results.
