Skip to content

Create User

POST
/api/Users
curl --request POST \
--url https://example.com/api/Users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "merchantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "email": "hello@example.com", "firstName": "example", "lastName": "example", "role": "Owner" }'

Invites a new staff user. The future auth service will issue credentials and an invite email.

User creation payload.

object
merchantId
required
string format: uuid
email
required
string format: email
>= 1 characters <= 256 characters
firstName
required
string
>= 1 characters <= 100 characters
lastName
required
string
>= 1 characters <= 100 characters
role
required
string
Allowed values: Owner Admin Staff Viewer

User created successfully.

Media type application/json
object
id
string format: uuid
merchantId
string format: uuid
email
string
nullable
firstName
string
nullable
lastName
string
nullable
fullName
string
nullable
role
string
Allowed values: Owner Admin Staff Viewer
isActive
boolean
lastLoginAt
string format: date-time
nullable
createdAt
string format: date-time
updatedAt
string format: date-time
Example
{
"role": "Owner"
}

Validation failed — check the errors object.

Media type application/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Caller is not an Owner or Admin.

Media type application/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}