All Products
Search
Document Center

Expenses and Costs:Saving plan

Last Updated:Feb 28, 2026

The BSS OpenAPI provides the following operations to manage and analyze savings plans.

API operations

OperationDescription
QuerySavingsPlansInstanceQuery savings plan instances.
QuerySavingsPlansDeductLogQuery deduction details for savings plan instances.
DescribeSavingsPlansUsageTotalQuery the total usage of savings plans.
DescribeSavingsPlansUsageDetailQuery usage details of savings plans by instance.
DescribeSavingsPlansCoverageTotalQuery the total coverage of savings plans.
DescribeSavingsPlansCoverageDetailQuery coverage details of savings plans by instance.
QuerySavingsPlansDiscountQuery discount rates for savings plans.

QuerySavingsPlansInstance

Queries information about savings plan instances, including status, commitment amount, utilization, and payment details.

Authorization

ActionAccess levelResource typeCondition keyDependent action
bssapi:QuerySavingsPlansInstancegetAll Resources (*)NoneNone

Request parameters

ParameterTypeRequiredDescriptionExample
PageSizeintegerNoNumber of entries per page.20
LocalestringNoLanguage of the response. Valid values: EN (English), ZH (Chinese).ZH
PageNumintegerNoPage number.1
InstanceIdstringNoSavings plan instance ID.spn-xxxxxxx
StartTimestringNoStart time in yyyy-MM-dd HH:mm:ss format.2020-01-01 00:00:00
EndTimestringNoEnd time in yyyy-MM-dd HH:mm:ss format.2021-01-01 00:00:00
Tagarray<object>NoList of tag key-value pairs.
KeystringNoTag key.ecs
ValuestringNoTag value.001
StatusstringNoInstance status. Valid values: NORMAL (active), RELEASE (released).NORMAL
CommodityCodestringNoCommodity code.savingplan_common_public_cn

Response parameters

ParameterTypeDescriptionExample
CodestringStatus code.Success
MessagestringResponse message.Successful
RequestIdstringRequest ID.61293E7A-3406-4447-8620-EC88B0AA66AD
SuccessbooleanWhether the request succeeded.true
DataobjectResponse data.
Data.PageNumintegerCurrent page number.1
Data.PageSizeintegerEntries per page.20
Data.TotalCountintegerTotal entries.100
Data.Itemsarray<object>List of savings plan instances.

Items fields:

ParameterTypeDescriptionExample
StatusstringInstance status. Valid values: NORMAL (active), LIMIT (suspended due to overdue payment), RELEASE (released).NORMAL
CyclestringPurchased duration.1:Year
StartTimestampintegerStart timestamp (milliseconds).1663135741039
SavingsTypestringSavings plan type. Valid values: unversal (general-purpose), ecs (compute-optimized).ECS
UtilizationstringTotal utilization rate.1.0
PrepayFeestringUpfront payment amount. Unit: CNY.8760.00
InstanceIdstringSavings plan instance ID.spn-xxxxxxxx
CurrencystringCurrency. Valid values: CNY (Chinese Yuan), USD (US Dollar).CNY
EndTimestampintegerEnd timestamp (milliseconds).1663135741039
EndTimestringExpiration time in yyyy-MM-dd HH:mm:ss format.2021-01-01 00:00:00
StartTimestringEffective time in yyyy-MM-dd HH:mm:ss format.2020-01-01 00:00:00
AllocationStatusstringAllocation status. Valid values: unallocated, allocated (allocating), beAllocated (allocated to this account).unallocated
InstanceFamilystringInstance family for compute-optimized savings plans.ecs.g6
RegionstringRegion.cn-zhangjiakou-na62-a01
LastBillTotalUsagestringTotal deduction in the previous cycle. Unit: CNY.100.0
LastBillUtilizationstringUtilization rate in the previous cycle.0.8
TotalSavestringTotal savings. Unit: CNY.20.00
PoolValuestringCommitment amount. Unit: CNY.1.00
PayModestringPayment type. Valid values: total (All Upfront), half (Partial Upfront), zero (No Upfront).total
Tagsarray<object>List of tags.
Tags.KeystringTag key.
Tags.ValuestringTag value.
DeductCycleTypestringDeduction cycle. Valid values: HOUR (hourly), DAY (daily), ONCE (one-time, total amount decreases over time).HOUR
RestPoolValuestringRemaining commitment in the current cycle for flexible savings plans with monthly or daily commitment. Unit: CNY.100.0
CommodityCodestringCommodity code.savingplan_common_public_cn
CurrentPoolValuestringCommitment for the current cycle for monthly-cycle savings plans. Unit: CNY.100.0

