---
title: "Update User"
method: PATCH
path: "/api/admin/users/{user_id}"
tags: ["admin-users", "admin-users"]
---

# Update User

`PATCH /api/admin/users/{user_id}`

## Request

- Base URL: `https://grandline.luzomi.com`
- URL: `https://grandline.luzomi.com/api/admin/users/{user_id}`
- Auth: none declared

Edit a user. Field access is role-scoped:

* **Manager** — may change `subscription_tier` (basic ↔ standard only). That's
  the "basic changes to subscription levels" grant.
* **Admin** — everything: profile fields, status, unlimited, role, premium
  tier, and the permanent per-user quota overrides.

Only the fields present in the body are changed.

## Path parameters

- `user_id` integer, required

## Request body

- AdminUpdateUserRequest
  - `name` string, nullable
  - `designation` string, nullable
  - `company_name` string, nullable
  - `status` string, nullable
  - `unlimited` boolean, nullable
  - `subscription_tier` string, nullable
  - `role` string, nullable
  - `daily_quota_override` integer, nullable
  - `monthly_quota_override` integer, nullable

## Response `200`

Successful Response

- AdminUserDetail
  - `id` integer, required
  - `email` string, required
  - `name` string, nullable, required
  - `designation` string, nullable, required
  - `company_name` string, nullable, required
  - `status` string, nullable, required
  - `role` string
  - `subscription_tier` string
  - `daily_quota_override` integer, nullable
  - `monthly_quota_override` integer, nullable
  - `unlimited` boolean, required
  - `premium_interest` boolean
  - `profile_done` boolean, required
  - `profile_completed_at` string, date-time, nullable, required
  - `total_authenticated_calls` integer, required
  - `active_key_count` integer, required
  - `soonest_key_expires_at` string, date-time, nullable, required
  - `verified_at` string, date-time, nullable, required
  - `last_seen_at` string, date-time, nullable, required
  - `created_at` string, date-time, nullable, required
  - `what_building` string, nullable, required
  - `country` string, nullable
  - `city` string, nullable
  - `sectors` string[]
  - `email_verified_at` string, date-time, nullable
  - `privacy_consent_at` string, date-time, nullable
  - `privacy_policy_version` string, nullable
  - `marketing_consent` boolean
  - `keys` AdminKey[], required
    - `id` integer, required
    - `name` string, required
    - `prefix` string, required
    - `created_at` string, date-time, required
    - `last_used_at` string, date-time, nullable, required
    - `revoked_at` string, date-time, nullable, required
    - `expires_at` string, date-time, nullable, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/luzomi/apis/grandline-api.md) · [All operations](https://skmtc.dev/luzomi/apis/grandline-api/llms.txt) · [OpenAPI document](https://skmtc.dev/luzomi/apis/grandline-api/revisions/4ce06aea012b?raw)
