---
title: "Create User"
method: POST
path: "/v2/users"
tags: ["User API"]
---

# Create User

`POST /v2/users`

Create a new user.

## Request body

- SvauthPublicCreateUserRequest
  - `email` string, required
  - `firstName` string
  - `lastName` string
  - `role` 'USER_ROLE_UNSPECIFIED' | 'USER_ROLE_ORG_MEMBER' | 'USER_ROLE_ORG_ADMIN' | 'USER_ROLE_ORG_GUEST'
  - `authMethod` 'USER_AUTH_METHOD_UNSPECIFIED' | 'USER_AUTH_METHOD_MAGIC_LINK' — Specifies the authentication method for a user. If unset, the org default applies. Set to MAGIC_LINK to allow the user to bypass SSO (e.g. guest or break-glass accounts).

## Response `200`

Success

- SvauthPublicCreateUserResponse
  - `data` SvauthPublicUser
    - `id` string
    - `email` string
    - `firstName` string
    - `lastName` string
    - `name` string
    - `role` 'USER_ROLE_UNSPECIFIED' | 'USER_ROLE_ORG_MEMBER' | 'USER_ROLE_ORG_ADMIN' | 'USER_ROLE_ORG_GUEST'
    - `avatarUrl` string, nullable
    - `createdAt` string, date-time — A timestamp in RFC 3339 format (e.g., "2025-01-15T01:30:15Z").
    - `deactivatedAt` string, date-time — A timestamp in RFC 3339 format (e.g., "2025-01-15T01:30:15Z").
    - `timezone` string, nullable — IANA timezone, e.g., "America/New_York"
    - `authMethod` 'USER_AUTH_METHOD_UNSPECIFIED' | 'USER_AUTH_METHOD_MAGIC_LINK' — Specifies the authentication method for a user. If unset, the org default applies. Set to MAGIC_LINK to allow the user to bypass SSO (e.g. guest or break-glass accounts).
    - `locale` string, nullable — BCP 47 language tag

## Other responses

- `default` — Error

---

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