Get Insights settings
const url = 'http://127.0.0.1:8080/v1/insights/settings';const options = { method: 'GET', headers: {'Deedglass-Version': '2026-10-01', Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://127.0.0.1:8080/v1/insights/settings \ --header 'Authorization: Bearer <token>' \ --header 'Deedglass-Version: 2026-10-01'This org’s Insights settings (S27): whether policies see anomaly facts (anomaly_facts, off by default: then every policy sees anomaly.active false), how long an episode stays active after its last finding (anomaly_active_minutes, 60), and how old the last detection pass may be before, with the facts on, every agent counts as anomalous (anomaly_stale_after_minutes, 15). active_policy_reads_anomaly says whether the enforced or shadow policy reads anomaly.*; notice is the sentence when it does but the facts are off. A Console session (viewer and up) or an org admin key (admin scope); agent keys get 403 insufficient_scope.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”The API version (YYYY-MM-DD). Leave it out to use your org’s pinned version (public routes use the latest). An unknown version is 400 api_version_invalid.
Responses
Section titled “Responses”The settings.
object
This org’s policies see anomaly.*. Off by default.
How long an episode stays active after its last finding (default 60).
With the facts on, a detection pass older than this makes every agent anomalous (detector_stale), because unknown isn’t usual (default 15).
The enforced or shadow policy reads anomaly.*.
The sentence when a policy reads anomaly facts but they are off.
S28: Claude may reword suggestions (off by default; needs the operator’s DEEDGLASS_ANTHROPIC_API_KEY).
The month’s phrasing spend cap in cents (default 200).
Who gets the weekly digest (default owners).
object
The server has an Anthropic key
S28: the org’s history came from deedglass dev simulate (the Console shows a banner).
PATCH only, when something changed: the insights.settings_changed admin deed.
Examples
The defaults
{ "object": "insights_settings", "anomaly_facts": false, "anomaly_active_minutes": 60, "anomaly_stale_after_minutes": 15, "active_policy_reads_anomaly": false, "notice": null}A policy reads anomaly facts, but they are off
{ "object": "insights_settings", "anomaly_facts": false, "anomaly_active_minutes": 60, "anomaly_stale_after_minutes": 15, "active_policy_reads_anomaly": true, "notice": "acme-sim v3 reads anomaly.active, but anomaly facts are off for this org, so it always sees false. Turn them on in Console › Insights › Settings."}Headers
Section titled “Headers”This request’s id. Quote it to support; it matches error.request_id.
The API version this response follows.
default
Section titled “default”An error. Every error has this envelope; doc_url explains the code.
object
object
One or more calm sentences with the next step.
The request field, query parameter or header the error is about.
On policy_invalid only. Each problem with its line, code and hint.
One finding about a policy file, with its position and the next step. Codes are stable and listed in docs/POLICY_ERRORS.md. In the policy_invalid error envelope each diagnostic also carries object: policy_diagnostic. The full PolicyDiagnostic schema is in openapi.yaml.
object
One agent action. Its sections mirror the deed’s. status is the one field an agent needs; state is the exact lifecycle state (docs/GATE.md). The Gate’s own responses (POST /v1/actions and its result report) add execution.result and witness.reasons; lists leave both out. The full Action schema is in openapi.yaml.
object
On undo_unavailable only. Every check of the undo, each with its fix. Additive (S23).
One of the twelve safety checks (S23 §3.3). Available means no check failed. The full UndoCheck schema is in openapi.yaml.
object
Example
{ "error": { "type": "invalid_request_error", "code": "not_found", "message": "There's no endpoint at GET /v1/helth. Did you mean /v1/health?", "param": null, "request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d", "doc_url": "https://docs.deedglass.com/errors/not_found" }}Headers
Section titled “Headers”This request’s id. Quote it to support; it matches error.request_id.
The API version this response follows.