Read one signed monthly drift report
Organization API key with decision:read and role VIEWER or higher.
Authorization
ApiKeyAuth An organization API key. Its scopes decide what it may call;
decision:shadow is the narrowest: SHADOW evaluations through
POST /v1/authority/grants or its alias
POST /v1/authority/enforce-and-bind only (DECISION_SHADOW_MODE_DENIED
in any other mode; DECISION_SHADOW_FIELD_DENIED for a body carrying
context.decionis_policy, evidence or escalation), with no
integration dispatch. A key whose only scope is decision:shadow
(an AgentSafe hosted gateway's) reaches exactly those two,
POST /v1/auth/credential-context, POST /v1/hosted-gateway/keys/confirm
and POST /v1/hosted-gateway/keys/revoke-self; every other route
answers 403 HOSTED_GATEWAY_KEY_PATH_DENIED.
decision:enforce is an enforced hosted gateway's key: evaluations
in SHADOW or ENFORCEMENT through POST /v1/authority/grants or its
alias (400 DECISION_ENFORCE_FIELD_DENIED for a body carrying
context.decionis_policy; it never holds policy:write), and the
grants and managed escalations they bind. A key whose scopes are
decision:enforce (with or without decision:shadow) reaches exactly
POST /v1/authority/enforce-and-bind, POST /v1/authority/grants,
GET /v1/authority/grants/{grant_id},
POST /v1/authority/grants/{grant_id}/claims,
POST /v1/authority/grants/{grant_id}/receipts,
POST /v1/authority/grants/{grant_id}/reconciliations,
POST /v1/execution/verify-token, POST /v1/execution/claim-token,
POST /v1/execution/consume-token, POST /v1/execution/finalize-token,
GET /v1/authority/escalations/{escalation_id},
DELETE /v1/authority/escalations/{escalation_id},
POST /v1/auth/credential-context, POST /v1/hosted-gateway/keys/confirm
and POST /v1/hosted-gateway/keys/revoke-self, each id a UUID; every
other route answers 403 HOSTED_GATEWAY_KEY_PATH_DENIED.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/outcomes/reports/drift/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "artifact": { "version": "decionis.outcomes.drift/1", "report_id": "5ed7905a-4735-4cf7-b1ab-521e066fb971", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "period": "string", "window": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" }, "closed_at": "2019-08-24T14:15:22Z", "policy_changes": { "releases": 0, "activations": 0, "managed": 0, "standard": 0, "changes": [ { "kind": "RELEASE", "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04", "environment": "sandbox", "action": "TESTING", "from": { "revision_id": "f8f7f022-982b-4bef-ba7d-4bb808fdbe2a", "number": 1, "digest": "string" }, "to": { "revision_id": "f8f7f022-982b-4bef-ba7d-4bb808fdbe2a", "number": 1, "digest": "string" }, "release_id": "51d53377-463c-43a4-a864-f9b3ed9178de", "release_digest": "string", "deployment_id": "6ef0ac85-9892-4664-a2a5-58bf2af5a8a6", "deployment_digest": "string", "approvals": [ { "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5", "role": "string", "at": "2019-08-24T14:15:22Z" } ], "activated_by": "3b235784-7760-4db5-9491-3b6e22aa5d1c", "governance_profile": "MANAGED", "at": "2019-08-24T14:15:22Z" } ], "truncated": true }, "shadow": { "basis": "ESTIMATE", "observations": { "evaluations": { "SHADOW": 0, "PARALLEL": 0 }, "disagreements": 0, "by_type": [ { "decision_type": "string", "mode": "SHADOW", "shadow_verdict": "ESCALATE", "verdict_effect": "OBSERVED", "count": 0 } ], "truncated": true }, "replays": { "compared": 0, "differing": 0, "by_type": [ { "decision_type": "string", "enforced_verdict": "APPROVE", "shadow_verdict": "APPROVE", "count": 0 } ], "truncated": true } }, "coverage": { "ungoverned": 0, "observed": 0, "sources": [ { "source": "string", "status": "reported", "description": "string", "records": 0, "ungoverned": 0, "observed": 0, "gaps": [ { "platform": "string", "action_type": "string", "coverage": "UNGOVERNED", "count": 0 } ] } ] }, "narrative": [ "string" ], "inputs": { "sha256": "string", "sources": [ { "source": "string", "records": 0, "sha256": "string" } ] } }, "artifact_sha256": "string", "canonicalization": "RFC8785/JCS", "verification": "signed", "signature": { "algorithm": "Ed25519", "keyId": "string", "value": "string" }, "public_jwks_path": "/.well-known/decision-dossier-jwks.json"}List signed monthly drift reports GET
Organization API key with decision:read and role VIEWER or higher. Every drift report of the key's organization (decionis.outcomes.drift/1), optionally for one month: policy releases and activations with their approvals and governance profile, SHADOW and PARALLEL verdicts that disagreed with what was enforced (counts by decision type and verdict, never money), and writes that passed without a binding decision. Every number comes from records; a source Core does not hold is listed as not_reported, never as zero. Closed monthly with the statements, signed with the dossier key or labelled unsigned, and verifiable offline with `decionis-verify outcomes`. 503 outcomes_disabled while the meter is off.
List outcome disputes GET
Organization API key with decision:read and role VIEWER or higher.

