> ## Documentation Index
> Fetch the complete documentation index at: https://docs.inferwall.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Policies API: Inspect Active Detection Policies

> GET /v1/policies returns all loaded policy profiles with their enforcement mode, scoring thresholds, and per-signature overrides. Requires a scan or admin key.

The policies endpoint lets you inspect the policy profiles that InferenceWall has loaded. Use it to verify which policy is active, check detection thresholds, and review per-signature overrides — without needing access to the file system.

***

## GET /v1/policies

List all loaded policy profiles with their full configuration.

### Example

```bash theme={null}
curl http://localhost:8000/v1/policies \
  -H "Authorization: Bearer iwk_scan_YOUR_KEY"
```

```json theme={null}
[
  {
    "name": "default",
    "mode": "enforce",
    "thresholds": {
      "input": {
        "flag": 4.0,
        "block": 10.0
      },
      "output": {
        "flag": 3.0,
        "block": 7.0
      }
    },
    "overrides": []
  }
]
```

### Response fields

<ResponseField name="name" type="string">
  The policy profile name as defined in the policy YAML file.
</ResponseField>

<ResponseField name="mode" type="string">
  Operating mode: `enforce` (apply decisions) or `monitor` (log only, never block).
</ResponseField>

<ResponseField name="thresholds" type="object">
  Score thresholds that drive `flag` and `block` decisions for inbound and outbound traffic.

  <Expandable title="thresholds properties">
    <ResponseField name="input.flag" type="number">
      Minimum score to flag inbound traffic (default: `4.0`).
    </ResponseField>

    <ResponseField name="input.block" type="number">
      Minimum score to block inbound traffic (default: `10.0`).
    </ResponseField>

    <ResponseField name="output.flag" type="number">
      Minimum score to flag outbound traffic (default: `3.0`).
    </ResponseField>

    <ResponseField name="output.block" type="number">
      Minimum score to block outbound traffic (default: `7.0`).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="overrides" type="array">
  Per-signature overrides applied on top of the base policy. Each entry can disable a specific signature, change its action, or adjust its scoring weight.
</ResponseField>

***

## Use cases

* **Verify the active policy** — confirm that the correct policy file was loaded after startup or a hot-reload.
* **Inspect thresholds** — check flag and block thresholds without reading the policy YAML directly.
* **Audit per-signature overrides** — review which signatures have been customized, disabled, or had their action changed from the default.

<Tip>
  After changing your policy file, call `POST /v1/admin/reload` to apply the changes without restarting the server, then call `GET /v1/policies` to confirm the update took effect.
</Tip>

For guidance on configuring policies, see [Policies](/concepts/policies) and [Custom Policies](/guides/custom-policies).