Sample success response

{
  "Code": "Success",
  "Message": "Successful",
  "RequestId": "61293E7A-3406-4447-8620-EC88B0AA66AD",
  "Success": true,
  "Data": {
    "PageNum": 1,
    "PageSize": 20,
    "TotalCount": 100,
    "Items": [
      {
        "Status": "NORMAL",
        "Cycle": "1:Year",
        "StartTimestamp": 1663135741039,
        "SavingsType": "ECS",
        "Utilization": "1.0",
        "PrepayFee": "8760.00",
        "InstanceId": "spn-xxxxxxxx",
        "Currency": "CNY",
        "EndTimestamp": 1663135741039,
        "EndTime": "2021-01-01 00:00:00",
        "StartTime": "2020-01-01 00:00:00",
        "AllocationStatus": "unallocated",
        "InstanceFamily": "ecs.g6",
        "Region": "cn-zhangjiakou-na62-a01",
        "LastBillTotalUsage": "100.0",
        "LastBillUtilization": "0.8",
        "TotalSave": "20.00",
        "PoolValue": "1.00",
        "PayMode": "total",
        "Tags": [
          {
            "Key": "tag-key",
            "Value": "tag-value"
          }
        ],
        "DeductCycleType": "HOUR",
        "RestPoolValue": "100.0",
        "CommodityCode": "savingplan_common_public_cn",
        "CurrentPoolValue": "100.0"
      }
    ]
  }
}

Error codes

HTTP status codeError codeError message
400InvalidOwnerThe specified owner does not belong to caller.
400InvalidParameterThe specified request contains invalid parameters.
400MissingParameterThe specified request lacks essential parameters.
400NotApplicableThe specified API is not applicable for the user.
400NotAuthorizedThe user is not authorized for the specified API.
500InternalErrorAn error occurred in the internal server.

For a complete list, see Error codes.

QuerySavingsPlansDeductLog

Queries deduction details for savings plan instances, including the deducted service, deduction amount, and discount rate.

Authorization

ActionAccess levelResource typeCondition keyDependent action
bssapi:QuerySavingsPlansDeductLoggetAll Resources (*)NoneNone

Request parameters

ParameterTypeRequiredDescriptionExample
InstanceTypestringNoQuery type. Valid values: spn (savings plan instance), product (deducted cloud service instance).spn
PageSizeintegerNoNumber of entries per page.20
LocalestringNoLanguage of the response. Default: ZH. Valid values: ZH (Chinese), EN (English).ZH
PageNumintegerNoPage number.1
InstanceIdstringNoInstance ID.spn-XXXXXXX
StartTimestringNoStart of the time range to query.2022-01-01 00:00:00
EndTimestringNoEnd of the time range to query.2022-01-05 00:00:00

Response parameters

ParameterTypeDescriptionExample
CodestringStatus code.Success
MessagestringResponse message.Successful!
RequestIdstringRequest ID.61293E7A-3406-4447-8620-EC88B0AA66AD
SuccessbooleanWhether the request succeeded.true
DataobjectResponse data.
Data.PageNumintegerCurrent page number.1
Data.PageSizeintegerEntries per page.20
Data.TotalCountintegerTotal entries.20
Data.Itemsarray<object>List of deduction details.

Items fields:

ParameterTypeDescriptionExample
EndTimestringDeduction end time.2020-12-01 01:00:00
StartTimestringDeduction start time.2020-12-01 00:00:00
SavingsTypestringSavings plan type. Valid values: universal (general-purpose), ecs (compute-optimized).ecs
UserIdintegerUser ID.1906589291020438
DiscountRatestringDiscount rate applied.0.069
BillModulestringDeducted billable item.
InstanceIdstringSavings plan instance ID.spn-xxxxxxx
DeductInstanceIdstringDeducted cloud service instance ID.i-XXXXXXXXX
DeductCommoditystringDeducted service name.
DeductRatestringDeduction rate.1.0
DeductFeestringDeducted amount. Unit: CNY.0.52
OwnerIdintegerResource owner ID.1906589291020438
BillingCyclestringBilling cycle in YYYYMM format.202312
RegionstringRegion of the deducted instance.cn-shanghai-eu13-a01
InstanceSpecstringInstance type of the deducted instance.ecs.g7.xlarge
InstanceTypeFamilystringInstance family of the deducted instance.ecs.g7
BillingOfficialPricestringList price of the deducted bill. Unit: CNY.375.35
DeductedOfficialPricestringList price of the deducted amount. Unit: CNY.375.37

