Files
git.stella-ops.org/docs/api/console/exception-schema.md
master 3f3473ee3a
Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
feat: add Reachability Center and Why Drawer components with tests
- Implemented ReachabilityCenterComponent for displaying asset reachability status with summary and filtering options.
- Added ReachabilityWhyDrawerComponent to show detailed reachability evidence and call paths.
- Created unit tests for both components to ensure functionality and correctness.
- Updated accessibility test results for the new components.
2025-12-12 18:50:35 +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-StellaOps-Tenant` (required)
- `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)