---
title: "Record enforcement outcome"
method: POST
path: "/api/v1/controls/outcome"
tags: ["Controls"]
---

# Record enforcement outcome

`POST /api/v1/controls/outcome`

## Request

- Base URL: `http://dobby-ai.com`
- URL: `http://dobby-ai.com/api/v1/controls/outcome`
- Auth: HTTP bearer

Records what your code actually did with a verdict (honored / ignored / remediated) — the write side of the adherence loop. Auth: `sk_live_` API key (`Authorization: Bearer` or `X-API-Key`). Requires the `controls:report` scope (`controls:*` and `*` also pass). Either `honored` or `developer_response` is required. Retries with the same `decision_id` are deduped and return `recorded: false, deduped: true`.

## Request body

- object
  - `decision_id` string, nullable: The verdict's decision_id from /controls/check — enables retry dedup
  - `honored` boolean: true = your code stopped the denied action; false = it proceeded anyway
  - `developer_response` 'honored' | 'ignored' | 'remediated': Explicit outcome (takes precedence over `honored`)
  - `action_taken` string, nullable
  - `detail` string, nullable
  - `action` string, nullable: The tool/action the verdict was for (denormalized for rollups)
  - `verdict` string, nullable
  - `actor_id` string, nullable
  - `workflow_id` string, nullable
  - `correlation_id` string, nullable: Shared id linking this outcome to the LLM-call telemetry for the same action

## Response `200`

Outcome recorded (recorded: false + deduped: true on a retried decision_id)

- object
  - `success` boolean
  - `data` object
    - `outcome_id` string
    - `recorded` boolean
    - `deduped` boolean

## Other responses

- `400`: Bad Request - Invalid parameters
- `401`: Unauthorized - Missing or invalid authentication
- `403`: Key lacks the `controls:report` scope (`error: insufficient_scope`)

---

[API](https://skmtc.dev/dobby-ai/apis/dobby-platform-api.md) · [All operations](https://skmtc.dev/dobby-ai/apis/dobby-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dobby-ai/apis/dobby-platform-api/revisions/398634f0306f?raw)
