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

FieldTypeRequiredDescription
Rpinteger—Number of entries per page: must be greater than 0 and no greater than 200. Default is 20
Pageinteger—Page number. Starts from 1 and cannot be greater than 200. Default is 1
Scopestring—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
Keywordstring—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.

FieldTypeDescription
TotalNumintegerTotal number of policies
ListStrategyInfo[]Policy array. Each array contains fields including `policyId`, `policyName`, `addTime`, `type`, `description`, and `createMode`.
ServiceTypeListstring[]Reserved field
RequestIdstringThe 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
  }
}