Files
git.stella-ops.org/docs/api/console/exception-schema.md
2025-12-24 12:38:14 +02:00

39 lines
1.4 KiB
Markdown

# Console Exceptions API Schema (Web I)
**Status:** Interim contract shipped by Web I to unblock SDK/UI work. Align to the authoritative Policy/Events schema when published.
## Scope
- `/exceptions` CRUD/workflow (create, propose, approve/reject, revoke, list, history) proxied by the gateway.
- Deterministic pagination (`continuationToken`), stable sorting, and explicit audit trails.
## Headers
- `X-Stella-Tenant` (required; legacy alias: `X-StellaOps-Tenant`)
- `X-Stella-Project` (optional)
- `X-Stella-Trace-Id` (required)
- `X-Stella-Request-Id` (required; defaults to trace ID)
## Scopes
- Read: `exception:read`
- Create/edit: `exception:write`
- Approve/reject/revoke: `exception:approve`
## Endpoints
- `GET /exceptions?status=&severity=&search=&sortBy=&sortOrder=&limit=&continuationToken=`
- `GET /exceptions/{exceptionId}`
- `POST /exceptions`
- `PATCH /exceptions/{exceptionId}`
- `DELETE /exceptions/{exceptionId}`
- `POST /exceptions/{exceptionId}/transition`
- `GET /exceptions/stats`
## Entity shape
This doc mirrors the web contract used by the Angular SDK (`src/Web/StellaOps.Web/src/app/core/api/exception.contract.models.ts`).
- Sample exception: `docs/api/console/samples/exception-schema-sample.json`
## Status transitions (baseline)
- `draft``pending_review` (submit)
- `pending_review``approved` | `rejected`
- `approved``revoked`
- `approved``expired` (timebox lapse; system-driven)