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

FieldTypeRequiredDescription
ServiceTemplateNamestringYesTemplate name of the protocol port
Servicesstring[]YesSupported 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.
ServicesExtraServicesInfo[]NoYou 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.

FieldTypeDescription
ServiceTemplateServiceTemplateProtocol port template object.
RequestIdstringThe 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"
  }
}