cam — Cloud Access Management
cam · 2019-01-16
ListPolicies
POST
Query the policy list.
Wire call
Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /cam/ListPolicies path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.
curl
curl -sS https://cam.api3.convergecloud.com/ \
-H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Host: cam.api3.convergecloud.com' \
-H 'X-TC-Action: ListPolicies' \
-H 'X-TC-Version: 2019-01-16' \
-H 'X-TC-Timestamp: <unix-seconds>' \
-H 'X-TC-Region: luzon' \
-d '{}'Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| Rp | integer | — | Number of entries per page: must be greater than 0 and no greater than 200. Default is 20 |
| Page | integer | — | Page number. Starts from 1 and cannot be greater than 200. Default is 1 |
| Scope | string | — | Valid values: `All`, `QCS`, and `Local`. `All` means all policies will be returned; `QCS` means only preset policies will be returned; `Local` means only custom policies will be returned. `All` is the default value |
| Keyword | string | — | Filter by policy name |
Response
Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.
| Field | Type | Description |
|---|---|---|
| TotalNum | integer | Total number of policies |
| List | StrategyInfo[] | Policy array. Each array contains fields including `policyId`, `policyName`, `addTime`, `type`, `description`, and `createMode`. |
| ServiceTypeList | string[] | Reserved field |
| RequestId | string | The unique request ID, which is returned for each request. RequestId is required for locating a problem. |
Success
{
"Response": {
"TotalNum": …,
"List": …,
"RequestId": "…"
}
}Error
{
"Response": {
"Error": { "Code": "…", "Message": "…" },
"RequestId": "…"
}
}Try it
CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/cam.
Request bodyvalid JSONPOST cam.api3.convergecloud.com · ListPolicies
Read-only. Creates nothing.
Recorded example response — captured 2026-09-16
{
"Response": {
"List": [
{
"AddTime": "2026-09-11 11:51:41",
"Attachments": 0,
"CreateMode": 3,
"Deactived": 0,
"DeactivedDetail": null,
"Description": "",
"IsAttached": 0,
"IsCheck": 1,
"PolicyDocument": "{\n \"version\": \"2.0\",\n \"statement\": [\n {\n \"effect\": \"allow\",\n \"action\": [\n \"cvm:*\",\n \"clb:*\",\n \"vpc:*\",\n \"cos:*\",\n \"tag:*\",\n \"sts:*\"\n ],\n \"resource\": [\n \"*\"\n ],\n \"condition\": {\n \"ip_equal\": {\n \"qcs:ip\": [\n \"203.0.113.0/24\",\n \"10.0.0.0/8\"\n ]\n }\n }\n }\n ]\n}",
"PolicyId": 981,
"PolicyName": "OCM-Pipeline",
"ServiceType": "",
"Type": 1,
"UpdateTime": "2026-09-11 11:57:48"
}
],
"RequestId": "64d7af3d-054b-f9d3-6461-236720e4a7ab",
"TotalNum": 1
}
}