# ESM-SaaS-Tenant-Provision-Automation-API-Document_686070458
## Introduction

ESM SaaS products include SMAX, CMS, OO, HCMX, etc. All these products are automatically deployed on AWS through a set of AWS lambda functions.

These functions are triggered by calling the API interface of each function. They will execute the internal APIs of ESM SaaS one by one to complete the configuration work.

This is a detailed description of the steps to perform.

## SMAX tenant provisioning

### Customer creation

This function is for creating a Customer in the BO.

- **URI****:** https://{SMAX\_FQDN}/x4x/lambda/customerCreation
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Create a **Customer** | POST | {SMAX\_FQDN}/bo/rest/entities/customer |

### Tenant creation

This function is for deploying a tenant in the BO and creating associated admin users and SMAX licenses.

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantCreation
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Greate an **Account** | POST | {SMAX\_FQDN}/bo/rest/entities/account |
	| 3 | Create a tenant | POST | {SMAX\_FQDN}/bo/rest/entities/tenant |
	| 4 | Create an admin user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 5 | Create a customer user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 6 | Attach the users to the tenant | PUT | {SMAX\_FQDN}/bo/rest/entities/user/attachOrRemove |
	| 7 | Set the admin user as the tenant owner | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID} |
	| 8 | Create a license | POST | {SMAX\_FQDN}/bo/rest/entities/license |
	| 9 | Assign license to the tenant | POST | {SMAX\_FQDN}/bo/rest/license activities/assign |
	| 10 | Deploy the tenant | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/deploy |

### Tenant status

This function is for checking or editing the status of a tenant.

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantStatus
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Get the tenant status | GET | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID} |
	| 3 | Update the tenant status | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID} |

### Tenant Google Analytics switch

This function is for enable/disable the google analytics for the tenant.

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/GATrackingId
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?tenantId={ESM\_TENANT\_ID} |
	| 2 | Set Google Analytics tracking ID | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/GA\_TRACKING\_ID |
	| 3 | Enable or Disable Google Analytics | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/ENABLE\_GA |

### Put authorization principal to the customer user

This function is for grant a SMAX role on a customer user.

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/setPermission
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?tenantId={ESM\_TENANT\_ID} |
	| 2 | Get the current authorization principal | GET | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/rms/AuthorizationPrincipalResourceJSON?filter=UserId+=+'{customerEmail}' |
	| 3 | Put the new authorization principal | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/rms/AuthorizationPrincipalResourceJSON/{resourceId} |

### Deploy SMAX demo data

This function is for deploying the SMAX demo data.

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/smaxDemoData
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?tenantId={ESM\_TENANT\_ID} |
	| 2 | Validate SMAX Demo Data | GET | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/ess/deployment/validateDemoDataNotDeployed |
	| 3 | Deploy SMAX Demo Data | GET | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/ess/deployment/deployBetaData |

### Enable self-password reset

This function is for enable self-password reset function.

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/selfPasswordReset
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the IDM auth token | POST | {SMAX\_FQDN}/idm-service/v3.0/tokens |
	| 2 | PUT self-password reset metadata | PUT | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/metadata |

### Disable notification service

This function is for disable the notification service of a tenant.

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/emailService
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?tenantId={ESM\_TENANT\_ID} |
	| 2 | Disable notification service | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/NOTIFICATION\_SERVICE\_ENABLED |

### Set CMS client download link

This function is for set CMS download link in the integration configuration page

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/cmsDownloadLink
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the integration user's auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?tenantId={ESM\_TENANT\_ID} |
	| 2 | Set CMS client's download link | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/TenantSettings/settings/CMS\_DOWNLOAD\_SERVICE |

### Set OO client download link

This function is for set OO download link in the integration configuration page

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/ooDownloadLink
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the integration user's auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?tenantId={ESM\_TENANT\_ID} |
	| 2 | Set OO client's download link | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/TenantSettings/settings/OO\_DOWNLOAD\_SERVICE |

### Update navigation trusted domain

This function is for update navigation trusted domain of the tenant

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantConfig/navigationTrustedDomain
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?tenantId={ESM\_TENANT\_ID} |
	| 2 | Update the navigation trusted domain | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/NavigationTrustedDomains |