Sample success response

{
  "Code": "Success",
  "Message": "Successful",
  "RequestId": "61293E7A-3406-4447-8620-EC88B0AA66AD",
  "Success": true,
  "Data": {
    "PageNum": 1,
    "PageSize": 20,
    "TotalCount": 20,
    "Items": [
      {
        "EndTime": "2020-12-01 01:00:00",
        "StartTime": "2020-12-01 00:00:00",
        "SavingsType": "ecs",
        "UserId": 1906589291020438,
        "DiscountRate": "0.069",
        "BillModule": "ECS instance configuration",
        "InstanceId": "spn-xxxxxxx",
        "DeductInstanceId": "i-XXXXXXXXX",
        "DeductCommodity": "Elastic Compute Service (ECS) - Pay-As-You-Go",
        "DeductRate": "1.0",
        "DeductFee": "0.52",
        "OwnerId": 1906589291020438,
        "BillingCycle": "202312",
        "Region": "cn-shanghai-eu13-a01",
        "InstanceSpec": "ecs.g7.xlarge",
        "InstanceTypeFamily": "ecs.g7",
        "BillingOfficialPrice": "375.35",
        "DeductedOfficialPrice": "375.37"
      }
    ]
  }
}

Error codes

HTTP status codeError codeError message
400InvalidOwnerThe specified owner does not belong to caller.
400InvalidParameterThe specified request contains invalid parameters.
400MissingParameterThe specified request lacks essential parameters.
400NotApplicableThe specified API is not applicable for the user.
400NotAuthorizedThe user is not authorized for the specified API.
500InternalErrorAn error occurred in the internal server.

For a complete list, see Error codes.

DescribeSavingsPlansUsageTotal

Queries the total usage of savings plans across a specified time range, including the overall utilization rate, pay-as-you-go cost, and savings amount.

Authorization

ActionAccess levelResource typeCondition keyDependent action
bss:SavingsPlansAnalysisgetAll Resources (*)NoneNone

Request parameters

ParameterTypeRequiredDescriptionExample
StartPeriodstringYesStart of the time range (inclusive) in yyyy-MM-dd HH:mm:ss format.2021-01-01 00:00:00
EndPeriodstringNoEnd of the time range (exclusive) in yyyy-MM-dd HH:mm:ss format. Defaults to the current time.2021-01-02 00:00:00
PeriodTypestringYesTime granularity. Valid values: MONTH, DAY, HOUR.HOUR
BillOwnerIdintegerNoAccount ID of the resource owner.123745698925000
FilterParamobjectNoFilter parameters.
FilterParam.Dimensionsarray<object>NoDimension filters.
FilterParam.Dimensions.CodestringNoDimension code.
FilterParam.Dimensions.Valuesarray<string>NoDimension values.
FilterParam.Dimensions.SelectTypestringNoSelection type.
FilterParam.Tagsarray<object>NoTag filters.
FilterParam.Tags.CodestringNoTag code.
FilterParam.Tags.Valuesarray<string>NoTag values.
FilterParam.Tags.SelectTypestringNoSelection type.

Response parameters

ParameterTypeDescriptionExample
CodestringStatus code.Success
MessagestringResponse message.Successful!
RequestIdstringRequest ID.79EE7556-0CFD-44EB-9CD6-B3B526E3A85F
SuccessbooleanWhether the request succeeded.true
DataobjectResponse data.
Data.PeriodCoveragearray<object>Usage data for each period.
Data.PeriodCoverage.PercentagenumberUsage rate for the period.1
Data.PeriodCoverage.PeriodstringTime period in yyyyMMddHH format.2021041500
Data.TotalUsageobjectSummary of total usage.
Data.TotalUsage.PostpaidCostnumberPay-as-you-go cost.200
Data.TotalUsage.SavedCostnumberAmount saved.100
Data.TotalUsage.UsagePercentagenumberOverall usage rate.1
Data.TotalUsage.PoolValuenumberTotal commitment of the savings plan.100

