Tenants

All users belong to a tenant. A tenant is either a site provider or an application owner. Site providers can create sites and control hardware resources etc. Application owners can create and manage applications and their deployments.

A tenant can create subtenants. A site provider tenant can create site providers and application owners, but an application owner can only create other application owners.

A tenant that has subtenants controls which sites and resources a subtenant has access to.

Each tenant is completely separated from other tenants.

Create a new tenant

SecurityaccessToken
Request
query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
descriptive-name
string

Free form name of the tenant.

kind
required
string <tenant-kind>
  • system
  • site-provider
  • application-owner
policies
Array of strings

Policies assigned to the tenant. Each item in this field refers to a policy defined in the tenant's parent's policy list.

resource-profile
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
Responses
201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict (instance exists)

503

Service Unavailable (strongbox sealed)

post/v1/config/tenants
Request samples
name: acme
descriptive-name: Acme Inc.
kind: application-owner
policies:
  - app-owner-tenant
resource-profile: appowner-profile

Retrieve the configuration of all tenants

SecurityaccessToken
Request
query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/tenants
Response samples
- name: acme
  descriptive-name: Acme Inc.
  kind: application-owner
  policies:
    - app-owner-tenant
  resource-profile: appowner-profile
  

Update a tenant

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
descriptive-name
string

Free form name of the tenant.

kind
required
string <tenant-kind>
  • system
  • site-provider
  • application-owner
policies
Array of strings

Policies assigned to the tenant. Each item in this field refers to a policy defined in the tenant's parent's policy list.

resource-profile
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

patch/v1/config/tenants/{tenant-name}
Request samples
name: acme
descriptive-name: Acme Inc.
kind: application-owner
policies:
  - app-owner-tenant
resource-profile: appowner-profile

Delete a tenant

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

delete/v1/config/tenants/{tenant-name}

Replace or create a new tenant

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
descriptive-name
string

Free form name of the tenant.

kind
required
string <tenant-kind>
  • system
  • site-provider
  • application-owner
policies
Array of strings

Policies assigned to the tenant. Each item in this field refers to a policy defined in the tenant's parent's policy list.

resource-profile
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
Responses
201

Created

204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

put/v1/config/tenants/{tenant-name}
Request samples
name: acme
descriptive-name: Acme Inc.
kind: application-owner
policies:
  - app-owner-tenant
resource-profile: appowner-profile

Retrieve the configuration of a tenant

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/tenants/{tenant-name}
Response samples
name: acme
descriptive-name: Acme Inc.
kind: application-owner
policies:
  - app-owner-tenant
resource-profile: appowner-profile

Retrieve the state of all tenants

SecurityaccessToken
Request
query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/tenants
Response samples
- name: acme
  descriptive-name: Acme Inc.
  kind: application-owner
  parent: telco
  blocked: false
  policies:
    - app-owner-tenant
  resource-profile: appowner-profile
  

Retrieve the state of a tenant

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/tenants/{tenant-name}
Response samples
name: acme
descriptive-name: Acme Inc.
kind: application-owner
parent: telco
blocked: false
policies:
  - app-owner-tenant
resource-profile: appowner-profile