### Tenant deletion

This function is for delete tenant

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/tenantDeletion
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Get the tenant | GET | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID} |
	| 3 | Update tenant to inactive | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID} |
	| 4 | Delete the tenant | DELETE | {SMAX\_FQDN}/bo/rest/entities/tenant |

### Account deletion

This function is for delete account

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/accountDeletion
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Get the users of the account | GET | {SMAX\_FQDN}/bo/rest/entities/user?timeStamp={{NOW}}&filter=((account+eq+"{{accountId}}")+and+((name+nin+"bo-integration@ [dummy.com](http://dummy.com/),saw-integration-internal@ [dummy.com](http://dummy.com/),saw-integration-external@ [dummy.com](http://dummy.com/) ")+or+(idmOrganization+neq+"sysbo")))&offset=0&limit=100 |
	| 3 | Delete the users | DELETE | {SMAX\_FQDN}/bo/rest/entities/user |
	| 4 | Delete the tenant | DELETE | {SMAX\_FQDN}/bo/rest/entities/account |

## CMS Tenant provisioning

### CMS tenant creation

This function is for creating a CMS tenant

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/cmsCustomerCreation
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the CMS auth token | POST | {CMS\_FQDN}/cms-gateway/urest/v1/1/authentication?target=cms |
	| 2 | Create a CMS tenant | POST | {CMS\_FQDN}/cms-gateway/urest/v1/tenants |

### CMS tenant post-configuration

This function is for post-config after the CMS tenant creation

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/cmsGroupCreation
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the ucmdb auth token | POST | {CMS\_FQDN}/ucmdb-server/rest-api/authenticate |
	| 2 | Get CMS internal license | GET | {CMS\_FQDN}/ucmdb-server/rest-api/uiserver/license/capacity |
	| 3 | Allocate license to the CMS tenant | PATCH | {CMS\_FQDN}/ucmdb-server/rest-api/uiserver/license/customers/{ESM\_TENANT\_ID}/capacity |
	| 4 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 5 | Create the CMS admin user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 6 | Create the CMS integration user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 7 | Attach the CMS users to the tenant | PUT | {SMAX\_FQDN}/bo/rest/entities/user/attachOrRemove |
	| 8 | Get the IDM auth token | POST | {SMAX\_FQDN}/idm-service/v3.0/tokens |
	| 9 | Create an IDM Group for CMS | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups |
	| 10 | Bind the CMS admin role to the IDM group | PUT | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/roles/SuperAdmin/groups/{groupName} |
	| 11 | Bind the CMS admin user to the IDM group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/{groupName}/members |
	| 12 | Bind the CMS integration user to the IDM group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/{groupName}/members |
	| 13 | Bind the customer user to the IDM group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/{groupName}/members |

### CMS tenant status

This function is for checking or stopping a CMS tenant

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/cmsCustomerStatus
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the CMS auth token | POST | {CMS\_FQDN}/cms-gateway/urest/v1/1/authentication?target=cms |
	| 2 | Get the CMS tenant | GET | {CMS\_FQDN}/cms-gateway/urest/v1/tenants/{cmsCustomerId} |
	| 3 | Get the ucmdb auth token to stop tenant | POST | {CMS\_FQDN}/ucmdb-server/rest-api/authenticate |
	| 4 | Stop the CMS tenant | PUT | {CMS\_FQDN}/ucmdb-server/rest-api/customers/{cmsCustomerId} |

### CMS tenant deletion

This function is for delete a CMS tenant

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/cmsCustomerDeletion
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the ucmdb auth token | POST | {CMS\_FQDN}/ucmdb-server/rest-api/authenticate |
	| 2 | Delete the CMS tenant | DELETE | {CMS\_FQDN}/ucmdb-server/rest-api/customers/{cmsCustomerId} |

### Native SACM enablement

This function is for enable Native SACM

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/sacmEnablement
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Deploy the Native SACM | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/sam |
	| 3 | Enable the Native SACM | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/forceEnable |

### SAM enablement

This function is for enable SAM

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/samEnablement
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Pre-check the SAM capability deployment | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities/readiness |
	| 3 | Deploy the SAM capability | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 4 | Enable the SAM capability | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |

## OO enablement

### OO capability creation

This function is for creating OO capability

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/ooEnablement/createOO
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Pre-check the OO capability deployment | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities/readiness |
	| 3 | Deploy the OO capability | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 4 | Create the OO integration user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 5 | Attach the integration user to the tenant | PUT | {SMAX\_FQDN}/bo/rest/entities/user/attachOrRemove |

### OO capability enablement

This function is for enable OO capability

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/ooEnablement/enableOO
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Get the OO deployment status | GET | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 3 | Enable the OO capability | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 4 | Get the IDM auth token | POST | {SMAX\_FQDN}/idm-service/v3.0/tokens |
	| 5 | Bing the customer user to the OO admin group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/OO\_ADMINISTRATORS/members |
	| 6 | Bing the integration user to the OO admin group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/OO\_ADMINISTRATORS/members |
	| 7 | Get the OO internal license | POST | {OO\_FQDN}/autopass/wsservices/v11/license/view |
	| 8 | Assign the OO license to the tenant | POST | {OO\_FQDN}/autopass/services/v12/tenant/license/assign |
	| 9 | Change the min/max pool size | PATCH | {OO\_FQDN}/oocontroller/rest/v1/tenants/{ESM\_TENANT\_ID} |

## DND enablement

### DND capability creation

This function is for creating DND capability

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/dndEnablement/createDND
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Pre-check the DND capability deployment | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities/readiness |
	| 3 | Create the DND admin user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 4 | Create the DND transport user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 5 | Attach the users to the tenant | PUT | {SMAX\_FQDN}/bo/rest/entities/user/attachOrRemove |
	| 6 | Deploy the DND capability | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |

### DND capability enablement

This function is for enable DND capability

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/dndEnablement/enableDND
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Get the DND deployment status | GET | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 3 | Enable the DND capability | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 4 | Assign the DND license to the tenant | POST | {SMAX\_FQDN}/bo/rest/licenseActivities/assign |
	| 5 | Get the IDM auth token | POST | {SMAX\_FQDN}/idm-service/v3.0/tokens |
	| 6 | Bing the SMAX admin user to the CS admin group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/CS\_ADMINISTRATORS/members |
	| 7 | Bing the customer user to the CS admin group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/CS\_ADMINISTRATORS/members |
	| 8 | Bing the customer user to the DND admin group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/DND\_ADMINISTRATORS/members |

## CGRO enablement

### CGRO capability creation

This function is for creating CGRO capability

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/cgroEnablement/createCGRO
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Pre-check the CGRO capability deployment | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities/readiness |
	| 3 | Create the CGRO admin user | POST | {SMAX\_FQDN}/bo/rest/entities/user |
	| 5 | Attach the user to the tenant | PUT | {SMAX\_FQDN}/bo/rest/entities/user/attachOrRemove |
	| 6 | Deploy the CGRO capability | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |

### CGRO capability enablement

This function is for enable CGRO capability

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/cgroEnablement/enableCGRO
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Get CGRO deployment status | GET | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 3 | Enable CGRO capability | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 4 | Get the IDM auth token | POST | {SMAX\_FQDN}/idm-service/v3.0/tokens |
	| 5 | Bing the SMAX admin user to the CGRO admin group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/CGRO\_ADMINISTRATORS/members |
	| 6 | Bing the customer user to the CGRO admin group | POST | {SMAX\_FQDN}/idm-service/api/scim/organizations/{ESM\_TENANT\_ID}/groups/CGRO\_ADMINISTRATORS/members |

## ITOM Aviator enablement

### ITOM Aviator enablement

This function is for enable ITOM Aviator capability

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/aviatorEnablement
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the BO auth token | POST | {SMAX\_FQDN}/bo/rest/auth/token |
	| 2 | Pre-check the ITOM Aviator capability deployment | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities/readiness |
	| 3 | Deploy the ITOM Aviator capability | POST | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |
	| 4 | Enable the ITOM Aviator capability | PUT | {SMAX\_FQDN}/bo/rest/entities/tenant/{ESM\_TENANT\_ID}/capabilities |

## HCMX FinOps

### Tenant key chain generation

