docs: def initialize_service_agreement(did, agreement_id, service_definition_id, signature,
                                       account_address,
                                       consume_endpoint):
          """
          Send a request to the service provider (consume_endpoint) to initialize the service
          agreement for the asset identified by `did`.
  
          :param did: id of the asset includes the `did:op:` prefix, str
          :param agreement_id: id of the agreement, hex str
          :param service_definition_id: identifier of the service inside the asset DDO, str
          :param signature: signed agreement hash, hex str
          :param account_address: ethereum address of the consumer signing this agreement, hex str
          :param consume_endpoint: url of the service provider, str
          :return: bool
          """
          payload = Brizo._prepare_consume_payload(
              did, agreement_id, service_definition_id, signature, account_address
          )
          response = Brizo._http_client.post(
              consume_endpoint, data=payload,
              headers={'content-type': 'application/json'}
          )
          if response and hasattr(response, 'status_code'):
              if response.status_code != 201:
                  msg = (f'Initialize service agreement failed at the consumeEndpoint '
                         f'{consume_endpoint}, reason {response.text}, status {response.status_code}'
                         )
                  logger.error(msg)
                  raise OceanInitializeServiceAgreementError(msg)
  
              logger.info(
                  f'Service agreement initialized successfully, service agreement id {agreement_id},'
                  f' consumeEndpoint {consume_endpoint}')
              return True