Sample success response

{
  "Code": "success",
  "Message": "Successful!",
  "RequestId": "79EE7556-0CFD-44EB-9CD6-B3B526E3A85F",
  "Success": true,
  "Data": {
    "PeriodCoverage": [
      {
        "Percentage": 1,
        "Period": "2021041500"
      }
    ],
    "TotalUsage": {
      "PostpaidCost": 200,
      "SavedCost": 100,
      "UsagePercentage": 1,
      "PoolValue": 100
    }
  }
}

Error codes

For a complete list, see Error codes.

DescribeSavingsPlansUsageDetail

Queries per-instance usage details of savings plans, including the commitment, deduction amount, and savings for each instance.

Authorization

ActionAccess levelResource typeCondition keyDependent action
bss:SavingsPlansAnalysisgetAll Resources (*)NoneNone

Request parameters

ParameterTypeRequiredDescriptionExample
StartPeriodstringYesStart of the time range (inclusive) in yyyy-MM-dd HH:mm:ss format.2021-01-01 00:00:00
EndPeriodstringNoEnd of the time range (exclusive) in yyyy-MM-dd HH:mm:ss format. Defaults to the current time.2021-01-02 00:00:00
PeriodTypestringYesTime granularity. Valid values: MONTH, DAY, HOUR.HOUR
TokenstringNoPagination token. Leave empty for the first request. An empty token in the response indicates all data has been returned.eyJwYWdlTnVtIjoyLCJwYWdlU2l6ZSI6MTB9
MaxResultsintegerNoMaximum entries per page. Default: 20. Maximum: 300.300
BillOwnerIdintegerNoAccount ID of the resource owner. Leave empty to query the current account and its linked accounts. Specify an account ID to query only that account.123745698925000
FilterParamobjectNoFilter parameters (same structure as DescribeSavingsPlansUsageTotal).

Response parameters

ParameterTypeDescriptionExample
CodestringStatus code.Success
MessagestringResponse message.Successful!
RequestIdstringRequest ID.79EE7556-0CFD-44EB-9CD6-B3B526E3A85F
SuccessbooleanWhether the request succeeded.true
DataobjectResponse data.
Data.TotalCountintegerTotal entries.1000
Data.NextTokenstringToken for the next page. Empty if all data is returned.eyJwYWdlTnVtIjoyLCJwYWdlU2ldhsSI6MTB9
Data.Itemsarray<object>List of usage details.

Items fields:

ParameterTypeDescriptionExample
StatusstringInstance status. -1: overdue payment. 1: active.-1
TypestringSavings plan type (general-purpose or ECS compute-optimized).General-purpose
UsagePercentagenumberUsage rate.0.9
UserIdintegerAccount ID.123745698925000
InstanceIdstringSavings plan instance ID.spn-a1fhs54c243hP22
CurrencystringCurrency code.CNY
PostpaidCostnumberStandard pay-as-you-go cost.4.2
DeductValuenumberAmount deducted from the savings plan (used commitment).3.94
StartPeriodstringStart time of the period.2021-08-01 00:00:00
SavedCostnumberNet savings.0.08
PoolValuenumberTotal commitment.29.84
UserNamestringAccount name.test13@test.aliyun.com
EndPeriodstringEnd time of the period.2021-08-09 00:00:00

Sample success response

{
  "Code": "Success",
  "Message": "Successful!",
  "RequestId": "79EE7556-0CFD-44EB-9CD6-B3B526E3A85F",
  "Success": true,
  "Data": {
    "TotalCount": 1000,
    "NextToken": "eyJwYWdlTnVtIjoyLCJwYWdlU2ldhsSI6MTB9",
    "Items": [
      {
        "Status": "-1",
        "Type": "General-purpose",
        "UsagePercentage": 0.9,
        "UserId": 123745698925000,
        "InstanceId": "spn-a1fhs54c243hP22",
        "Currency": "CNY",
        "PostpaidCost": 4.2,
        "DeductValue": 3.94,
        "StartPeriod": "2021-08-01 00:00:00",
        "SavedCost": 0.08,
        "PoolValue": 29.84,
        "UserName": "test13@test.aliyun.com",
        "EndPeriod": "2021-08-09 00:00:00"
      }
    ]
  }
}

Error codes

For a complete list, see Error codes.

DescribeSavingsPlansCoverageTotal