This function is for the key chain for the HCMX FinOps

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/hcmxPostConfig/keychain
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?TENANTID={ESM\_TENANT\_ID} |
	| 2 | Generate tenant key chain | POST | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/encryption/tenant\_key\_chain |
	| 3 | Get tenant key chain for the validation | GET | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/encryption/tenant\_key\_chain/{ESM\_TENANT\_ID}/status |

### Application settings

This function is for updating the application settings of the HCMX FinOps

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/hcmxPostConfig/appsettings
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?TENANTID={ESM\_TENANT\_ID} |
	| 2 | Update the customization restriction policy | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/CustomizationRestrictionPolicy |
	| 3 | Update the experience mode | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/ENABLE\_SMAXMENU\_MODE |
	| 4 | Enable the CGRO integration | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/ENABLE\_CGRO\_INTEGRATION |
	| 5 | Enable the Service Design and Deployment | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/ENABLE\_SERVICE\_DESIGNS |
	| 6 | Enable the Operations Orchestration | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/ENABLE\_MT\_OO\_INTEGRATION |
	| 7 | Enable the Aggregation | PUT | {SMAX\_FQDN}/rest/{ESM\_TENANT\_ID}/common-settings/setting/ENABLE\_AGGREGATION\_NORTH\_STAR |

### Microsoft Azure capsules installation

This function is for installing the Microsoft Azure capsules

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/hcmxPostConfig/capsule\_azure
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?TENANTID={ESM\_TENANT\_ID} |
	| 2 | Install Microsoft Azure 3.2.0 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 3 | Install Microsoft Azure 3.2.0 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/46501b17-6264-4698-97bb-cedca4d8a4e0/3.2.0 |
	| 4 | Install Microsoft Azure 3.3.1 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 5 | Install Microsoft Azure 3.3.1 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/46501b17-6264-4698-97bb-cedca4d8a4e0/3.3.1 |
	| 6 | Install Microsoft Azure 3.4.0 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 7 | Install Microsoft Azure 3.4.0 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/46501b17-6264-4698-97bb-cedca4d8a4e0/3.4.0 |

### Microsoft AWS capsules installation

This function is for installing the AWS capsules

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/hcmxPostConfig/capsule\_aws
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?TENANTID={ESM\_TENANT\_ID} |
	| 2 | Install AWS 3.1.0 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 3 | Install AWS 3.1.0 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/cd27f32e-fddb-4d3f-baae-c2ac91b476ec/3.1.0 |
	| 4 | Install AWS 3.2.1 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 5 | Install AWS 3.2.1 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/cd27f32e-fddb-4d3f-baae-c2ac91b476ec/3.2.1 |

### Microsoft GCP capsules installation

This function is for installing the GCP capsules

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/hcmxPostConfig/capsule\_gcp
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?TENANTID={ESM\_TENANT\_ID} |
	| 2 | Install GCP 2.0.0 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 3 | Install GCP 2.0.0 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/4ffd2627-11e8-4194-ba35-92415fcc98b0/2.0.0 |

### Microsoft VMware capsules installation

This function is for installing the VMware capsules

- **URI:** https://{SMAX\_FQDN}/x4x/lambda/hcmxPostConfig/capsule\_vmware
- **Execution APIs:**
	| No | Function | Method | URL Path |
	| --- | --- | --- | --- |
	| 1 | Get the SMAX auth token | POST | {SMAX\_FQDN}/auth/authentication-endpoint/authenticate/token?TENANTID={ESM\_TENANT\_ID} |
	| 2 | Install VMware vCenter 19.0.0 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 3 | Install VMware vCenter 19.0.0 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{{ESM\_TENANT\_ID}}/content-packages/a88dd597-cea0-24a7-1921-e60066394a3e/19.0.0 |
	| 4 | Install VMware vCenter 3.1.0 capsule | POST | {SMAX\_FQDN}/content-store-gateway/v1/{ESM\_TENANT\_ID}/content-packages/ |
	| 5 | Install VMware vCenter 3.1.0 installation status | GET | {SMAX\_FQDN}/content-store-gateway/v1/{{ESM\_TENANT\_ID}}/content-packages/a9ea8c81-c3e8-4bd3-a3d4-146ea00c8be2/3.1.0 |
