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

# Configuration

> GET /railscore/v1/config - See the current governance configuration for your API key's application.

<Info>
  **Concept:** [Applications](/concepts/applications) · [Policy Engine](/concepts/policy-engine) | **SDK:** [Python Configuration](/sdk/python/configuration)
</Info>

Returns the configuration in effect for the application your API key is bound to: which application and environment the key belongs to, the governance policy applied to its evaluations, and whether that policy is actively enforced or running in monitor mode.

This is read-only. Policies are edited in the [dashboard](https://responsibleailabs.ai/dashboard); the API key cannot change them.

## Request

<CodeGroup>
  ```bash curl theme={null}
  curl https://api.responsibleailabs.ai/railscore/v1/config \
    -H "Authorization: Bearer YOUR_RAIL_API_KEY"
  ```

  ```python Python SDK theme={null}
  from rail_score_sdk import RailScoreClient

  client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")
  cfg = client.get_config()  # added in SDK 2.6.0; no credits

  print(cfg.policy.enforcement, cfg.enforcement.mode)
  ```
</CodeGroup>

## Response

```json theme={null}
{
  "application": {
    "id": "app_1a2b3c",
    "environment": "production",
    "organization": "Acme",
    "plan": "pro"
  },
  "policy": {
    "enforcement": "regenerate",
    "evalMode": "deep",
    "overallThreshold": 7.5,
    "domain": "healthcare",
    "dimensionThresholds": { "Safety": 8 },
    "dimensionWeights": { "Safety": 20 },
    "compliance": ["India DPDP"],
    "safeRegenerate": { "enabled": true, "maxAttempts": 2, "fallback": "human_review" },
    "locked": false
  },
  "enforcement": { "active": false, "mode": "monitor" }
}
```

<ResponseField name="application" type="object">
  The application this key is scoped to: `id`, `environment`, `organization`, and `plan`.
</ResponseField>

<ResponseField name="policy" type="object">
  The governance policy applied to this application's evaluations.

  * `enforcement` — `log_only` (record outcomes only), `block` (reject below threshold), or `regenerate` (attempt a safe rewrite, then apply the fallback).
  * `evalMode` — default evaluation depth: `basic` or `deep`.
  * `overallThreshold` — minimum RAIL score (0–10) to pass.
  * `domain` — domain context that tunes dimension sensitivity.
  * `dimensionThresholds` — per-dimension minimum scores; a dimension below its threshold fails the policy.
  * `dimensionWeights` — how much each dimension contributes to the overall score.
  * `compliance` — frameworks tracked for this application.
  * `safeRegenerate` — rewrite settings: `enabled`, `maxAttempts`, and `fallback` (`block`, `log`, or `human_review`).
  * `locked` — when `true`, this policy is authoritative and per-request overrides are ignored.
</ResponseField>

<ResponseField name="enforcement" type="object">
  Whether the policy is currently shaping responses. `active: true` (`mode: enforce`) means the policy can block or regenerate; `active: false` (`mode: monitor`) means outcomes are recorded but responses are not altered.
</ResponseField>

<Tip>
  Use `enforcement.mode` to know how your application is governed right now. In `monitor` mode every evaluation still reports a `policy_outcome` (see [Evaluation](/api-reference/evaluation)), so you can observe what *would* be blocked before enforcement is turned on.
</Tip>
