---
title: "Api Accounts Partial Update 2"
method: PATCH
path: "/api/accounts/{email}/"
tags: ["users"]
---

# Api Accounts Partial Update 2

`PATCH /api/accounts/{email}/`

PATCH handler with superadmin lock and field protection.

Checks:
1. Object lock (is_managed=True -> non-superadmins can't modify)
2. Field protection (non-superadmins can't modify specific fields)

## Path parameters

- `email` string, required

## Headers

- `Authorization` string, required

## Request body

- PatchedPlatformAccountUpdateRequest — For update operations - update account fields. Used by PATCH /api/accounts/{email}/ Supports updating: - password (write-only) - is_active - status (operator block lever — ACTIVE | BLOCKED) - name, username, first_name, last_name - is_admin Note: email is read-only since it's the lookup field. ``is_superadmin`` is exposed read-only for legacy FE compat (derived from ``StaffMembership`` via ``APIUser.is_superadmin`` @property) — to grant/revoke staff role, hit ``/api/admin/staff-groups/<name>/memberships/``.
  - `password` string
  - `name` string
  - `username` string
  - `first_name` string
  - `last_name` string
  - `is_active` boolean
  - `status` 'active' | 'blocked' — * `active` - Active * `blocked` - Blocked
  - `is_admin` boolean

## Response `200`

- PlatformAccountUpdate — For update operations - update account fields. Used by PATCH /api/accounts/{email}/ Supports updating: - password (write-only) - is_active - status (operator block lever — ACTIVE | BLOCKED) - name, username, first_name, last_name - is_admin Note: email is read-only since it's the lookup field. ``is_superadmin`` is exposed read-only for legacy FE compat (derived from ``StaffMembership`` via ``APIUser.is_superadmin`` @property) — to grant/revoke staff role, hit ``/api/admin/staff-groups/<name>/memberships/``.
  - `id` integer, required
  - `email` string, required
  - `name` string
  - `username` string
  - `first_name` string
  - `last_name` string
  - `is_active` boolean
  - `status` 'active' | 'blocked' — * `active` - Active * `blocked` - Blocked
  - `is_admin` boolean
  - `is_superadmin` boolean, required

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/versions/c26d550029f8/schema)
