---
title: "GET/PUT /accounts/organization/2fa-policy/ - Org 2FA policy."
method: GET
path: "/accounts/organization/2fa-policy/"
tags: ["accounts"]
---

# GET/PUT /accounts/organization/2fa-policy/ - Org 2FA policy.

`GET /accounts/organization/2fa-policy/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/accounts/organization/2fa-policy/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

GET is available to all authenticated members (read policy).
PUT is admin-gated inline (Level.ADMIN+) rather than via a permission
class so that a single view can serve both roles without splitting.

## Response `200`

OK

- OrgTwoFactorPolicyResponse
  - `require_2fa` boolean, required
  - `require_2fa_grace_period_days` integer, required
  - `require_2fa_enforced_at` string, date-time, nullable, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error
- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
