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

  1. 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'
    
  2. 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'
    
  3. 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.

    1. 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.

    2. Define a variable named tenant_version, and then assign the value of the version key from the tenant object to this variable:

      >>> tenant_version = tenant['version']
      >>> tenant_version
      3
      
  4. 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
    ... }
    
  5. Convert the tenant_update object to a JSON text:

    >>> tenant_update = json.dumps(tenant_update, indent=4)
    >>> print(tenant_update)
    {
        "enabled": false,
        "version": 3
    }
    
  6. 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,
    ... )
    
  7. 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

  1. 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'
    
  2. 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'
    
  3. 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.

    1. 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.

    2. Define a variable named tenant_version, and then assign the value of the version key from the tenant object to this variable:

      >>> tenant_version = tenant['version']
      >>> tenant_version
      3
      
  4. 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
    ... }
    
  5. Convert the tenant_update object to a JSON text:

    >>> tenant_update = json.dumps(tenant_update, indent=4)
    >>> print(tenant_update)
    {
        "enabled": false,
        "version": 3
    }
    
  6. 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,
    ... )
    
  7. 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

  1. 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'
    
  2. 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'
    
  3. 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.

    1. 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.

    2. Define a variable named tenant_version, and then assign the value of the version key from the tenant object to this variable:

      >>> tenant_version = tenant['version']
      >>> tenant_version
      3
      
  4. 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
    ... }
    
  5. Convert the tenant_update object to a JSON text:

    >>> tenant_update = json.dumps(tenant_update, indent=4)
    >>> print(tenant_update)
    {
        "enabled": false,
        "version": 3
    }
    
  6. 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,
    ... )
    
  7. 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”.

  8. {includes/getting-tenant-version.txt}

  9. Send a DELETE request to the /tenants/{tenant_id} endpoint. The endpoint URL must contain a version 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)
    
  10. 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”.