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

# Risk-engine endpoint reference template

> Registry-backed template demonstrated with the generic fixture engine.

<Warning>
  This is a template demonstrated with `generic_fixture_engine`. It is not a
  production risk-engine slug or schema. The production page is generated only
  after the approved launch slug, versions, configuration, and immutable schemas
  are published to the supported-version registry.
</Warning>

## Discovery record

| Field                     | Fixture demonstration                                                     |
| ------------------------- | ------------------------------------------------------------------------- |
| Registry engine kind      | `generic_fixture_engine`                                                  |
| Exact baseline            | `1.0`                                                                     |
| Deliberate upgrade target | `1.1`                                                                     |
| Version discovery         | `GET /api/v1/engines/{engine_slug}/versions`                              |
| Registry index            | [supported-versions/index.json](/contracts/supported-versions/index.json) |

The registry index points to a content-addressed manifest. The manifest names
the exact request schema, response schema, fixture corpus, release timestamp,
changelog, and SHA-256 for every file. Verify each downloaded file before use.

## Submit

```bash theme={null}
curl -X POST "https://api.usenexio.com/api/v1/engines/$ENGINE_SLUG/runs" \
  -H "Authorization: Bearer $RUNTIME_KEY" \
  -H "Content-Type: application/json" \
  -d '{"engine_version":"1.0","input":{"request_id":"registry-template"}}'
```

```python theme={null}
import httpx

response = httpx.post(
    f"https://api.usenexio.com/api/v1/engines/{engine_slug}/runs",
    headers={"Authorization": f"Bearer {runtime_key}"},
    json={"engine_version": "1.0", "input": {"request_id": "registry-template"}},
)
response.raise_for_status()
run_id = response.json()["run_id"]
```

```typescript theme={null}
const response = await fetch(
  `https://api.usenexio.com/api/v1/engines/${engineSlug}/runs`,
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${runtimeKey}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      engine_version: '1.0',
      input: { request_id: 'registry-template' },
    }),
  },
)
if (!response.ok) throw new Error(await response.text())
const { run_id: runId } = await response.json()
```

The accepted response is `{ "run_id": "<uuid>", "status": "queued" }`.
Poll the stable run ID until `completed`, `degraded`, or `failed`.

## Template completion checklist

The launch-specific generated page must replace every fixture value with
registry-derived facts:

1. approved real engine slug and exact supported versions
2. immutable request and response schema links and hashes
3. full canonical request and terminal response examples
4. required capability set and engine binding
5. effective request bounds, configured RPM, and monthly cap
6. stable engine-specific errors and operator escalation path

Until those values exist in the registry, the production risk-engine reference
is launch-configuration pending.