Queries the total coverage of savings plans over a specified time range, including coverage percentage and deduction amount.

Authorization

ActionAccess levelResource typeCondition keyDependent action
bss:SavingsPlansAnalysisgetAll Resources (*)NoneNone

Request parameters

ParameterTypeRequiredDescriptionExample
StartPeriodstringYesStart of the time range (inclusive) in yyyy-MM-dd HH:mm:ss format.2021-07-15 00:00:00
EndPeriodstringNoEnd of the time range (exclusive) in yyyy-MM-dd HH:mm:ss format. Defaults to the current time.2021-07-20 00:00:00
PeriodTypestringYesTime granularity. Valid values: MONTH, DAY, HOUR.HOUR
BillOwnerIdintegerNoAccount ID of the resource owner.123745698925000
FilterParamobjectNoFilter parameters (same structure as DescribeSavingsPlansUsageTotal).

Response parameters

ParameterTypeDescriptionExample
CodestringStatus code.Success
MessagestringResponse message.Successful!
RequestIdstringRequest ID.79EE7556-0CFD-44EB-9CD6-B3B526E3A85F
SuccessbooleanWhether the request succeeded.true
DataobjectResponse data.
Data.PeriodCoveragearray<object>Coverage data for each period.
Data.PeriodCoverage.PercentagenumberCoverage percentage for the period.1
Data.PeriodCoverage.PeriodstringTime period in yyyyMMddHH format.2021071500
Data.TotalCoverageobjectOverall coverage summary.
Data.TotalCoverage.CoveragePercentagenumberTotal coverage percentage.1
Data.TotalCoverage.DeductAmountnumberTotal deduction amount.100

Sample success response

{
  "Code": "Success",
  "Message": "Successful!",
  "RequestId": "79EE7556-0CFD-44EB-9CD6-B3B526E3A85F",
  "Success": true,
  "Data": {
    "PeriodCoverage": [
      {
        "Percentage": 1,
        "Period": "2021071500"
      }
    ],
    "TotalCoverage": {
      "CoveragePercentage": 1,
      "DeductAmount": 100
    }
  }
}

Error codes

For a complete list, see Error codes.

DescribeSavingsPlansCoverageDetail

Queries per-instance coverage details for savings plans, including coverage percentage, deduction amount, and total cost for each covered instance.

Authorization

ActionAccess levelResource typeCondition keyDependent action
bss:SavingsPlansAnalysisgetAll Resources (*)NoneNone

Request parameters

ParameterTypeRequiredDescriptionExample
StartPeriodstringYesStart of the time range (inclusive) in yyyy-MM-dd HH:mm:ss format.2021-01-01 00:00:00
EndPeriodstringNoEnd of the time range (exclusive) in yyyy-MM-dd HH:mm:ss format. Defaults to the current time.2021-01-01 00:00:00
PeriodTypestringYesTime granularity. Valid values: MONTH, DAY, HOUR.HOUR
TokenstringNoPagination token. Leave empty for the first request. An empty token in the response indicates all data has been returned.eyJwYWdlTnVtIjoyLCJwYWdlU2l6ZSI6MTB9
MaxResultsintegerNoMaximum number of entries to return.20
BillOwnerIdintegerNoAccount ID of the resource owner.123745698925000
FilterParamobjectNoFilter parameters (same structure as DescribeSavingsPlansUsageTotal).

Response parameters

ParameterTypeDescriptionExample
CodestringStatus code.Success
MessagestringResponse message.Successful!
RequestIdstringRequest ID.79EE7556-0CFD-44EB-9CD6-B3B526E3A85F
SuccessbooleanWhether the request succeeded.true
DataobjectResponse data.
Data.TotalCountintegerTotal entries.100
Data.NextTokenstringToken for the next page. Empty if all data is returned.eyJwYWdlTnVtIjoyLCJwYWdlU2l6ZSI6MTB9
Data.Itemsarray<object>List of coverage details.

Items fields:

ParameterTypeDescriptionExample
UserIdintegerUser ID.1906589291020438
OwnerIdintegerResource owner ID.1906589291020438
InstanceIdstringInstance ID of the covered resource.i-bp1d9x623987rlj0dx4xx
CurrencystringCurrency code.CNY
InstanceSpecstringInstance type.ecs.sn1ne.3xlarge
PostpaidCostnumberPay-as-you-go cost.200
CoveragePercentagenumberCoverage percentage.0.9
RegionstringRegion.China (Hangzhou)
DeductAmountnumberDeduction amount.5.5
StartPeriodstringStart time.2023-04-01 00:00:00
TotalAmountnumberTotal cost.6.11
UserNamestringAccount name.xxx@test.aliyunid.com
EndPeriodstringEnd time.2023-05-01 00:00:00

