---
title: "Add a user"
method: POST
path: "/api/v1/auth/users"
tags: ["auth"]
---

# Add a user

`POST /api/v1/auth/users`

Register a new user with the given public key and role.
Requires admin permissions.

## Request body

- UserAddRequest — Payload for adding a user.
  - `pubkey` string, required — The user's public key
  - `role` string, required — Role to assign (e.g., admin, operator, viewer)

## Response `200`

User added

- NATSEnvelope — Standard NATS proxy response envelope. On success, `result` contains the response data. On error, `error` contains a message string.
  - `result` unknown
  - `error` string — Error message (present only on failure)

## Other responses

- `502` — NATS communication error — farmer unreachable or returned an error

## Changes

- **2026-03-21** `011f9b67b17a` — 1 breaking, 2 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `200`
  - added the optional property `error` to the response with the `200` status
  - added the optional property `result` to the response with the `200` status
- **2026-03-20** `bdf58e0441c6` — 1 info
  - endpoint added
- **2026-03-15** `1aab0676c2b4` — 1 breaking
  - api removed without deprecation
- **2026-03-13** `26871a2f667f` — 1 breaking
  - api removed without deprecation

[Change history](https://skmtc.dev/gogrlx/apis/grlx-cli-api/changes/api/v1/auth/users/post.md)

---

[API](https://skmtc.dev/gogrlx/apis/grlx-cli-api.md) · [All operations](https://skmtc.dev/gogrlx/apis/grlx-cli-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gogrlx/grlx-cli-api/revisions/f88a30dcb10f/schema)
