Suspension / Reactivation / Termination
Suspending your customer
In case you want to temporarily suspend a service for your partner or customer, you can disable their tenant in the platform. This will restrict access to the platform services for all user accounts located in the tenant and its sub-tenants.
When you disable a tenant, the service-related data will be preserved in the platform. Note that Acronis will continue to bill for usage of disabled customers.
Step-by-step procedure
Authenticate to the cloud platform via the Python shell.
The following variables should be available now:
>>> base_url # the base URL of the API 'https://eu2-cloud.acronis.com/api/2' >>> auth # the 'Authorization' header value with the access token {'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImMwMD...'} >>> tenant_id # the UUID of the tenant to which the token provides access 'ede9f834-70b3-476c-83d9-736f9f8c7dae'
Assign either of the following values to the
tenant_id
variable – the UUID of a sub-tenant created via the API or a sub-tenant found by its name:>>> tenant_id = created_tenant_id >>> tenant_id '0fcd4a69-8a40-4de8-b711-d9c83dc000f7'
Obtain the number of the latest tenant revision. You will have to specify this number in a subsequent request to the tenant. This is required to manage concurrent tenant modifications.
Fetch the tenant information as described in steps 3-5 of “fetching-tenant”. As the result, you should have a
tenant
variable with the tenant object.Define a variable named
tenant_version
, and then assign the value of theversion
key from the tenant object to this variable:>>> tenant_version = tenant['version'] >>> tenant_version 3
Define a variable named
tenant_update
, and then assign the following object to this variable:>>> tenant_update = { ... 'enabled': False, ... 'version': tenant_version, # this key is required ... }
Convert the
tenant_update
object to a JSON text:>>> tenant_update = json.dumps(tenant_update, indent=4) >>> print(tenant_update) { "enabled": false, "version": 3 }
Send a PUT request with the JSON text to the
/tenants/{tenant_id}
endpoint:>>> response = requests.put( ... f'{base_url}/tenants/{tenant_id}', ... headers={'Content-Type': 'application/json', **auth}, ... data=tenant_update, ... )
Check the status code of the response:
>>> response.status_code 200
Status code 200 means that the platform has disabled the tenant.
A different status code means that an error has occurred. For the details, refer to “Status and error codes”.
Reactivating your customer
If you want your customer or partner to continue using the services, you can enable their tenant. This will allow to the platform services for all user accounts located in the tenant and its sub-tenants.
Step-by-step procedure
Authenticate to the cloud platform via the Python shell.
The following variables should be available now:
>>> base_url # the base URL of the API 'https://eu2-cloud.acronis.com/api/2' >>> auth # the 'Authorization' header value with the access token {'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImMwMD...'} >>> tenant_id # the UUID of the tenant to which the token provides access 'ede9f834-70b3-476c-83d9-736f9f8c7dae'
Assign either of the following values to the
tenant_id
variable – the UUID of a sub-tenant created via the API or a sub-tenant found by its name:>>> tenant_id = created_tenant_id >>> tenant_id '0fcd4a69-8a40-4de8-b711-d9c83dc000f7'
Obtain the number of the latest tenant revision. You will have to specify this number in a subsequent request to the tenant. This is required to manage concurrent tenant modifications.
Fetch the tenant information as described in steps 3-5 of “fetching-tenant”. As the result, you should have a
tenant
variable with the tenant object.Define a variable named
tenant_version
, and then assign the value of theversion
key from the tenant object to this variable:>>> tenant_version = tenant['version'] >>> tenant_version 3
Define a variable named
tenant_update
, and then assign the following object to this variable:>>> tenant_update = { ... 'enabled': True, ... 'version': tenant_version, # this key is required ... }
Convert the
tenant_update
object to a JSON text:>>> tenant_update = json.dumps(tenant_update, indent=4) >>> print(tenant_update) { "enabled": false, "version": 3 }
Send a PUT request with the JSON text to the
/tenants/{tenant_id}
endpoint:>>> response = requests.put( ... f'{base_url}/tenants/{tenant_id}', ... headers={'Content-Type': 'application/json', **auth}, ... data=tenant_update, ... )
Check the status code of the response:
>>> response.status_code 200
Status code 200 means that the platform has disabled the tenant.
A different status code means that an error has occurred. For the details, refer to “Status and error codes”.
Terminating customer relationships
In case your customer or partner no longer wants to use the services, you can delete their tenant.
Warning
Deleting a tenant is not a reversible operation and results in the following:
All sub-tenants are deleted.
All user accounts within this tenant and all its sub-tenants are deleted.
All services enabled within this tenant and all its sub-tenants stop operating.
All service-related data (e.g., backups, synced files) of this tenant and all its sub-tenants are deleted.
Step-by-step procedure
Authenticate to the cloud platform via the Python shell.
The following variables should be available now:
>>> base_url # the base URL of the API 'https://eu2-cloud.acronis.com/api/2' >>> auth # the 'Authorization' header value with the access token {'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImMwMD...'} >>> tenant_id # the UUID of the tenant to which the token provides access 'ede9f834-70b3-476c-83d9-736f9f8c7dae'
Assign either of the following values to the
tenant_id
variable – the UUID of a sub-tenant created via the API or a sub-tenant found by its name:>>> tenant_id = created_tenant_id >>> tenant_id '0fcd4a69-8a40-4de8-b711-d9c83dc000f7'
Obtain the number of the latest tenant revision. You will have to specify this number in a subsequent request to the tenant. This is required to manage concurrent tenant modifications.
Fetch the tenant information as described in steps 3-5 of “fetching-tenant”. As the result, you should have a
tenant
variable with the tenant object.Define a variable named
tenant_version
, and then assign the value of theversion
key from the tenant object to this variable:>>> tenant_version = tenant['version'] >>> tenant_version 3
Define a variable named
tenant_update
, and then assign the following object to this variable:>>> tenant_update = { ... 'enabled': False, ... 'version': tenant_version, # this key is required ... }
Convert the
tenant_update
object to a JSON text:>>> tenant_update = json.dumps(tenant_update, indent=4) >>> print(tenant_update) { "enabled": false, "version": 3 }
Send a PUT request with the JSON text to the
/tenants/{tenant_id}
endpoint:>>> response = requests.put( ... f'{base_url}/tenants/{tenant_id}', ... headers={'Content-Type': 'application/json', **auth}, ... data=tenant_update, ... )
Check the status code of the response:
>>> response.status_code 200
Status code 200 means that the platform has disabled the tenant.
A different status code means that an error has occurred. For the details, refer to “Status and error codes”.
{includes/getting-tenant-version.txt}
Send a DELETE request to the
/tenants/{tenant_id}
endpoint. The endpoint URL must contain aversion
query parameter set to the number of the latest tenant revision:>>> params = {'version': tenant_version} >>> response = requests.delete(f'{base_url}/tenants/{tenant_id}', headers=auth, params=params)
Check the status code of the response:
>>> response.status_code 204
Status code 204 means that the platform has deleted the tenant.
A different status code means that an error has occurred. For the details, refer to “Status and error codes”.