# Get an Auto model rule

Return one scope's Auto model rule — the organisation's, a department's or an assistant's — with what it inherits from the layers above and from which layer, the bounds it may set, and its clashes with other rules. A scope without a rule answers `exists: false` with the inherited view, which is what a rule editor opens on. See [Auto Model](/docs/documentation/core-concepts/auto-model).

## Authentication

Requires authentication (Bearer token or `x-api-key`). Organisation and department rules need the `manage_users` capability; an assistant's rule is also open to that assistant's editors. Requires the Auto model to be switched on for the organisation (`404 AUTO_MODEL_NOT_ENABLED` otherwise). Another organisation in the path answers `403 ORGANIZATION_ACCESS_DENIED`.

#### Path Parameters

**`organization_id`** string required

The organisation (`org_` prefix).

**`scope_type`** string required

`organization`, `department` or `assistant`.

**`scope_id`** string required

The organisation id (for `organization`), a department id (`dept_`) or an assistant id (`asst_`) of this organisation. One that is not in the organisation answers `404 AUTO_MODEL_SCOPE_NOT_FOUND`.

## Returns

Returns `200 OK` with an [Auto model rule object](/docs/api-reference/objects/auto-model-rule-object): `exists`, `scope`, `settings`, `enforced`, `people_can_choose`, `locked_reason`, `inherited` (with `provenance` per setting), `bounds` (with `excluded` models and why), `clashes`, `updated_at` and `updated_by`.

Request

```bash cURL
curl https://api.aitronos.com/v1/organizations/org_7d2c9e41a5b84f0e/auto-model/rules/department/dept_5a1c7e2b9d4f4a8e \
  -H "X-API-Key: $FREDDY_API_KEY"
```


```python Python SDK
from aitronos import Aitronos

client = Aitronos(api_key="your-api-key")

rule = client.auto_model.get_auto_model_rule(
    organization_id="org_7d2c9e41a5b84f0e",
    scope_type="department",
    scope_id="dept_5a1c7e2b9d4f4a8e",
)
print(rule)
```


```python Python
import os
import requests

response = requests.get(
    "https://api.aitronos.com/v1/organizations/org_7d2c9e41a5b84f0e/auto-model/rules/department/dept_5a1c7e2b9d4f4a8e",
    headers={"X-API-Key": os.environ["FREDDY_API_KEY"]},
)
print(response.json())
```


```javascript JavaScript
const response = await fetch(
  'https://api.aitronos.com/v1/organizations/org_7d2c9e41a5b84f0e/auto-model/rules/department/dept_5a1c7e2b9d4f4a8e',
  { headers: { 'X-API-Key': process.env.FREDDY_API_KEY } },
);
const rule = await response.json();
console.log(rule.inherited, rule.bounds);
```

200 OK

```json
{
  "exists": false,
  "scope": {"type": "department", "id": "dept_5a1c7e2b9d4f4a8e", "name": "Support", "people": 2, "sub_departments": 0},
  "settings": {},
  "enforced": false,
  "people_can_choose": null,
  "locked_reason": null,
  "inherited": {
    "preset": "balanced",
    "weights": {"quality": 0.6, "speed": 0.2, "cost": 0.2},
    "effort": {"min": "off", "max": "max"},
    "max_chf_per_message": null,
    "allow_priority_tier": false,
    "people_can_choose": true,
    "enabled": true,
    "pool": {"mode": "all_allowed", "models": []},
    "locked_by": null,
    "locked_reason": null,
    "provenance": {
      "preset": {"layer": "platform", "scope_id": null, "name": "Platform default"},
      "pool": {"layer": "platform", "scope_id": null, "name": "Platform default"},
      "effort": {"layer": "platform", "scope_id": null, "name": "Platform default"},
      "max_chf_per_message": {"layer": "platform", "scope_id": null, "name": "Platform default"},
      "allow_priority_tier": {"layer": "platform", "scope_id": null, "name": "Platform default"},
      "enabled": {"layer": "platform", "scope_id": null, "name": "Platform default"},
      "people_can_choose": {"layer": "platform", "scope_id": null, "name": "Platform default"}
    }
  },
  "bounds": {
    "effort": {"min": "off", "max": "max"},
    "max_chf_per_message": null,
    "models": ["ftg-4", "ftg-4-pro", "ftg-4-light"],
    "excluded": []
  },
  "clashes": [],
  "updated_at": null,
  "updated_by": null
}
```

Errors

```json 404 Not Found
{
  "success": false,
  "error": {
    "code": "AUTO_MODEL_SCOPE_NOT_FOUND",
    "message": "We couldn't find that department or assistant in this organisation.",
    "type": "client_error",
    "status": 404,
    "details": {"scope_type": "department", "scope_id": "dept_doesnotexist"},
    "trace_id": "9c729929-ce98-41c6-8b7d-142d9a13862f",
    "timestamp": "2026-10-27T04:51:33Z"
  }
}
```


```json 403 Forbidden
{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "You don't have permission to perform this action.",
    "type": "authorization_error",
    "status": 403,
    "details": {"required_capability": "manage_users"},
    "trace_id": "97406499-dc1f-4982-b273-04989bee6e48",
    "timestamp": "2026-10-27T04:51:33Z"
  }
}
```


```json 404 Not Found (switched off)
{
  "success": false,
  "error": {
    "code": "AUTO_MODEL_NOT_ENABLED",
    "message": "Auto isn't available for this organisation.",
    "type": "client_error",
    "status": 404,
    "details": {"feature": "auto_model"},
    "trace_id": "5c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",
    "timestamp": "2026-10-27T04:51:33Z"
  }
}
```

## Related Resources

- [Auto Model concept](/docs/documentation/core-concepts/auto-model)
- [Auto model rule object](/docs/api-reference/objects/auto-model-rule-object)
- [List Auto model rules](/docs/api-reference/auto-model/list-rules)
- [Create or replace an Auto model rule](/docs/api-reference/auto-model/update-rule)
- [Delete an Auto model rule](/docs/api-reference/auto-model/reset-rule)
- [Preview an Auto model rule](/docs/api-reference/auto-model/simulate)