Sample success response

{
  "Code": "success",
  "Message": "Successful!",
  "RequestId": "79EE7556-0CFD-44EB-9CD6-B3B526E3A85F",
  "Success": true,
  "Data": {
    "TotalCount": 100,
    "NextToken": "eyJwYWdlTnVtIjoyLCJwYWdlU2l6ZSI6MTB9",
    "Items": [
      {
        "UserId": 1906589291020438,
        "OwnerId": 1906589291020438,
        "InstanceId": "i-bp1d9x623987rlj0dx4xx",
        "Currency": "CNY",
        "InstanceSpec": "ecs.sn1ne.3xlarge",
        "PostpaidCost": 200,
        "CoveragePercentage": 0.9,
        "Region": "China (Hangzhou)",
        "DeductAmount": 5.5,
        "StartPeriod": "2023-04-01 00:00:00",
        "TotalAmount": 6.11,
        "UserName": "xxx@test.aliyunid.com",
        "EndPeriod": "2023-05-01 00:00:00"
      }
    ]
  }
}

Error codes

For a complete list, see Error codes.

QuerySavingsPlansDiscount

Queries the discount rates for savings plans based on payment mode, plan type, duration, and resource specifications.

Authorization

ActionAccess levelResource typeCondition keyDependent action
bssapi:QuerySavingsPlansDiscountgetAll Resources (*)NoneNone

Request parameters

ParameterTypeRequiredDescriptionExample
PayModestringYesPayment mode. Valid values: total (all upfront), half (partial upfront), zero (no upfront).total
SpnTypestringYesSavings plan type. Valid values: ecs (compute-optimized), universal (general-purpose).universal
CyclestringYesDuration.1:Year
CommodityCodestringYesCommodity code of the target service.ecs
ModuleCodestringNoModule code.instance_type
PageSizeintegerNoNumber of entries per page.20
LocalestringNoLanguage of the response.ZH
PageNumintegerNoPage number.1
SpecstringNoResource type or instance type.ecs.g6
RegionstringNoRegion ID.cn-hangzhou
SpnCommodityCodestringNoCommodity code of the savings plan.savingplan_common_public_cn

Response parameters

ParameterTypeDescriptionExample
CodestringStatus code.Success
MessagestringResponse message.Successful!
RequestIdstringRequest ID.6000EE23-274B-4E07-A697-FF2E999520A4
SuccessbooleanWhether the request succeeded.true
DataobjectResponse data.
Data.HostIdstringHost ID.sg
Data.Itemsarray<object>List of discount details.

Items fields:

ParameterTypeDescriptionExample
CommodityNamestringProduct name.Pay-as-you-go Elastic Compute Service (ECS) instance
ModuleNamestringPricing module name.Instance
SpnTypestringSavings plan type.universal
PayModestringPayment mode. Valid values: total (All Upfront), half (Partial Upfront), zero (No Upfront).total
CyclestringDuration.1:Year
RegionstringRegion.cn-zhangjiakou-na62-a01
RegionCodestringRegion ID.cn-hangzhou
SpecstringInstance type.ecs.g6
DiscountRatestringOfficial discount rate.0.85
ContractDiscountRatestringContract discount rate.0.85

Sample success response

{
  "Message": "Successful",
  "RequestId": "6000EE23-274B-4E07-A697-FF2E999520A4",
  "Data": {
    "HostId": "sg",
    "Items": [
      {
        "CommodityName": "Pay-as-you-go Elastic Compute Service (ECS) instance",
        "ModuleName": "Instance",
        "SpnType": "universal",
        "PayMode": "total",
        "Cycle": "1:Year",
        "Region": "cn-zhangjiakou-na62-a01",
        "RegionCode": "cn-hangzhou",
        "Spec": "ecs.g6",
        "DiscountRate": "0.85",
        "ContractDiscountRate": "0.85"
      }
    ]
  },
  "Code": "Success",
  "Success": true
}

Error codes

For a complete list, see Error codes.