Enabling branding for a tenant

  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 information about an individual 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 params, and then assign an object with the version key containing version of the tenant to this variable:

    >>> params = {
    ...     'version': tenant_version
    ... }
    
  5. Send a POST request to the /tenants/{tenant_id}/brand endpoint:

    >>> response = requests.post(f'{base_url}/tenants/{tenant_id}/brand', headers=auth, params=params)
    
  6. Check the status code of the response:

    >>> response.status_code
    201
    

    Status code 201 means that branding options has been enabled for the tenant. Version number of the tenant will be also increased by 1.

    A different status code means that an error has occurred. For the details, refer to “Status and error codes”.

    Also, the response body contains the tenant information formatted as a JSON text. When converted to an object, it will look as follows:

    >>> pprint.pprint(response.json())
    {'ancestral_access': True,
     'brand_id': 3579,
     'brand_uuid": "14dc11ca-2b16-43bb-8ba4-2a3545c214a0',
     'contact': {'address1': '366 5th Ave',
                 'address2': None,
                 'city': None,
                 'country': None,
                 'email': 'foo.bar@example.com',
                 'firstname': '',
                 'lastname': '',
                 'phone': '1 123 4567890',
                 'state': None,
                 'zipcode': None},
     'customer_id': None,
     'customer_type': 'default',
     'default_idp_id': '11111111-1111-1111-1111-111111111111',
     'enabled': True,
     'has_children': False,
     'id': '0fcd4a69-8a40-4de8-b711-d9c83dc000f7',
     'internal_tag': 'some.unique.tag.value',
     'kind': 'customer',
     'language': 'en',
     'name': 'Foobar',
     'owner_id': None,
     'parent_id': 'ede9f834-70b3-476c-83d9-736f9f8c7dae',
     'update_lock': {'enabled': False, 'owner_id': None},
     'version': 1}
    
  7. [Optional] Increase the value of the the tenant_version variable by 1:

    >>> tenant_version = tenant_version + 1