{"openapi":"3.1.0","info":{"title":"Converge Cloud — Resource Tagging (tag)","version":"2018-08-13","summary":"12 actions.","description":"Endpoint `https://tag.api3.convergecloud.com`, region `luzon`, `X-TC-Version: 2018-08-13`.\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://tag.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":"2018-08-13","note":"Every operation in this document is really `POST /` to the server above with `X-TC-Action: <Action>`. Paths of the form `/tag/<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":"tag","description":"Resource Tagging"}],"paths":{"/tag/DescribeResourceTags":{"post":{"operationId":"tag_DescribeResourceTags","summary":"DescribeResourceTags","description":"Query the tags associated with a resource.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeResourceTags' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{\"Offset\":0,\"Limit\":20}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DescribeResourceTags","x-cc-version":"2018-08-13","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":["Offset","Limit","TagKeys","TagFilters","ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"Offset":{"type":"integer","minimum":0,"description":"Zero-based pagination offset. Optional."},"Limit":{"type":"integer","minimum":0,"maximum":100,"description":"Page size. Maximum is 100. Optional."},"TagKeys":{"type":"array","items":{"type":"string"},"description":"Optional."},"TagFilters":{"type":"string","description":"Optional."},"ResourceIds":{"type":"array","items":{"type":"string"},"description":"Optional."},"ResourcePrefix":{"type":"string","description":"Optional."},"ResourceRegion":{"type":"string","description":"Optional."},"ServiceType":{"type":"string","description":"Optional."}},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."},"example":{"Offset":0,"Limit":20}}}},"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":{"Limit":15,"Offset":0,"Rows":[],"TotalCount":0}}}}}}}}},"/tag/DescribeResourceTagsByResourceIds":{"post":{"operationId":"tag_DescribeResourceTagsByResourceIds","summary":"DescribeResourceTagsByResourceIds","description":"Query the tag key-value pairs associated with an existing resource.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeResourceTagsByResourceIds' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{\"ResourceIds\":[\"<ResourceId>\"],\"ResourcePrefix\":\"<ResourcePrefix>\",\"ResourceRegion\":\"<ResourceRegion>\",\"ServiceType\":\"<ServiceType>\"}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DescribeResourceTagsByResourceIds","x-cc-version":"2018-08-13","x-cc-mutating":false,"x-cc-required-params":["ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"x-cc-notable-params":["Offset","Limit","TagKeys","TagFilters","ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ResourceIds":{"type":"array","items":{"type":"string"}},"ResourcePrefix":{"type":"string"},"ResourceRegion":{"type":"string"},"ServiceType":{"type":"string"},"Offset":{"type":"integer","minimum":0,"description":"Zero-based pagination offset. Optional."},"Limit":{"type":"integer","minimum":0,"maximum":100,"description":"Page size. Maximum is 100. Optional."},"TagKeys":{"type":"array","items":{"type":"string"},"description":"Optional."},"TagFilters":{"type":"string","description":"Optional."}},"required":["ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."},"example":{"ResourceIds":["<ResourceId>"],"ResourcePrefix":"<ResourcePrefix>","ResourceRegion":"<ResourceRegion>","ServiceType":"<ServiceType>"}}}},"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"}}}}}}},"/tag/DescribeResourceTagsByTagKeys":{"post":{"operationId":"tag_DescribeResourceTagsByTagKeys","summary":"DescribeResourceTagsByTagKeys","description":"Get resource tags based on tag keys.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeResourceTagsByTagKeys' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{\"ResourceIds\":[\"<ResourceId>\"],\"ResourcePrefix\":\"<ResourcePrefix>\",\"ResourceRegion\":\"<ResourceRegion>\",\"ServiceType\":\"<ServiceType>\",\"TagKeys\":\"<TagKeys>\",\"Offset\":0,\"Limit\":20}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DescribeResourceTagsByTagKeys","x-cc-version":"2018-08-13","x-cc-mutating":false,"x-cc-required-params":["ResourceIds","ResourcePrefix","ResourceRegion","ServiceType","TagKeys","Offset","Limit"],"x-cc-notable-params":["Offset","Limit","TagKeys","TagFilters","ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ResourceIds":{"type":"array","items":{"type":"string"}},"ResourcePrefix":{"type":"string"},"ResourceRegion":{"type":"string"},"ServiceType":{"type":"string"},"TagKeys":{"type":"array","items":{"type":"string"}},"Offset":{"type":"integer","minimum":0,"description":"Zero-based pagination offset."},"Limit":{"type":"integer","minimum":0,"maximum":100,"description":"Page size. Maximum is 100."},"TagFilters":{"type":"string","description":"Optional."}},"required":["ResourceIds","ResourcePrefix","ResourceRegion","ServiceType","TagKeys","Offset","Limit"],"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."},"example":{"ResourceIds":["<ResourceId>"],"ResourcePrefix":"<ResourcePrefix>","ResourceRegion":"<ResourceRegion>","ServiceType":"<ServiceType>","TagKeys":"<TagKeys>","Offset":0,"Limit":20}}}},"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"}}}}}}},"/tag/DescribeResourcesByTags":{"post":{"operationId":"tag_DescribeResourcesByTags","summary":"DescribeResourcesByTags","description":"Query resources by tags.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeResourcesByTags' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{\"TagFilters\":\"<TagFilters>\"}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DescribeResourcesByTags","x-cc-version":"2018-08-13","x-cc-mutating":false,"x-cc-required-params":["TagFilters"],"x-cc-notable-params":["Offset","Limit","TagKeys","TagFilters","ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"TagFilters":{"type":"string"},"Offset":{"type":"integer","minimum":0,"description":"Zero-based pagination offset. Optional."},"Limit":{"type":"integer","minimum":0,"maximum":100,"description":"Page size. Maximum is 100. Optional."},"TagKeys":{"type":"array","items":{"type":"string"},"description":"Optional."},"ResourceIds":{"type":"array","items":{"type":"string"},"description":"Optional."},"ResourcePrefix":{"type":"string","description":"Optional."},"ResourceRegion":{"type":"string","description":"Optional."},"ServiceType":{"type":"string","description":"Optional."}},"required":["TagFilters"],"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."},"example":{"TagFilters":"<TagFilters>"}}}},"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"}}}}}}},"/tag/DescribeTagKeys":{"post":{"operationId":"tag_DescribeTagKeys","summary":"DescribeTagKeys","description":"Query tag keys in the list of created tags.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeTagKeys' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{\"Offset\":0,\"Limit\":20}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DescribeTagKeys","x-cc-version":"2018-08-13","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":["Offset","Limit","TagKeys","TagFilters","ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"Offset":{"type":"integer","minimum":0,"description":"Zero-based pagination offset. Optional."},"Limit":{"type":"integer","minimum":0,"maximum":100,"description":"Page size. Maximum is 100. Optional."},"TagKeys":{"type":"array","items":{"type":"string"},"description":"Optional."},"TagFilters":{"type":"string","description":"Optional."},"ResourceIds":{"type":"array","items":{"type":"string"},"description":"Optional."},"ResourcePrefix":{"type":"string","description":"Optional."},"ResourceRegion":{"type":"string","description":"Optional."},"ServiceType":{"type":"string","description":"Optional."}},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."},"example":{"Offset":0,"Limit":20}}}},"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":{"Limit":15,"Offset":0,"Tags":[],"TotalCount":0}}}}}}}}},"/tag/DescribeTagValues":{"post":{"operationId":"tag_DescribeTagValues","summary":"DescribeTagValues","description":"Query tag values in an existing tag list.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeTagValues' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{\"TagKeys\":\"<TagKeys>\"}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DescribeTagValues","x-cc-version":"2018-08-13","x-cc-mutating":false,"x-cc-required-params":["TagKeys"],"x-cc-notable-params":["Offset","Limit","TagKeys","TagFilters","ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"TagKeys":{"type":"array","items":{"type":"string"}},"Offset":{"type":"integer","minimum":0,"description":"Zero-based pagination offset. Optional."},"Limit":{"type":"integer","minimum":0,"maximum":100,"description":"Page size. Maximum is 100. Optional."},"TagFilters":{"type":"string","description":"Optional."},"ResourceIds":{"type":"array","items":{"type":"string"},"description":"Optional."},"ResourcePrefix":{"type":"string","description":"Optional."},"ResourceRegion":{"type":"string","description":"Optional."},"ServiceType":{"type":"string","description":"Optional."}},"required":["TagKeys"],"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."},"example":{"TagKeys":"<TagKeys>"}}}},"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":{"Limit":15,"Offset":0,"Tags":[],"TotalCount":0}}}}}}}}},"/tag/DescribeTags":{"post":{"operationId":"tag_DescribeTags","summary":"DescribeTags","description":"Query the list of created tags.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DescribeTags' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{\"Offset\":0,\"Limit\":20}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DescribeTags","x-cc-version":"2018-08-13","x-cc-mutating":false,"x-cc-required-params":[],"x-cc-notable-params":["Offset","Limit","TagKeys","TagFilters","ResourceIds","ResourcePrefix","ResourceRegion","ServiceType"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"Offset":{"type":"integer","minimum":0,"description":"Zero-based pagination offset. Optional."},"Limit":{"type":"integer","minimum":0,"maximum":100,"description":"Page size. Maximum is 100. Optional."},"TagKeys":{"type":"array","items":{"type":"string"},"description":"Optional."},"TagFilters":{"type":"string","description":"Optional."},"ResourceIds":{"type":"array","items":{"type":"string"},"description":"Optional."},"ResourcePrefix":{"type":"string","description":"Optional."},"ResourceRegion":{"type":"string","description":"Optional."},"ServiceType":{"type":"string","description":"Optional."}},"additionalProperties":true,"description":"The fields listed here are the ones in common use. Additional parameters are also accepted."},"example":{"Offset":0,"Limit":20}}}},"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":{"TotalCount":0,"Offset":0,"Limit":100,"Tags":[],"RequestId":"c85e96a3-4362-8d0a-c538-5aefe3a49785"}}},"recorded2":{"summary":"Example response 2","value":{"Response":{"TotalCount":0,"Offset":0,"Limit":100,"Tags":[],"RequestId":"efcd6cd7-326f-6c3d-6317-cff1b4517e6b"}}}}}}}}}},"/tag/CreateTag":{"post":{"operationId":"tag_CreateTag","summary":"CreateTag","description":"Create a tag key and tag value pair.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: CreateTag' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"CreateTag","x-cc-version":"2018-08-13","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":{"RequestId":"983a88f1-ebc7-f4cd-bb66-309cff50313a"}}}}}}}}}},"/tag/DeleteTag":{"post":{"operationId":"tag_DeleteTag","summary":"DeleteTag","description":"Delete a tag key and tag value pair.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DeleteTag' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DeleteTag","x-cc-version":"2018-08-13","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":{"RequestId":"6cc30485-8a3a-c6b0-f2d0-99b19f41e833"}}}}}}}}}},"/tag/ModifyResourceTags":{"post":{"operationId":"tag_ModifyResourceTags","summary":"ModifyResourceTags","description":"Modify all tags associated with a resource.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: ModifyResourceTags' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"ModifyResourceTags","x-cc-version":"2018-08-13","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":"InvalidParameterValue.ResourceDescriptionError","Message":"resource error,resource uin not equal uin,resource uin:100000000001 uin:100000000001"},"RequestId":"903cb2c0-75b7-9cda-da6d-4416d603eee6"}}}}}}}}}},"/tag/AddResourceTag":{"post":{"operationId":"tag_AddResourceTag","summary":"AddResourceTag","description":"Associate resources with tags.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: AddResourceTag' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"AddResourceTag","x-cc-version":"2018-08-13","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":"unknow","Message":"tagKey invalid."},"RequestId":"a395140a-2b52-8e63-7eb3-dfaef8bc8966"}}}}}}}}}},"/tag/DeleteResourceTag":{"post":{"operationId":"tag_DeleteResourceTag","summary":"DeleteResourceTag","description":"Unassociate tags and resources.\n**Wire call.** This path is a documentation convenience. Converge Cloud is RPC-over-HTTP: every action is a single `POST /` to `tag.api3.convergecloud.com` with the action name in the `X-TC-Action` header. The real request is:\n```bash\ncurl -sS https://tag.api3.convergecloud.com/ \\\n  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/tag/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \\\n  -H 'Content-Type: application/json; charset=utf-8' \\\n  -H 'Host: tag.api3.convergecloud.com' \\\n  -H 'X-TC-Action: DeleteResourceTag' \\\n  -H 'X-TC-Version: 2018-08-13' \\\n  -H 'X-TC-Timestamp: <unix-seconds>' \\\n  -H 'X-TC-Region: luzon' \\\n  -d '{}'\n```","tags":["tag"],"deprecated":false,"x-cc-service":"tag","x-cc-action":"DeleteResourceTag","x-cc-version":"2018-08-13","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":"InvalidParameterValue.ResourceDescriptionError","Message":"resource error,resource uin not equal uin,resource uin:100000000001 uin:100000000001"},"RequestId":"e32c33c2-abfb-a283-5ae1-6b3c7c22f6c7"}}}}}}}}}}},"components":{"securitySchemes":{"TC3":{"type":"apiKey","in":"header","name":"Authorization","description":"TC3-HMAC-SHA256. Credential scope is `<YYYY-MM-DD>/tag/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"]}}}}