Skip to content

Managing Tenants with APIs

This section guides you through invoking and working with the Tenant ManagementService and the operations you can work within this service.

Invoking the admin service

TenantMgtAdminService is an admin service of the WSO2 Carbon platform. As admin services are secured to prevent anonymous invocations, you cannot view the WSDL of the admin service by default. Follow the steps below to view and invoke it:

  1. Set the bellow configuration in <IS_HOME>/repository/conf/deployment.toml file.

    [admin_service.wsdl]
    enable = true
  2. Restart the Identity Server.

  3. If you have started the server in default configurations, use the following URL in your browser to see the WSDL of the admin service: https://localhost:9443/services/TenantMgtAdminService?wsdl.

For more information on WSO2 admin services and how to invoke an admin service using either SoapUI or any other client program, see Calling Admin Services from Apps section in WSO2 Carbon documentation.

Operations included in the API

The following operations are available in the TenantManagement Service :

addTenant()

Description Adds a new tenant.
Permission Level /permission/protected/manage/monitor/tenants
Input Parameters
Parameter Type Description
tenantInfoBean TenantInfoBean Contains tenant related data
tenantInfoBean.tenantDomain String The domain name of the tenant
tenantInfoBean.active Boolean

True - activate the tenant

False- deactivate the tenant

tenantInfoBean.admin String The admin username
tenantInfoBean.adminPassword String The admin password
tenantInfoBean.createdDate DateTime The date and time that the tenant was created
tenantInfoBean.email String The email address of the tenant
tenantInfoBean.firstname String The first name of the tenant
tenantInfoBean.lastname String The last name of the tenant
tenantInfoBean.originatedService String -
tenantInfoBean.successKey String -
tenantInfoBean.tenantDomain String The tenant domain
tenantInfoBean.tenantId Int The tenant ID
tenantInfoBean.usagePlan String -
Request
Response

None

addSkeletonTenant()

Description Adds a new tenant without userstore operations. The tenant will not be persisted in user store level and can be used to trigger post-tenant listeners without actually creating the tenant.
Permission Level /permission/protected/manage/monitor/tenants
Input Parameters
Parameter Type Description
tenantInfoBean TenantInfoBean Contains tenant related data
tenantInfoBean.tenantDomain String The domain name of the tenant
tenantInfoBean.active Boolean

True - activate the tenant

False- deactivate the tenant

tenantInfoBean.admin String The admin username
tenantInfoBean.adminPassword String The admin password
tenantInfoBean.createdDate DateTime The date and time that the tenant was created
tenantInfoBean.email String The email address of the tenant
tenantInfoBean.firstname String The first name of the tenant
tenantInfoBean.lastname String The last name of the tenant
tenantInfoBean.originatedService String -
tenantInfoBean.successKey String -
tenantInfoBean.tenantDomain String The tenant domain
tenantInfoBean.tenantId Int The tenant ID
tenantInfoBean.usagePlan String -
Request
Response

None

activateTenant()

Description Activates an existing tenant.
Permission Level /permission/protected/manage/modify/tenants
Input Parameters
Parameter Type Description
tenantDomain String The domain name of the tenant
Request
Response

deactivateTenant()

Description Deactivates an existing tenant.
Permission Level /permission/protected/manage/modify/tenants
Input Parameters
Parameter Type Description
tenantDomain String The domain name of the tenant
Request
Response

getTenant()

Description Retrieves tenant details by domain name.
Permission Level /permission/protected/manage/monitor/tenants
Input Parameters
Parameter Type Description
tenantInfoBean.tenantDomain String The domain name of the tenant
Request
Response

retrievePaginatedPartialSearchTenants()

Description Retrieves the tenant information based on the partial search.
Permission Level /permission/protected/manage/monitor/tenants
Input Parameters
Parameter Type Description
tenant String Partial tenant domain name
pageNumber Int Page number
Request
Response

retrievePaginatedTenants()

Description Activates an existing tenant.
Permission Level /permission/protected/manage/monitor/tenants
Input Parameters
Parameter Type Description
pageNumber Int Page number
Request
Response

retrievePartialSearchTenants()

Description Retrieves all tenants that contain the specified part of the domain name (e.g., All tenant domains with ‘.com’)
Permission Level /permission/protected/manage/monitor/tenants
Input Parameters
Parameter Type Description
domain String Partial tenant domain name
Request
Response
retrieveTenants()
Description Retrieves all tenants.
Permission Level /permission/protected/manage/monitor/tenants
Input Parameters

None

Request
Response

updateTenant()

Description Updates the tenant details based on the specified tenantId. To update the password, the respective admin name should be included.
Permission Level /permission/protected/manage/modify/tenants
Input Parameters
Parameter Type Description
tenantInfoBean TenantInfoBean Contains tenant related data
tenantInfoBean.tenantDomain String The domain name of the tenant
tenantInfoBean.active Boolean

True - activate the tenant

False- deactivate the tenant

tenantInfoBean.admin String The admin username
tenantInfoBean.adminPassword String The admin password
tenantInfoBean.createdDate DateTime The date and time that the tenant was created
tenantInfoBean.email String The email address of the tenant
tenantInfoBean.firstname String The first name of the tenant
tenantInfoBean.lastname String The last name of the tenant
tenantInfoBean.originatedService String -
tenantInfoBean.successKey String -
tenantInfoBean.tenantDomain String The tenant domain
tenantInfoBean.tenantId Int The tenant ID
tenantInfoBean.usagePlan String -
Request
Response
Top