# Tenant Management API



<EndpointIndex
  names={[
  	'fetchMyTenants',
  	'fetchTenant',
  	'createTenant',
  	'fetchTenants',
  	'updateTenant',
  	'retireTenant',
  	'cloneConfigToTest',
  	'cloneConfigToProduction',
  ]}
  titles={{
  	fetchTenant: 'Fetch Tenant Details',
  	createTenant: 'Create a Tenant',
  	fetchTenants: 'Fetch all Tenants in the Environment',
  	updateTenant: 'Update a Tenant',
  	retireTenant: 'Retire a Tenant',
  	cloneConfigToTest: 'Clone to a Test Tenant',
  	cloneConfigToProduction: 'Clone to a Production tenant',
  }}
/>

Fetch My Tenants [#fetch-my-tenants]

<ApiEndpoint name="fetchMyTenants" />

<ApiSchema name="TenantListResponse" />

Fetch Tenant Details [#fetch-tenant-details]

<ApiEndpoint name="fetchTenant" title="Fetch Tenant Details" />

<ApiSchema name="TenantResponse" />

Create a Tenant [#create-a-tenant]

<ApiEndpoint name="createTenant" title="Create a Tenant" />

<ApiSchema name="TenantDeploymentResult" />

Fetch all Tenants in the Environment [#fetch-all-tenants-in-the-environment]

<ApiEndpoint name="fetchTenants" title="Fetch all Tenants in the Environment" />

Update a Tenant [#update-a-tenant]

<ApiEndpoint name="updateTenant" title="Update a Tenant" />

<ApiSchema name="TenantUpdateRequest" />

Retire a Tenant [#retire-a-tenant]

<ApiEndpoint name="retireTenant" title="Retire a Tenant" />

Cloning [#cloning]

Clone to a Test Tenant [#clone-to-a-test-tenant]

<ApiEndpoint name="cloneConfigToTest" title="Clone to a Test Tenant" />

Clone to a Production tenant [#clone-to-a-production-tenant]

<ApiEndpoint name="cloneConfigToProduction" title="Clone to a Production tenant" />

<ApiSchema name="DeploymentCloneResponse" />


## API Reference

GET /auth/tenants/mytenants/list — fetchMyTenants
Returns a list of tenants you have access to.
Tags: tenants-controller
Permissions: custom
Parameters:
  offset (integer, query)
  count (integer, query)
  extended (boolean, query) — When false, returns a bare array.
Responses:
  200 TenantListResponse — OK

GET /auth/tenants/{locator} — fetchTenant
Tags: tenants-controller
Permissions: read
Parameters:
  locator (uuid, path, required)
Responses:
  200 TenantResponse — OK

POST /config/createTenant — createTenant
Tags: root-controller
Permissions: create-tenant
Parameters:
  name (string, query)
  description (string, query)
Responses:
  200 TenantDeploymentResult — OK

GET /auth/tenants/list — fetchTenants
Tags: tenants-controller
Permissions: read, list
Parameters:
  offset (integer, query)
  count (integer, query)
  type (string[], query)
  extended (boolean, query)
Responses:
  200 TenantResponse[] — OK

PATCH /auth/tenants/{locator} — updateTenant
Tags: tenants-controller
Permissions: write
Parameters:
  locator (uuid, path, required)
Request body (TenantUpdateRequest):
Responses:
  200 TenantResponse — OK

PATCH /auth/tenants/{locator}/retire — retireTenant
Tags: tenants-controller
Permissions: retire
Parameters:
  locator (uuid, path, required)
Responses:
  200 TenantResponse — OK

POST /config/{tenantLocator}/deployments/cloneTest — cloneConfigToTest
Tags: deployment-controller
Permissions: cloneTest
Parameters:
  tenantLocator (uuid, path, required)
  tenantName (string, query)
  tenantDescription (string, query)
Responses:
  200 — OK

POST /config/{tenantLocator}/deployments/cloneProduction — cloneConfigToProduction
Tags: deployment-controller
Permissions: cloneProduction
Parameters:
  tenantLocator (uuid, path, required)
  tenantName (string, query)
  tenantDescription (string, query)
Responses:
  200 — OK

TenantListResponse
Properties:
  listCompleted (boolean, required)
  items (TenantResponse[], required)

TenantResponse
Properties:
  locator (uuid, required)
  name (string, required)
  type (Enum test | production | retired | deleted, required)
  description (string)
  createdAt (datetime, required)
  createdBy (uuid, required)
  updatedAt (datetime, required)
  businessAccount (string, required)

TenantDeploymentResult
Properties:
  locator (uuid, required)
  name (string, required)
  deploymentResult (ConfigBuilderResult, required)
  bootstrapResult (BootstrapResult, required)

TenantUpdateRequest
Properties:
  name (string, required)
  description (string, required)

DeploymentCloneResponse
Properties:
  locator (uuid, required)
  deploymentResult (ConfigBuilderResult, required)
  resourceCloneStatus (Enum queued | failed, required)