vpc — Virtual Private Cloud
vpc · 2017-03-12
CreateServiceTemplate
POST
Create a protocol port template.
Wire call
Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /vpc/CreateServiceTemplate 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://vpc.api3.convergecloud.com/ \
-H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/vpc/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Host: vpc.api3.convergecloud.com' \
-H 'X-TC-Action: CreateServiceTemplate' \
-H 'X-TC-Version: 2017-03-12' \
-H 'X-TC-Timestamp: <unix-seconds>' \
-H 'X-TC-Region: luzon' \
-d '{"ServiceTemplateName":"<ServiceTemplateName>","Services":"<Services>"}'Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| ServiceTemplateName | string | Yes | Template name of the protocol port |
| Services | string[] | Yes | Supported ports inlcude single port, multiple ports, consecutive ports and all ports. Supported protocols include TCP, UDP, ICMP and GRE. Either Services or ServicesExtra is required. |
| ServicesExtra | ServicesInfo[] | No | You can add remarks. Supported ports include single port, multiple ports, consecutive ports and all ports. Supported protocols include TCP, UDP, ICMP and GRE. Either Services or ServicesExtra is required. |
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 |
|---|---|---|
| ServiceTemplate | ServiceTemplate | Protocol port template object. |
| RequestId | string | The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
Success
{
"Response": {
"ServiceTemplate": …,
"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/vpc.
Request bodyvalid JSONPOST vpc.api3.convergecloud.com · CreateServiceTemplate
Recorded example response — captured 2026-09-16
{
"Response": {
"ServiceTemplate": {
"ServiceTemplateName": "example-network",
"ServiceTemplateId": "ppm-i083665y",
"ServiceSet": [
"udp:53",
"tcp:22",
"tcp:443"
],
"ServiceExtraSet": [
{
"Service": "udp:53",
"Description": ""
},
{
"Service": "tcp:22",
"Description": ""
},
{
"Service": "tcp:443",
"Description": ""
}
],
"CreatedTime": "2026-09-16 19:51:31"
},
"RequestId": "babc02d2-4a64-aed6-808c-546b2528200c"
}
}