Update user
marzban_users_updatePartially update an existing Marzban user: modify only specified fields (expiry, proxies, limits, notes) and keep all other settings unchanged.
Instructions
Partially updates a user — only fields you provide are changed, everything else is left as-is. For status changes prefer marzban_users_activate/deactivate/hold (clearer intent, no need to know the raw status enum). For renewing an expiring/expired user prefer marzban_users_extend.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| expire | No | e.g. "30d" or an absolute date. 0 means unlimited. | |
| proxies | No | Protocol name -> settings, e.g. {"vless": {"id": "<uuid>"}} or {"shadowsocks": {}} to auto-generate credentials. Omit to leave unchanged on update. On create there is no server default — omitting this (without templateId) errors; provide at least one protocol with a matching inbound configured on the panel. | |
| inbounds | No | Protocol name -> inbound tags to restrict this user to. Omit for all inbounds. | |
| username | Yes | ||
| dataLimit | No | e.g. "10GB". 0 means unlimited. | |
| dataLimitResetStrategy | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| admin | No | ||
| links | No | ||
| expire | No | ||
| status | Yes | ||
| proxies | Yes | ||
| inbounds | No | ||
| username | Yes | ||
| next_plan | No | ||
| online_at | No | ||
| created_at | Yes | ||
| data_limit | No | data_limit can be 0 or greater | |
| used_traffic | Yes | ||
| sub_updated_at | No | ||
| on_hold_timeout | No | ||
| subscription_url | No | ||
| excluded_inbounds | No | ||
| auto_delete_in_days | No | ||
| sub_last_user_agent | No | ||
| lifetime_used_traffic | No | ||
| on_hold_expire_duration | No | ||
| data_limit_reset_strategy | No | no_reset |