Skip to main content
POST
/
channels
/
templates
/
update
Update a channel template
curl --request POST \
  --url https://api.pubrio.com/channels/templates/update \
  --header 'Content-Type: application/json' \
  --header 'pubrio-api-key: <api-key>' \
  --data '
{
  "channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "channel_template_name": "channel template",
  "version_name": "default",
  "parameters": {},
  "profile_id": 123
}
'
import requests

url = "https://api.pubrio.com/channels/templates/update"

payload = {
    "channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "channel_template_name": "channel template",
    "version_name": "default",
    "parameters": {},
    "profile_id": 123
}
headers = {
    "pubrio-api-key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {'pubrio-api-key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    channel_template_identifier: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
    channel_template_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
    channel_template_name: 'channel template',
    version_name: 'default',
    parameters: {},
    profile_id: 123
  })
};

fetch('https://api.pubrio.com/channels/templates/update', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.pubrio.com/channels/templates/update",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'channel_template_identifier' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
    'channel_template_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
    'channel_template_name' => 'channel template',
    'version_name' => 'default',
    'parameters' => [
        
    ],
    'profile_id' => 123
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "pubrio-api-key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.pubrio.com/channels/templates/update"

	payload := strings.NewReader("{\n  \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"channel_template_name\": \"channel template\",\n  \"version_name\": \"default\",\n  \"parameters\": {},\n  \"profile_id\": 123\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("pubrio-api-key", "<api-key>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.pubrio.com/channels/templates/update")
  .header("pubrio-api-key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"channel_template_name\": \"channel template\",\n  \"version_name\": \"default\",\n  \"parameters\": {},\n  \"profile_id\": 123\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.pubrio.com/channels/templates/update")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["pubrio-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n  \"channel_template_name\": \"channel template\",\n  \"version_name\": \"default\",\n  \"parameters\": {},\n  \"profile_id\": 123\n}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "channel_template_id": 251,
    "last_modified": "2025-08-07T18:00:43.255Z",
    "name": "Email Template",
    "...": "..."
  }
}
{
  "code": 40001,
  "message": "Errors and codes will vary depending on the scenario, please see the documentation for information.",
  "details": {}
}
{
  "error": "Request rate limit exceeded. Please wait and try again later."
}
{
  "error": "An unexpected error occurred on the server."
}

Authorizations

pubrio-api-key
string
header
required

A unique API token that represents the actions you perform through the API and the corresponding permissions and operations. You can create it through the Settings section.

Body

application/json
channel_template_identifier
string<uuid>
required

The identifier for the channel template version group.

channel_template_id
string<uuid>
required

A unique identifier for the channel template operation.

channel_template_name
string

Filter search results to include a specific channel template name.

Example:

"channel template"

version_name
string

Version names provide a way to identify the history of changes.

Example:

"default"

parameters
object

The parameter information depends on the channel node requirements.

profile_id
integer

Optional. An identifier for the user profile (workspace) making the request. This is no longer required as the API key already includes your workspace information. If provided, it helps in associating the lookup with a specific user, allowing for data retrieval and credit tracking.

Check out user details endpoints under the Profile tab for more information.

Response

Successful response containing list of channel template details.

data
object | null

Response info depends on specific endpoint.