Updated on 2024-07-08 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.
  • After invoking this API, you can also invoke the API described in Querying the Amount of Unsubscription Orders to query the orders corresponding to the unsubscription order amounts.
  • 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. This is because that partners cannot buy products by themselves.

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.

Up to 10 resource IDs can be entered at a time. Only IDs of primary resources and child resources that are attached to primary resources are supported. The parent resource ID is required in whole-set sales scenarios.

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.myhuaweicloud.eu/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.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.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

Operation not allowed. Your resource has been frozen.

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.