{"openapi":"3.1.0","info":{"title":"Converge Cloud — Cloud Access Management (cam)","version":"2019-01-16","summary":"18 actions.","description":"Endpoint `https://cam.api3.convergecloud.com`, region `luzon`, `X-TC-Version: 2019-01-16`.\n\nA wrong `X-TC-Version` returns `InvalidAction`, which is indistinguishable from a missing action — this was the single largest source of false “absent” verdicts in our own measurements."},"servers":[{"url":"https://cam.api3.convergecloud.com","description":"Converge Cloud production (luzon — the only region)"}],"x-cc-wire-protocol":{"style":"RPC over HTTP POST","realPath":"/","actionHeader":"X-TC-Action","versionHeader":"X-TC-Version","version":"2019-01-16","note":"Every operation in this document is really `POST /` to the server above with `X-TC-Action: <Action>`. Paths of the form `/cam/<Action>` exist so the actions are individually addressable, linkable and renderable; they are not routes on the server.","signing":"TC3-HMAC-SHA256","region":"luzon","clockSkewSeconds":300},"security":[{"TC3":[]}],"tags":[{"name":"cam","description":"Cloud Access Management"}],"paths":{"/cam/ListPolicies":{"post":{"operationId":"cam_ListPolicies","summary":"ListPolicies","description":"Query the policy list.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: ListPolicies' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"ListPolicies","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"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}}},"recorded2":{"summary":"Example response 2","value":{"Response":{"List":[{"AddTime":"2022-09-02 13:21:02","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"该策略允许您管理账户内所有用户及其权限、财务相关的信息、云服务资产。","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"*\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":1,"PolicyName":"AdministratorAccess","ServiceType":"","Type":2,"UpdateTime":"2025-08-28 14:10:45"},{"AddTime":"2025-09-08 10:41:02","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"租户端审批流全读写访问策略","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:ListSubAccounts\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"tapproval:*\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"tyuntu:GetModuleNames\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":70,"PolicyName":"ApprovalFullAccess","ServiceType":"tapproval","Type":2,"UpdateTime":"2025-09-08 10:41:02"},{"AddTime":"2025-09-08 10:41:02","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"租户端审批流只读访问策略","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:ListSubAccounts\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"tapproval:DescribeFlowSet\",\"tapproval:GetApprovedSet\",\"tapproval:GetFlowDetail\",\"tapproval:QueryActionSet\",\"tapproval:QueryApplicationForm\",\"tapproval:QueryApprovalFlowStatus\",\"tapproval:QueryCurrApprovalDoc\",\"tapproval:QueryCustomerActionScope\",\"tapproval:QueryCustomerApprovalDetail\",\"tapproval:QueryCustomerApprovalDoc\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":71,"PolicyName":"ApprovalReadOnlyAccess","ServiceType":"tapproval","Type":2,"UpdateTime":"2025-09-08 10:41:02"},{"AddTime":"2025-08-28 14:37:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"计费租户端全读写权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"bill:*\",\"cam:ListSubAccounts\",\"tpo:DescribeProjects\",\"cam:ListAllUserGroup\",\"cam:ListGroups\",\"org:DescribeOrganizations\",\"organization:DescribeOrganization\",\"organization:DescribeOrganizationMembers\",\"organization:DescribeOrganizationNode\",\"organization:DescribeOrganizationNodeMembers\",\"organization:DescribeOrganizationNodesByParent\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":25,"PolicyName":"BillFullAccess","ServiceType":"bill","Type":2,"UpdateTime":"2025-08-28 14:37:12"},{"AddTime":"2025-08-28 14:37:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"计费租户端只读访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:ListAllUserGroup\",\"bill:CouponInfo\",\"bill:Descri*\",\"bill:Describe*\",\"bill:Export*\",\"bill:Get*\",\"bill:List*\",\"bill:Query*\",\"bill:Page*\",\"bill:CreateDownloadRecordGateway\",\"tpo:DescribeProjects\",\"bill:Coupons*\",\"cam:ListSubAccounts\",\"cam:ListGroups\",\"org:DescribeOrganizations\",\"organization:DescribeOrganization\",\"organization:DescribeOrganizationMembers\",\"organization:DescribeOrganizationNode\",\"organization:DescribeOrganizationNodeMembers\",\"organization:DescribeOrganizationNodesByParent\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":26,"PolicyName":"BillReadOnlyAccess","ServiceType":"bill","Type":2,"UpdateTime":"2025-08-28 14:37:12"},{"AddTime":"2025-08-28 14:09:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"用户与权限（CAM）全读写访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"account:*\",\"cam:*\",\"open:*\",\"tag:DescribeTagKeys\",\"tag:DescribeTagValues\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":2,"PolicyName":"CamFullAccess","ServiceType":"cam","Type":2,"UpdateTime":"2025-08-28 14:09:12"},{"AddTime":"2025-08-28 14:09:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"用户与权限（CAM）只读访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:CheckAccount\",\"cam:CheckPolicy\",\"cam:CheckUserPolicyAttachment\",\"cam:Describe*\",\"cam:List*\",\"cam:Query*\",\"account:Describe*\",\"open:Get*\",\"open:List*\",\"cam:GetAllSubUser\",\"cam:GetGroup\",\"cam:GetGroupList\",\"cam:GetGroupsSubAccount\",\"cam:GetLoginRules\",\"cam:GetPolicy\",\"cam:GetPrincipalService\",\"cam:GetRole\",\"cam:GetRoleListByOwnerUin\",\"cam:GetRoleListByUin\",\"cam:GetServiceApiList\",\"cam:GetServiceList\",\"cam:GetServicePermList\",\"cam:GetServiceRoleInfo\",\"cam:GetSubLoginUinList\",\"cam:GetSubsGroup\",\"cam:GetUinBySecretId\",\"cam:GetUinListByRolePolicy\",\"cam:GetUserGroupList\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":3,"PolicyName":"CamReadOnlyAccess","ServiceType":"cam","Type":2,"UpdateTime":"2025-08-28 14:09:12"},{"AddTime":"2025-08-31 11:22:59","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"云硬盘（CBS）全读写访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cvm:*Cbs*\",\"cvm:*Storage*\",\"cvm:*Snapshot*\",\"cvm:*Disk*\",\"cvm:*\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"monitor:*\",\"cam:ListUsersForGroup\",\"cam:ListGroups\",\"cam:GetGroup\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":39,"PolicyName":"CBSFullAccess","ServiceType":"cvm","Type":2,"UpdateTime":"2025-08-31 11:22:59"},{"AddTime":"2026-06-29 20:48:35","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"云容器镜像服务个人版的全读写策略","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"tcr:*\"],\"resource\":[\"qcs::tcr:::repo/*\"],\"effect\":\"allow\"}]}","PolicyId":661,"PolicyName":"CCRFullAccess","ServiceType":"tcr","Type":2,"UpdateTime":"2026-06-29 20:48:35"},{"AddTime":"2026-06-29 20:48:35","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"容器服务-镜像仓库（CCR/TCR）全读写访问权限（镜像仓库权限预设全读写策略）","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"ccr:*\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"tcr:*\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":666,"PolicyName":"CCRTCRFullAccess","ServiceType":"tcr","Type":2,"UpdateTime":"2026-06-29 20:48:35"},{"AddTime":"2026-06-29 20:48:35","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"容器服务-镜像仓库（CCR/TCR）只读访问权限（镜像仓库权限预设只读策略）","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:GetRole\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"ccr:pull\"],\"resource\":[\"qcs::ccr:::repo/*\"],\"effect\":\"allow\"},{\"action\":[\"tcr:Describe*\",\"tcr:PullRepository*\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"ccr:GetUserRepositoryList\"],\"resource\":[\"qcs::ccr:::repo/*\"],\"effect\":\"allow\"}]}","PolicyId":667,"PolicyName":"CCRTCRReadOnlyAccess","ServiceType":"tcr","Type":2,"UpdateTime":"2026-06-29 20:48:35"},{"AddTime":"2025-09-08 15:27:50","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"CfwForRoleStrategy","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"clb:DescribeLoadBalancers\",\"cvm:DescribeAddresses\",\"cvm:DescribeInstances\",\"cvm:DescribeInstancesStatus\",\"vpc:DescribeNatGateways\",\"vpc:DescribeVpcEx\",\"vpc:DescribeVpnGw\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":77,"PolicyName":"CfwForRoleStrategy","ServiceType":"cfw","Type":2,"UpdateTime":"2026-08-12 14:53:53"},{"AddTime":"2025-09-08 15:27:50","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"读写","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:GetRole\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cfw:CreateAcRules\",\"cfw:CreateWarnEventRules\",\"cfw:Describe*\",\"cfw:Modify*\",\"clb:DescribeLoadBalancers\",\"cvm:AllocateAddresses\",\"cvm:DescribeAddresses\",\"cvm:DescribeInstanceInternetBandwidthConfigs\",\"cvm:DescribeInstances\",\"cvm:DescribeInstancesStatus\",\"cvm:ResetInstancesInternetMaxBandwidth\",\"vpc:CreateRoute\",\"vpc:CreateRouteTable\",\"vpc:CreateSubnet\",\"vpc:DeleteRoute\",\"vpc:DeleteSubnet\",\"vpc:DescribeCcnAttachedInstances\",\"vpc:DescribeCcns\",\"vpc:DescribeNatGateways\",\"vpc:DescribeRouteTable\",\"vpc:DescribeRouteTables\",\"vpc:DescribeSubnet\",\"vpc:DescribeSubnetEx\",\"vpc:DescribeVpcEx\",\"vpc:DescribeVpcPeeringConnections\",\"vpc:DescribeVpnGw\",\"vpc:HaVipAssociateAddressIp\",\"vpc:HaVipDisassociateAddressIp\",\"vpc:ModifyRoute\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":85,"PolicyName":"CFWReadWriteTest","ServiceType":"cfw","Type":2,"UpdateTime":"2026-08-12 14:53:54"},{"AddTime":"2025-08-29 17:55:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"负载均衡（CLB）财务权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"finance:*\"],\"resource\":[\"qcs::clb:::*\"],\"effect\":\"allow\"}]}","PolicyId":29,"PolicyName":"CLBFinanceAccess","ServiceType":"clb","Type":2,"UpdateTime":"2025-08-29 17:55:12"},{"AddTime":"2025-08-29 17:55:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"负载均衡（CLB）全读写访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"account:UploadCert\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"bms:DescribeInstances\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cam:GetGroup\",\"cam:GetRole\",\"cam:GetServiceRoleInfo\",\"cam:ListGroups\",\"cam:ListUsersForGroup\",\"monitor:*\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cdc:DescribeDedicatedClusters\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"clb:*\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cls:DescribeLogsets\",\"cls:DescribeTopics\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cvm:AssociateAddress\",\"cvm:DescribeAddresses\",\"cvm:DescribeInstances\",\"cvm:DescribeSecurityGroupLimits\",\"cvm:DescribeSecurityGroupPolicys\",\"cvm:DescribeSecurityGroups\",\"cvm:DisassociateAddress\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"tag:DescribeResourceTagsByResourceIds\",\"tag:DescribeTagKeys\",\"tag:DescribeTagValues\",\"tag:GetResourceTagsByResourceIds\",\"tag:GetTagKeys\",\"tag:GetTagValues\",\"tag:ModifyResourceTags\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"vpc:AddIp6Rules\",\"vpc:CreateIp6Translators\",\"vpc:DeleteIp6Translators\",\"vpc:DescribeIp6IdcInfo\",\"vpc:DescribeIp6TranslatorQuota\",\"vpc:DescribeIp6Translators\",\"vpc:DescribeIp6Translators\",\"vpc:DescribeNetworkInterfaces\",\"vpc:DescribeSecurityGroups\",\"vpc:DescribeSubnetEx\",\"vpc:DescribeVpcEx\",\"vpc:DescribeVpcIds\",\"vpc:ModifyIp6Rule\",\"vpc:ModifyIp6Translator\",\"vpc:RemoveIp6Rules\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"waf:DescribeHost\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":27,"PolicyName":"CLBFullAccess","ServiceType":"clb","Type":2,"UpdateTime":"2025-08-29 17:55:12"},{"AddTime":"2025-08-29 17:55:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"负载均衡（CLB）只读访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"bms:DescribeInstances\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cam:GetGroup\",\"cam:GetRole\",\"cam:ListGroups\",\"cam:ListUsersForGroup\",\"monitor:Describe*\",\"monitor:Get*\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"clb:Describe*\",\"clb:GetCertListWithLoadBalancer\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cls:DescribeLogsets\",\"cls:DescribeTopics\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"cvm:DescribeAddresses\",\"cvm:DescribeInstances\",\"cvm:DescribeSecurityGroupLimits\",\"cvm:DescribeSecurityGroupPolicys\",\"cvm:DescribeSecurityGroups\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"tag:DescribeResourceTagsByResourceIds\",\"tag:DescribeTagKeys\",\"tag:DescribeTagValues\",\"tag:GetResourceTagsByResourceIds\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"vpc:DescribeIp6IdcInfo\",\"vpc:DescribeIp6TranslatorQuota\",\"vpc:DescribeIp6Translators\",\"vpc:DescribeIp6Translators\",\"vpc:DescribeNetworkInterfaces\",\"vpc:DescribeSecurityGroupLimits\",\"vpc:DescribeSecurityGroupPolicies\",\"vpc:DescribeSecurityGroups\",\"vpc:DescribeSubnetEx\",\"vpc:DescribeVpcEx\",\"vpc:DescribeVpcIds\"],\"resource\":[\"*\"],\"effect\":\"allow\"},{\"action\":[\"waf:DescribeHost\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":28,"PolicyName":"CLBReadOnlyAccess","ServiceType":"clb","Type":2,"UpdateTime":"2025-08-29 17:55:12"},{"AddTime":"2026-06-29 23:17:01","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"CMDB全读写权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cmdb:*\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":692,"PolicyName":"CmdbFullAccess","ServiceType":"cmdb","Type":2,"UpdateTime":"2026-06-29 23:17:01"},{"AddTime":"2026-06-29 23:17:01","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"CMDB只读权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:Describe*\",\"cam:Get*\",\"cam:List*\",\"cmdb:Check*\",\"cmdb:CmdbSyncSearch*\",\"cmdb:Describe*\",\"cmdb:FullTextSearch\",\"cmdb:Get*\",\"cmdb:List*\",\"cmdb:PingSubscription\",\"cmdb:Query*\",\"cmdb:Search*\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":691,"PolicyName":"CmdbReadOnly","ServiceType":"cmdb","Type":2,"UpdateTime":"2026-06-29 23:17:01"},{"AddTime":"2025-08-28 14:09:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"子账号密钥全读写访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:*CollApiKey\",\"cam:GetApiKey\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":4,"PolicyName":"CollApiKeyFullAccess","ServiceType":"cam","Type":2,"UpdateTime":"2025-08-28 14:09:12"},{"AddTime":"2025-08-28 14:09:12","Attachments":0,"CreateMode":2,"Deactived":0,"DeactivedDetail":null,"Description":"子账号密钥只读访问权限","IsAttached":0,"IsCheck":1,"PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":[\"cam:QueryCollApiKey\",\"cam:GetApiKey\"],\"resource\":[\"*\"],\"effect\":\"allow\"}]}","PolicyId":5,"PolicyName":"CollApiKeyReadOnlyAccess","ServiceType":"cam","Type":2,"UpdateTime":"2025-08-28 14:09:12"}],"RequestId":"725934f6-00de-f1d6-509f-0a91badec0dd","TotalNum":112}}}}}}}}}},"/cam/GetPolicy":{"post":{"operationId":"cam_GetPolicy","summary":"GetPolicy","description":"Query and view policy details.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: GetPolicy' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"GetPolicy","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"Error":{"Code":"ResourceNotFound.PolicyIdNotFound","Message":"policy id is not exist","code":11026,"msg":"policy id is not exist","value":null},"RequestId":"b24e100b-cbd3-7d62-0c99-e723ff0dfcc9"}}}}}}}}}},"/cam/ListEntitiesForPolicy":{"post":{"operationId":"cam_ListEntitiesForPolicy","summary":"ListEntitiesForPolicy","description":"Query the list of entities associated with a policy.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: ListEntitiesForPolicy' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"ListEntitiesForPolicy","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"Response":{"List":[],"RequestId":"6bb8b9ee-d4b6-201a-cc6c-f90bb5cf13cc","TotalNum":0}}}}}}}}}},"/cam/DescribeRoleList":{"post":{"operationId":"cam_DescribeRoleList","summary":"DescribeRoleList","description":"Get the role list under the account.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeRoleList' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"DescribeRoleList","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"Response":{"List":[{"AddTime":"2026-09-13 19:02:35","ConsoleLogin":1,"Description":"该策略仅供集团账号管理（Organization）服务相关角色（Orgnization_QCSLinkedRoleInServiceControl）进行关联，用于Organization访问其他云服务资源。","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":[\"qcs::cam::uin/91000000001:root\"]}}]}","RoleId":"4611686018427388296","RoleName":"Organization_QCSLinkedRoleInDefaultMng","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-13 19:02:35"},{"AddTime":"2026-09-15 16:39:30","ConsoleLogin":1,"Description":"Organization AccessController Role","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"name/sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":\"qcs::cam::uin/100000000001:uin/100000000001\"}}]}","RoleId":"4611686018427388297","RoleName":"OrganizationAccessControlRole","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-15 16:39:30"},{"AddTime":"2026-09-13 19:02:35","ConsoleLogin":1,"Description":"该策略仅供集团账号管理（Organization）服务相关角色（Orgnization_QCSLinkedRoleInServiceControl）进行关联，用于Organization访问其他云服务资源。","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":[\"qcs::cam::uin/91000000001:root\"]}}]}","RoleId":"4611686018427388299","RoleName":"Orgnization_QCSLinkedRoleInServiceControl","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-13 19:02:35"},{"AddTime":"2026-09-15 16:39:30","ConsoleLogin":1,"Description":"Organization AccessController Role","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"name/sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":\"qcs::cam::uin/100000000001:uin/100000000001\"}}]}","RoleId":"4611686018427388323","RoleName":"OrganizationAccessReadOnlyMngRole","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-15 16:39:30"}],"RequestId":"aad5f70a-ddbf-e8e0-9c1c-fc41b7dc6de8","TotalNum":4}}},"recorded2":{"summary":"Example response 2","value":{"Response":{"List":[{"AddTime":"2026-09-13 19:02:35","ConsoleLogin":1,"Description":"该策略仅供集团账号管理（Organization）服务相关角色（Orgnization_QCSLinkedRoleInServiceControl）进行关联，用于Organization访问其他云服务资源。","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":[\"qcs::cam::uin/91000000001:root\"]}}]}","RoleId":"4611686018427388296","RoleName":"Organization_QCSLinkedRoleInDefaultMng","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-13 19:02:35"},{"AddTime":"2026-09-15 16:39:30","ConsoleLogin":1,"Description":"Organization AccessController Role","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"name/sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":\"qcs::cam::uin/100000000001:uin/100000000001\"}}]}","RoleId":"4611686018427388297","RoleName":"OrganizationAccessControlRole","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-15 16:39:30"},{"AddTime":"2026-09-13 19:02:35","ConsoleLogin":1,"Description":"该策略仅供集团账号管理（Organization）服务相关角色（Orgnization_QCSLinkedRoleInServiceControl）进行关联，用于Organization访问其他云服务资源。","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":[\"qcs::cam::uin/91000000001:root\"]}}]}","RoleId":"4611686018427388299","RoleName":"Orgnization_QCSLinkedRoleInServiceControl","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-13 19:02:35"},{"AddTime":"2026-09-15 16:39:30","ConsoleLogin":1,"Description":"Organization AccessController Role","PolicyDocument":"{\"version\":\"2.0\",\"statement\":[{\"action\":\"name/sts:AssumeRole\",\"effect\":\"allow\",\"principal\":{\"qcs\":\"qcs::cam::uin/100000000001:uin/100000000001\"}}]}","RoleId":"4611686018427388323","RoleName":"OrganizationAccessReadOnlyMngRole","RoleType":"organization","SessionDuration":0,"UpdateTime":"2026-09-15 16:39:30"}],"RequestId":"92f834d8-a0da-b1a7-979b-2cfba8602336","TotalNum":4}}}}}}}}}},"/cam/GetRole":{"post":{"operationId":"cam_GetRole","summary":"GetRole","description":"Get the details of a specified role.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: GetRole' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"GetRole","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"Error":{"Code":"InvalidParameter.RoleNotExist","Message":"Role not exist.","code":11039,"msg":"Role not exist.","value":null},"RequestId":"97d4c52a-e14e-31bf-d4a5-54d0ec4adaef"}}}}}}}}}},"/cam/ListAttachedRolePolicies":{"post":{"operationId":"cam_ListAttachedRolePolicies","summary":"ListAttachedRolePolicies","description":"Obtain the list of the policies associated with a role.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: ListAttachedRolePolicies' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"ListAttachedRolePolicies","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"Response":{"List":[],"RequestId":"008ee7c2-0368-1abc-b5d8-a6cc61d9f3b3","TotalNum":0}}}}}}}}}},"/cam/ListGroups":{"post":{"operationId":"cam_ListGroups","summary":"ListGroups","description":"Query the list of user groups.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: ListGroups' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"ListGroups","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"Response":{"GroupInfo":[{"Channel":3,"CreateTime":"2026-09-11 11:58:11","GroupId":1373,"GroupName":"OCM-Pipeline","GroupNum":1,"GroupType":0,"Remark":"","UserInfo":[]}],"Remark":"","RequestId":"68e9d3e8-a6ad-d466-1fef-08676f546375","TotalNum":1,"UserInfo":null}}},"recorded2":{"summary":"Example response 2","value":{"Response":{"GroupInfo":[{"Channel":3,"CreateTime":"2026-09-11 11:58:11","GroupId":1373,"GroupName":"OCM-Pipeline","GroupNum":1,"GroupType":0,"Remark":"","UserInfo":[]}],"Remark":"","RequestId":"73d2482c-c7d2-36ad-a3c6-586debf5d1b7","TotalNum":1,"UserInfo":null}}}}}}}}}},"/cam/ListUsersForGroup":{"post":{"operationId":"cam_ListUsersForGroup","summary":"ListUsersForGroup","description":"Query the list of users associated with a user group.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: ListUsersForGroup' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"ListUsersForGroup","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"Error":{"Code":"InternalError.SystemError","Message":"record not found","code":1001,"msg":"record not found","value":null},"RequestId":"8f5e9d75-034a-8575-f1b0-c4e6bb67b145"}}},"error2":{"summary":"Example error response 2","value":{"Response":{"Error":{"Code":"InternalError.SystemError","Message":"record not found","code":1001,"msg":"record not found","value":null},"RequestId":"01066e44-996f-d606-7b02-380ae2c3eba7"}}}}}}}}}},"/cam/ListAttachedGroupPolicies":{"post":{"operationId":"cam_ListAttachedGroupPolicies","summary":"ListAttachedGroupPolicies","description":"Query the list of policies associated with a user group.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: ListAttachedGroupPolicies' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"ListAttachedGroupPolicies","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"Response":{"List":[],"RequestId":"1dcdc60c-202a-d4e0-fbc9-7d7101d57198","TotalNum":0}}}}}}}}}},"/cam/QueryApiKey":{"post":{"operationId":"cam_QueryApiKey","summary":"QueryApiKey","description":"Query the access keys belonging to a sub-account.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: QueryApiKey' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"QueryApiKey","x-cc-version":"2019-01-16","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"Response":{"Error":{"Code":"","Message":"; UserNotExist","code":0,"msg":"UserNotExist","value":null},"RequestId":"cc2ae468-4222-3c44-8a5e-890cbea29f91"}}}}}}}}}},"/cam/DeleteUser":{"post":{"operationId":"cam_DeleteUser","summary":"DeleteUser","description":"Delete a sub-user.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DeleteUser' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"DeleteUser","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"RequestId":"32de57c1-850f-d131-478e-539ff2a3ef4e","Error":{"Code":"InvalidParameter","Message":"[Type 3002] : Additional property Force is not allowed; "}}}}}}}}}}},"/cam/CreatePolicy":{"post":{"operationId":"cam_CreatePolicy","summary":"CreatePolicy","description":"Create a policy.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: CreatePolicy' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"CreatePolicy","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"recorded1":{"summary":"Example response","value":{"Response":{"Error":{"Code":"","Message":"; readObjectStart: expect { or n, but found c, error found in #1 byte of ...|example|..., bigger context ...|example|...","code":0,"msg":"readObjectStart: expect { or n, but found c, error found in #1 byte of ...|example|..., bigger context ...|example|...","value":null},"RequestId":"cf544a1f-7b71-a478-76c5-63fcc0f53e5e"}}}}}}}}}},"/cam/DeletePolicy":{"post":{"operationId":"cam_DeletePolicy","summary":"DeletePolicy","description":"Delete a policy.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DeletePolicy' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"DeletePolicy","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"Error":{"Code":"InvalidParameter.ParamError","Message":"ResourceNotFound.PolicyIdNotFound:policy id is not exist","code":500,"msg":"ResourceNotFound.PolicyIdNotFound:policy id is not exist","value":null},"RequestId":"c0e63e6c-5944-7777-cbb6-29f07e148251"}}}}}}}}}},"/cam/CreateRole":{"post":{"operationId":"cam_CreateRole","summary":"CreateRole","description":"Create a role.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: CreateRole' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"CreateRole","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"Error":{"Code":"InvalidParameter.PolicyDocument","Message":"invalid policy document","code":100,"msg":"invalid policy document","value":null},"RequestId":"7b54d5c5-b82a-4cde-1caa-bbeead314dfb"}}}}}}}}}},"/cam/DeleteRole":{"post":{"operationId":"cam_DeleteRole","summary":"DeleteRole","description":"Delete a specified role.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DeleteRole' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"DeleteRole","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"Error":{"Code":"InvalidParameter.RoleName","Message":"invalid param RoleName","code":100,"msg":"invalid param RoleName","value":null},"RequestId":"514de819-09b2-08bb-7c43-c7d1627e26c9"}}}}}}}}}},"/cam/AttachRolePolicy":{"post":{"operationId":"cam_AttachRolePolicy","summary":"AttachRolePolicy","description":"Associate a policy with a role.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: AttachRolePolicy' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"AttachRolePolicy","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"Error":{"Code":"InvalidParameter.RoleName","Message":"invalid param RoleName","code":100,"msg":"invalid param RoleName","value":null},"RequestId":"ed462f57-4809-4035-69e8-a74cbdd28dfc"}}}}}}}}}},"/cam/AddUserToGroup":{"post":{"operationId":"cam_AddUserToGroup","summary":"AddUserToGroup","description":"Add users to a user group.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: AddUserToGroup' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"AddUserToGroup","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"RequestId":"0199696e-21b8-4608-cdba-7d32573cada5","Error":{"Code":"InvalidParameter","Message":"[Type 3002] : UpdateType is required; Info.0.GroupId: Invalid type. Expected: string, given: integer; Info.0.Uid: Invalid type. Expected: string, given: integer; "}}}}}}}}}}},"/cam/CreateGroup":{"post":{"operationId":"cam_CreateGroup","summary":"CreateGroup","description":"Create a user group.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `cam.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://cam.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/cam/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: cam.api3.convergecloud.com' \\\n  -H 'X-TC-Action: CreateGroup' \\\n  -H 'X-TC-Version: 2019-01-16' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["cam"],"deprecated":false,"x-cc-service":"cam","x-cc-action":"CreateGroup","x-cc-version":"2019-01-16","x-cc-mutating":true,"x-cc-required-params":[],"x-cc-notable-params":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."}}}},"responses":{"200":{"description":"Converge Cloud answers 200 for both success and error. Read `Response.Error` to tell them apart — never the HTTP status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"examples":{"error1":{"summary":"Example error response 1","value":{"Response":{"RequestId":"a2d02cc4-9b68-8e64-8635-c9ec6d73c41f","Error":{"Code":"MissingParameter","Message":"[Type 3002] : GroupId is required; "}}}}}}}}}}}},"components":{"securitySchemes":{"TC3":{"type":"apiKey","in":"header","name":"Authorization","description":"TC3-HMAC-SHA256. Credential scope is `<YYYY-MM-DD>/cam/tc3_request`. The signing service name is a separate input from the hostname — deriving it from the host works until it does not, and the failure looks like an auth bug. Timestamps outside a 300-second window are rejected."}},"schemas":{"Envelope":{"type":"object","description":"Every Converge Cloud response is wrapped in `Response`, success or failure.","properties":{"Response":{"type":"object","properties":{"RequestId":{"type":"string","description":"Always present, including on errors. Quote it to Converge support."},"Error":{"$ref":"#/components/schemas/Error"}},"required":["RequestId"],"additionalProperties":true}},"required":["Response"]},"Error":{"type":"object","description":"Present only on failure. Error messages are Chinese on vpc and dc and English elsewhere — parse `Code`, never `Message`.","properties":{"Code":{"type":"string","examples":["InvalidAction","UnauthorizedOperation","AuthFailure.SignatureFailure","ResourceNotFound","InvalidParameterValue.LimitExceeded"]},"Message":{"type":"string"}},"required":["Code","Message"]}}}}