# DoNotAct Agent Docs

DoNotAct v1.1 exposes two authenticated diagnostics endpoints and anonymous health.

## Endpoints

- `GET /v1/preflight/{venue}/{market_id}`
- `GET /v1/resolution-risk/{venue}/{market_id}`

## Required Agent Behavior

Preserve `verdict`, `checks_evaluated`, `no_trade_reasons`, `what_would_change_this`, `not_advice`, and evidence gaps.

Never convert diagnostics into trading instructions.

## Contract

Use `/openapi.json` as the source of truth.

## Access Requests

Use `POST /keys/request` to request manual review for API access. This endpoint queues a request only; it does not create or return an API key.

Required JSON fields:

```json
{
  "email": "builder@example.com",
  "requested_tier": "free",
  "intended_use": "agent diagnostics integration",
  "accepts_terms": true
}
```

After a key is issued manually, operators can run `scripts/closeedge_authenticated_smoke.py` in dry-run mode first, then with `--execute` only when `CLOSEEDGE_API_KEY` is deliberately provided. The script must never print the key.

## Rejection Classes

Use `/docs/rejection-classes` for the synchronized R1-R8 `NoTradeReason.class` taxonomy. Preserve class and code values exactly.

## SDK Integration

Use `/examples/sdk-integration.md` for minimal Python, JavaScript, and direct HTTP examples. Agents must preserve blocking verdicts and receipts.

## Receipts

Use `/docs/receipts` to understand the `receipt` object and offline verification flow. A receipt proves what DoNotAct returned; it is not permission to continue after a blocking verdict.

## Monthly Incident Reports

Use `/docs/monthly-incident-reports` for the offline export-and-report flow. Reports count diagnostic calls, fail-closed responses, source attribution, and reason-code distribution. They are not monetary savings reports, not outcome predictions, and not trading-performance reports.
