Query usage summary (QueryUsageSummary)

Updated at:
Copy as MD

Queries the usage summary data within a specified time range, returning statistics such as total calls, total duration, and total cost for usage overview and cost analysis.

Prerequisites

Request parameters

Name

Type

Required

Description

Example

Action

String

Yes

The operation that you want to perform. Set the value to QueryUsageSummary.

QueryUsageSummary

Version

String

Yes

The API version number. Format: YYYY-MM-DD. Set the value to 2025-11-27.

2025-11-27

StartDate

String

No

The task start date. Date format: yyyy-MM-dd.

2024-01-01

EndDate

String

No

The task end date. Date format: yyyy-MM-dd.

2024-01-31

UsageType

String

No

CALL / SMS / ALL

ALL

Response parameters

Name

Type

Description

Example

RequestId

String

The request ID.

xxxx-xxxx-xxxx

Success

Boolean

Indicates whether the request was successful.

True

Code

String

The error code. Empty when the request is successful.

None

Message

String

The error message or success message.

Operation successful

Data

Object

The response data, which includes fields such as TotalCalls, TotalDuration, TotalSms, TotalCost, StartDate, and EndDate. For more information, see the following parameter description.

Examples

Python

import json
import os
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient


def main():
    config = open_api_models.Config(
        access_key_id=os.getenv("ACCESS_KEY_ID"),
        access_key_secret=os.getenv("ACCESS_KEY_SECRET"),
    )
    config.endpoint = "thirdswaicall.aliyuncs.com"
    config.protocol = "HTTPS"
    client = OpenApiClient(config)

    params = open_api_models.Params(
        style="RPC",
        version="2025-11-27",
        action="QueryUsageSummary",
        method="POST",
        pathname="/",
        protocol="HTTPS",
        auth_type="AK",
        req_body_type="json",
        body_type="json",
    )

    body = {'StartDate': '2024-01-01', 'EndDate': '2024-01-31', 'UsageType': 'ALL'}

    request = open_api_models.OpenApiRequest(query=OpenApiUtilClient.query(body))
    runtime = util_models.RuntimeOptions(autoretry=True, max_attempts=3)
    try:
        resp = client.call_api(params, request, runtime)
        print(json.dumps(resp.get("body", {}), ensure_ascii=False, indent=2))
    except Exception as e:
        print(f"调用失败: {e}")


if __name__ == "__main__":
    main()

Java

import com.aliyun.teaopenapi.Client;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teaopenapi.models.OpenApiRequest;
import com.aliyun.teaopenapi.models.Params;
import com.aliyun.teautil.models.RuntimeOptions;
import com.google.gson.Gson;

import java.util.HashMap;
import java.util.Map;

public class Demo {
    public static void main(String[] args) throws Exception {
        // 初始化配置
        Config config = new Config()
            .setAccessKeyId(System.getenv("ACCESS_KEY_ID"))
            .setAccessKeySecret(System.getenv("ACCESS_KEY_SECRET"))
            .setEndpoint("thirdswaicall.aliyuncs.com")
            .setProtocol("HTTPS");

        Client client = new Client(config);

        // 设置 API 参数
        Params params = new Params()
            .setStyle("RPC")
            .setVersion("2025-11-27")
            .setAction("QueryUsageSummary")
            .setMethod("POST")
            .setPathname("/")
            .setProtocol("HTTPS")
            .setAuthType("AK")
            .setReqBodyType("json")
            .setBodyType("json");

        // 构建请求参数
        Map<String, Object> body = new HashMap<>();
        // 根据实际需求添加请求参数

        OpenApiRequest request = new OpenApiRequest()
            .setQuery(com.aliyun.openapiutil.Client.query(body));

        // 设置运行时选项(自动重试)
        RuntimeOptions runtime = new RuntimeOptions()
            .setAutoretry(true)
            .setMaxAttempts(3);

        try {
            // 调用 API
            Map<String, ?> response = client.callApi(params, request, runtime);
            Gson gson = new Gson();
            System.out.println(gson.toJson(response.get("body")));
        } catch (Exception e) {
            System.err.println("调用失败: " + e.getMessage());
        }
    }
}

Sample response

{
  "Success": true,
  "Code": null,
  "Message": "Operation successful",
  "RequestId": "xxxx-xxxx-xxxx",
  "Data": {
    "TotalCalls": 1000,
    "TotalDuration": 5000,
    "TotalSms": 0,
    "TotalCost": 500.0,
    "StartDate": "2024-01-01",
    "EndDate": "2024-01-31"
  }
}

The specific results are contained in the Data node. The following table describes the parameters in the Data node.

Name

Type

Description

Example

TotalCalls

Number

The total number of calls.

1000

TotalDuration

Number

The total duration in minutes.

5000

TotalSms

Number

The total number of SMS messages.

0

TotalCost

Number

The total cost in yuan.

500.0

StartDate

String

The statistics start date.

2024-01-01

EndDate

String

The statistics end date.

2024-01-31

Error codes

If an error occurs, see Error codes for troubleshooting.