Skip to content

Add member API Reference

POST
/tenants/{tenant}/members
curl --request POST \
--url https://api.kupe.cloud/api/v1/tenants/acme/members \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--header 'If-Match: 184920' \
--data '{ "email": "alice@acme.com", "role": "admin" }'

Add a new member to the tenant. The email address must be unique within the tenant. The user will be able to authenticate via OIDC and access tenant resources based on their assigned role.

tenant
required
string

Tenant name

If-Match
string

ETag for optimistic locking

Member to add

Media type application/json
object
email

Email address of the member to add

string
Example
alice@acme.com
role

Role: admin (read-write) or readonly (read-only)

string
Example
admin

Member added

Media type application/json
object
email
string
role
string
Example
{
"email": "alice@acme.com",
"role": "admin"
}

Validation error

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Missing or invalid authentication

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Admin access required

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Member already exists

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

ETag mismatch

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}

Rate limit exceeded

Media type application/json
object
code
string
error
string
field
string
message
string
severity
string
Example generated
{
"code": "example",
"error": "example",
"field": "example",
"message": "example",
"severity": "example"
}