Updated on 2024-02-22 GMT+08:00

Unsubscribing from Yearly/Monthly Resources

Function

If a customer has subscribed to a yearly/monthly resource, the customer can use this API to unsubscribe from the resource, including the renewed part and currently used part. The customer cannot use the resources after unsubscription.

Customers can follow the instructions described in Unsubscription to unsubscribe from the yearly/monthly resources in Billing Center.

  • A yearly/monthly resource can be unsubscribed from only after it has been successfully paid and provisioned.
  • If a primary resource has resources attached, the system cancels the subscription to both the primary resource and its attached ones after this API is invoked. You can invoke Querying Customer's Yearly/Monthly Resources to obtain the details of the attached resources.
  • If a newly purchased EVS disk is attached to an ECS, but this disk is not the attached to any of the ECS primary resources, you must invoke Querying Customer's Yearly/Monthly Resources to obtain the details of the ECS primary resources and its attached ones.
  • Confirm the resource information and the refund before unsubscribing from in-use resources. After being unsubscribed from, the resources not in the recycle bin cannot be restored. If you wan to continue using these resources, unsubscribe from the subscription term renewed but not used yet.

Constraints

This API can be invoked only by the customer AK/SK or token.

Debugging

You can debug the API in API Explorer which supports automatic authentication. API Explorer can automatically generate and debug example SDK code.

URI

POST /v2/orders/subscriptions/resources/unsubscribe

Request

Request Parameters

Parameter

Mandatory

Type

Value Range

Description

resource_ids

Yes

List<String>

A maximum 10 IDs

Resource IDs.

A maximum of 10 resource IDs can be entered at a time. Only the primary resource IDs can be entered.

Determine whether a resource is a primary resource based on is_main_resource in the response of the API described in Querying Customer's Yearly/Monthly Resources.

unsubscribe_type

Yes

Integer

1, 2

Unsubscription type. The value can be:

  • 1: Unsubscribe from the resource and its renewal periods.
  • 2: Unsubscribe from only the resource renewal periods.

unsubscribe_reason_type

No

Integer

1 to 5

Unsubscription cause. The value can be:

  • 1: The product is of poor usability.
  • 2: The product functions cannot meet the requirements.
  • 3: Customers do not know how to use the product, or the product operations are complex.
  • 4: Customers are not satisfied with the service.
  • 5: Others

unsubscribe_reason

No

String

A maximum of 512 characters

Unsubscription reason, which is generally specified by the customer.

Example Request

POST https://bss-intl.myhuaweicloud.com/v2/orders/subscriptions/resources/unsubscribe HTTP/1.1
Content-Type: application/json
X-Auth-Token: MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ
{
  "resource_ids": [
    "21e09f37c5c9420c8746ad5c71fb3aab"
  ],
  "unsubscribe_type": 1,
  "unsubscribe_reason_type": 5,
  "unsubscribe_reason": "test"
}

Response

Response Parameters

Parameter

Type

Description

error_code

String

Status code.

For details, see Returned Values.

error_msg

String

Error description.

order_ids

List<String>

Unsubscription order IDs.

fail_resource_infos

List<FailResourceInfo>

List of resources that failed to be unsubscribed from. This parameter has a value only when there are resources that fail to be unsubscribed from. For details, see #api_order_00019/table173001375312.

This parameter is reserved.

Table FailResourceInfo

Parameter

Type

Description

error_code

String

Status code.

For details, see Returned Values.

This parameter is reserved.

error_msg

String

Error description.

This parameter is reserved.

resource_id

String

Resource ID.

This parameter is reserved.

Example Response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time  
{
  "order_ids": [
    "CS19040119281JMYC"
  ],
  "fail_resource_infos":[]
}

Returned Values

  • 4xx: This class of HTTP status code is intended for situations in which the error seems to have been caused by the client, for example, the request contains bad syntax or incorrect parameters. You must ensure the request is correct.
  • 5xx: This class of HTTP status code is intended for cases in which the Huawei Cloud server is aware that it has encountered an error or is otherwise incapable of performing the request. In this case, contact Huawei Cloud customer service.

HTTP Value

Error Code

Description

400

CBC.0100

Parameter error.

400

CBC.30000052

The resources or account has been frozen.

400

CBC.30010035

Resource deleted.

400

CBC.99003012

The resource ID does not exist.

400

CBC.99003100

This operation is not allowed because some resources are included in your orders to be paid.

400

CBC.99003128

The resource does not have renewed periods or the renewed periods have taken effect, and the renewal periods cannot be unsubscribed.

400

CBC.99003185

The associated resources of a cloud service cannot be operated independently.

400

CBC.99003643

For cloud services for which invoices have been issued, unsubscription is not supported.

400

CBC.99003645

Unsubscription not supported for this cloud service type.

400

CBC.99003647

Unsubscription not supported for this pay-per-use package.

400

CBC.99003649

Unsubscription not supported for cloud services in trial use.

400

CBC.99003652

Unsubscription is not supported for DevCloud packages.

400

CBC.99003654

If there is a bandwidth add-on package, you cannot unsubscribe from the renewal period.

400

CBC.99003656

Unsubscription not supported for resources frozen due to security reasons.

400

CBC.99006066

An error occurred during the query of the fee information.

403

CBC.0151

Access denied.

400

CBC.99003651

Unsubscription not supported. An operation associated with this instance is in progress.

500

CBC.0999

Other errors.