---
title: "Update user plan"
method: POST
path: "/v1/system/update-user-plan"
tags: ["System"]
---

# Update user plan

`POST /v1/system/update-user-plan`

Update a user's subscription plan (free/pro) - Admin only

## Request body

- object
  - `userId` string, required
  - `plan` 'free' | 'pro', required

## Response `200`

User plan updated successfully

- object
  - `success` true, required
  - `data` object, required
    - `userId` string, required
    - `plan` 'free' | 'pro', required
    - `updatedBy` string, required
    - `updatedAt` string, required
  - `creditsCost` number — Credits consumed by this operation
  - `requestId` string, uuid, required — Unique request identifier for tracing
  - `timestamp` string, date-time, required — ISO timestamp when the response was generated

## Other responses

- `400` — Invalid input parameters
- `401` — Authentication required
- `403` — Admin access required
- `422` — Validation error
- `500` — Internal server error

---

[API](https://skmtc.net/weblinq/apis/weblinq-api.md) · [All operations](https://skmtc.net/weblinq/apis/weblinq-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/weblinq/weblinq-api/revisions/364690cf91b7/schema)
