Skip to content

Register an organization

POST
/api/tenant/{tenantId}/Organizations/registrations
curl --request POST \
--url https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/Organizations/registrations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "uniqueName": "example", "description": "example", "userId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Registers an organization a user adds themselves (a shop added on a public site): creates it with its root resource group, makes the user a member and gives them the Storefront Shop Owner role on the organization (everything but publishing and delegating access). The unique name is made from the name when not given, and numbered when taken. Needs organizations register at the tenant.

The read side catches up shortly after: the first requests with the owner’s token may be refused until the role assignment and resource group are projected.

tenantId
required
string format: uuid

Your tenant id.

The organization and its owner.

Media typeapplication/json
object
name
required
string
>= 1 characters <= 200 characters
uniqueName
string
nullable 0 <= 200 characters
description
string
nullable 0 <= 2000 characters
userId
required
string format: uuid

Example generated

{
"name": "example",
"uniqueName": "example",
"description": "example",
"userId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}

OK

Media typeapplication/json
object
fields
object
key
additional properties
string
data
object
id
required
string format: uuid
rootResourceGroupId
required
string format: uuid
uniqueName
required
string
nullable

Example generated

{
"data": {
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"rootResourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"uniqueName": "example"
}
}

Unauthorized: no bearer token, or one that is expired or not for this API.

Forbidden: the caller holds no role that allows this action at this scope. The body is empty, or a problem whose detail names the action.

Media typeapplication/json

An RFC 9457 problem.

object
detail
string
nullable
instance
string
nullable
status
integer format: int32
nullable
title
string
nullable
type
string
nullable
key
additional properties

Example generated

{
"detail": "example",
"instance": "example",
"status": 1,
"title": "example",
"type": "example"
}

Conflict: the item kept changing under concurrent writes; read it again and retry.

Media typeapplication/problem+json

An RFC 9457 problem.

object
detail
string
nullable
instance
string
nullable
status
integer format: int32
nullable
title
string
nullable
type
string
nullable
key
additional properties

Example generated

{
"detail": "example",
"instance": "example",
"status": 1,
"title": "example",
"type": "example"
}

Unprocessable: the body or the change is invalid. The errors are keyed by member.

Media typeapplication/problem+json

A validation problem: the messages by member (or by JSON Pointer for a patch).

object
errors
object
key
additional properties
Array<string>
status
integer format: int32
nullable
title
string
nullable
type
string
nullable
key
additional properties

Example generated

{
"errors": {
"additionalProperty": [
"example"
]
},
"status": 1,
"title": "example",
"type": "example"
}