
# List an organization's policies

`GET /v1/organizations/{org_id}/policies` · permission `organizations:read`

Lists the organization's written identity policies in kind order (`authentication_methods`, `mfa`, `phishing_resistant`, `sso_enforcement`, `session`, `ip_allowlist`). A kind that is not written inherits the environment's value and is not listed.

## Request

| Field | Type | Required | Description |
|---|---|---|---|
| `org_id` | path | yes | Organization ID (`org_…`). |

No request body.

## Response

`200 OK` with the organization's written policies. The list is not paginated (at most six items); the cursors are `null`.

```json
{
  "data": [
    {
      "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
      "policy_kind": "mfa",
      "schema_version": 1,
      "settings": {
        "required_for": "all",
        "allowed_factors": [
          "totp",
          "webauthn"
        ],
        "enrollment_grace_days": 7
      },
      "updated_at": "2026-10-12T09:30:00.123456Z",
      "version": 1
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}
```

## Errors

| HTTP | code | When |
|---|---|---|
| 404 | `not_found` | No organization with this ID exists in this environment. |
| 401 | `unauthenticated` | The credential is missing, invalid or revoked. |
| 403 | `insufficient_permissions` | The credential lacks the required permission. |
| 429 | `rate_limited` | The rate limit was exceeded; retry after the `Retry-After` period. |
| 503 | `service_unavailable` | A dependency is temporarily unavailable; retry after the `Retry-After` period. |

## Example

```bash
curl https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/policies \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
