---
title: "Get Decision Settings"
method: GET
path: "/snapshots/{snapshot_id}/decisions/settings"
tags: ["dashboard"]
---

# Get Decision Settings

`GET /snapshots/{snapshot_id}/decisions/settings`

The repository's resolved decision capture policy.

Stored sparsely on `repos.decisions_policy` and resolved through the
engine's own pure resolver, so hosted cannot drift from what capture will
actually do. The engine reads the same block out of `.repowise/config.yaml`
in a checkout; hosted has no durable checkout, so the column is where a
hosted repository's answer lives.

Declared above `/{decision_index}` for the same reason `/counts` is:
FastAPI matches in declaration order.

## Path parameters

- `snapshot_id` string, required

## Response `200`

Successful Response

- DecisionSettingsResponse — The resolved capture policy, as the shared settings panel expects it. Resolved rather than stored: the column holds only the keys somebody set, and the engine's resolver fills the rest from the preset on every read. So a repository never silently acquires a capture source because a default moved, and never silently keeps one either. ``provider_available`` is what the repository's last index run actually had for model-backed capture, stamped by the indexer on ``repos.decision_capture`` -- the web process reads a different environment than the one the provider is built from, so it cannot answer this for itself. False when the last run had no provider, and also when the repository has not been indexed since the stamp existed; a warning says which. With it false, each source reports its deterministic stage running and its model stage skipped, with the reason. ``etag`` is the concurrency token. The panel sends it back on write and a stale one is refused, so two people editing the same policy cannot silently overwrite each other.
  - `enabled` boolean, required
  - `llm` boolean, required
  - `preset` string, required
  - `discovery` object, required
  - `sources` object[], required
  - `agent_acceptance` boolean
  - `capture_prompt` boolean
  - `provider_available` boolean
  - `warnings` string[]
  - `legacy_keys` string[]
  - `etag` string

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-21** `cce15d886f2b` — 2 info
  - added the optional property `agent_acceptance` to the response with the `200` status
  - added the optional property `capture_prompt` to the response with the `200` status

[Change history](https://skmtc.dev/repowise/apis/repowise-hosted-api/changes/snapshots/:snapshot_id/decisions/settings/get.md)

---

[API](https://skmtc.dev/repowise/apis/repowise-hosted-api.md) · [All operations](https://skmtc.dev/repowise/apis/repowise-hosted-api/llms.txt) · [OpenAPI document](https://skmtc.dev/repowise/apis/repowise-hosted-api/revisions/8c05b8b9a5c4?raw)
