curl --request POST \
--url https://api.pubrio.com/channels/templates/create_version \
--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",
"version_name": "default",
"is_default": true,
"parameters": {}
}
'import requests
url = "https://api.pubrio.com/channels/templates/create_version"
payload = {
"channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_name": "default",
"is_default": True,
"parameters": {}
}
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',
version_name: 'default',
is_default: true,
parameters: {}
})
};
fetch('https://api.pubrio.com/channels/templates/create_version', 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/create_version",
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',
'version_name' => 'default',
'is_default' => true,
'parameters' => [
]
]),
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/create_version"
payload := strings.NewReader("{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\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/create_version")
.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 \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/channels/templates/create_version")
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 \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"channel_template_id": 249,
"channel_template_identifier": "4c717a78-26e9-49eb-ab2e-e1ce0755674a",
"created_at": "2025-08-07T17:22:11.344Z",
"version_number": 2,
"is_default": true,
"name": "Email Template",
"channel_node_id": "93873c33-2635-4537-928c-6a4f3564164c",
"parameters": {
"content": "<div>hello world</div>",
"subject": "hello world"
},
"version_name": "Default 2"
}
}{
"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."
}Crear versión de plantilla de canal
Crea una nueva versión de una plantilla de canal existente.
curl --request POST \
--url https://api.pubrio.com/channels/templates/create_version \
--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",
"version_name": "default",
"is_default": true,
"parameters": {}
}
'import requests
url = "https://api.pubrio.com/channels/templates/create_version"
payload = {
"channel_template_identifier": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel_template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version_name": "default",
"is_default": True,
"parameters": {}
}
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',
version_name: 'default',
is_default: true,
parameters: {}
})
};
fetch('https://api.pubrio.com/channels/templates/create_version', 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/create_version",
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',
'version_name' => 'default',
'is_default' => true,
'parameters' => [
]
]),
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/create_version"
payload := strings.NewReader("{\n \"channel_template_identifier\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"channel_template_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\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/create_version")
.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 \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pubrio.com/channels/templates/create_version")
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 \"version_name\": \"default\",\n \"is_default\": true,\n \"parameters\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"channel_template_id": 249,
"channel_template_identifier": "4c717a78-26e9-49eb-ab2e-e1ce0755674a",
"created_at": "2025-08-07T17:22:11.344Z",
"version_number": 2,
"is_default": true,
"name": "Email Template",
"channel_node_id": "93873c33-2635-4537-928c-6a4f3564164c",
"parameters": {
"content": "<div>hello world</div>",
"subject": "hello world"
},
"version_name": "Default 2"
}
}{
"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."
}Autorizaciones
Un token de API único que representa las acciones que realizas a través de la API, junto con los permisos y operaciones correspondientes. Puedes crearlo en la sección Configuración.
Cuerpo
El identificador del grupo de versiones de la plantilla de canal.
Identificador único para la operación de plantilla de canal.
Los nombres de versión permiten identificar el historial de cambios.
"default"
Cuando está habilitado, la ejecución establecerá esto en true para el registro actual y en false para el resto de los grupos de registros vinculados afectados.
La información del parámetro depende de los requisitos del nodo de canal.
Respuesta
Respuesta exitosa que contiene la lista de detalles de plantillas de canal.
La información de la respuesta depende del endpoint específico.

