cURL
curl -X POST 'https://api.nuntly.com/broadcasts' \
-H 'Authorization: Bearer apk_xxx' \
-H 'Content-Type: application/json' \
-d '{"from":"Tomlinson AI <ray@info.tomlinson.ai>"}'import { Nuntly } from '@nuntly/sdk';
const client = new Nuntly({
apiKey: process.env['NUNTLY_API_KEY'],
});
const response = await client.broadcasts.create({
from: 'Tomlinson AI <ray@info.tomlinson.ai>',
});import com.nuntly.sdk.Nuntly;
import com.nuntly.sdk.ClientOptions;
import com.nuntly.sdk.models.*;
var nuntly = Nuntly.create(ClientOptions.builder()
.apiKey(System.getenv("NUNTLY_API_KEY"))
.build());
var response = nuntly.broadcasts().create(CreateBroadcastRequest.builder()
.from("Tomlinson AI <ray@info.tomlinson.ai>")
.build());import requests
url = "https://api.nuntly.com/broadcasts"
payload = {
"from": "Tomlinson AI <ray@info.tomlinson.ai>",
"templateId": "tpl_01kabn43yqyxn2bx4ve84mczd3",
"name": "<string>",
"subject": "Verify your email address",
"replyTo": "support@company.com",
"topicId": "tpc_01kabn43yqyxn2bx4ve84mczd3",
"segmentId": "seg_01kabn43yqyxn2bx4ve84mczd3",
"variables": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nuntly.com/broadcasts",
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([
'from' => 'Tomlinson AI <ray@info.tomlinson.ai>',
'templateId' => 'tpl_01kabn43yqyxn2bx4ve84mczd3',
'name' => '<string>',
'subject' => 'Verify your email address',
'replyTo' => 'support@company.com',
'topicId' => 'tpc_01kabn43yqyxn2bx4ve84mczd3',
'segmentId' => 'seg_01kabn43yqyxn2bx4ve84mczd3',
'variables' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.nuntly.com/broadcasts"
payload := strings.NewReader("{\n \"from\": \"Tomlinson AI <ray@info.tomlinson.ai>\",\n \"templateId\": \"tpl_01kabn43yqyxn2bx4ve84mczd3\",\n \"name\": \"<string>\",\n \"subject\": \"Verify your email address\",\n \"replyTo\": \"support@company.com\",\n \"topicId\": \"tpc_01kabn43yqyxn2bx4ve84mczd3\",\n \"segmentId\": \"seg_01kabn43yqyxn2bx4ve84mczd3\",\n \"variables\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}require 'uri'
require 'net/http'
url = URI("https://api.nuntly.com/broadcasts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"Tomlinson AI <ray@info.tomlinson.ai>\",\n \"templateId\": \"tpl_01kabn43yqyxn2bx4ve84mczd3\",\n \"name\": \"<string>\",\n \"subject\": \"Verify your email address\",\n \"replyTo\": \"support@company.com\",\n \"topicId\": \"tpc_01kabn43yqyxn2bx4ve84mczd3\",\n \"segmentId\": \"seg_01kabn43yqyxn2bx4ve84mczd3\",\n \"variables\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "bc_01kabn43yqyxn2bx4ve84mczd3",
"from": "Tomlinson AI <ray@info.tomlinson.ai>",
"status": "draft",
"statusAt": "<string>",
"createdAt": "2026-03-29T12:00:00.000Z",
"name": "<string>",
"templateId": "tpl_01kabn43yqyxn2bx4ve84mczd3",
"templateVersionId": "tpv_01kabn43yqyxn2bx4ve84mczd3",
"domainId": "<string>",
"topicId": "tpc_01kabn43yqyxn2bx4ve84mczd3",
"segmentId": "seg_01kabn43yqyxn2bx4ve84mczd3",
"subject": "Verify your email address",
"replyTo": "support@company.com",
"statusReason": {},
"updatedAt": "<string>",
"variables": {}
}
}{
"error": {
"status": 123,
"code": "<string>",
"title": "<string>",
"details": {}
}
}Broadcasts
Create Broadcast
Create a broadcast for your contacts.
POST
/
broadcasts
cURL
curl -X POST 'https://api.nuntly.com/broadcasts' \
-H 'Authorization: Bearer apk_xxx' \
-H 'Content-Type: application/json' \
-d '{"from":"Tomlinson AI <ray@info.tomlinson.ai>"}'import { Nuntly } from '@nuntly/sdk';
const client = new Nuntly({
apiKey: process.env['NUNTLY_API_KEY'],
});
const response = await client.broadcasts.create({
from: 'Tomlinson AI <ray@info.tomlinson.ai>',
});import com.nuntly.sdk.Nuntly;
import com.nuntly.sdk.ClientOptions;
import com.nuntly.sdk.models.*;
var nuntly = Nuntly.create(ClientOptions.builder()
.apiKey(System.getenv("NUNTLY_API_KEY"))
.build());
var response = nuntly.broadcasts().create(CreateBroadcastRequest.builder()
.from("Tomlinson AI <ray@info.tomlinson.ai>")
.build());import requests
url = "https://api.nuntly.com/broadcasts"
payload = {
"from": "Tomlinson AI <ray@info.tomlinson.ai>",
"templateId": "tpl_01kabn43yqyxn2bx4ve84mczd3",
"name": "<string>",
"subject": "Verify your email address",
"replyTo": "support@company.com",
"topicId": "tpc_01kabn43yqyxn2bx4ve84mczd3",
"segmentId": "seg_01kabn43yqyxn2bx4ve84mczd3",
"variables": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nuntly.com/broadcasts",
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([
'from' => 'Tomlinson AI <ray@info.tomlinson.ai>',
'templateId' => 'tpl_01kabn43yqyxn2bx4ve84mczd3',
'name' => '<string>',
'subject' => 'Verify your email address',
'replyTo' => 'support@company.com',
'topicId' => 'tpc_01kabn43yqyxn2bx4ve84mczd3',
'segmentId' => 'seg_01kabn43yqyxn2bx4ve84mczd3',
'variables' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.nuntly.com/broadcasts"
payload := strings.NewReader("{\n \"from\": \"Tomlinson AI <ray@info.tomlinson.ai>\",\n \"templateId\": \"tpl_01kabn43yqyxn2bx4ve84mczd3\",\n \"name\": \"<string>\",\n \"subject\": \"Verify your email address\",\n \"replyTo\": \"support@company.com\",\n \"topicId\": \"tpc_01kabn43yqyxn2bx4ve84mczd3\",\n \"segmentId\": \"seg_01kabn43yqyxn2bx4ve84mczd3\",\n \"variables\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}require 'uri'
require 'net/http'
url = URI("https://api.nuntly.com/broadcasts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"Tomlinson AI <ray@info.tomlinson.ai>\",\n \"templateId\": \"tpl_01kabn43yqyxn2bx4ve84mczd3\",\n \"name\": \"<string>\",\n \"subject\": \"Verify your email address\",\n \"replyTo\": \"support@company.com\",\n \"topicId\": \"tpc_01kabn43yqyxn2bx4ve84mczd3\",\n \"segmentId\": \"seg_01kabn43yqyxn2bx4ve84mczd3\",\n \"variables\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "bc_01kabn43yqyxn2bx4ve84mczd3",
"from": "Tomlinson AI <ray@info.tomlinson.ai>",
"status": "draft",
"statusAt": "<string>",
"createdAt": "2026-03-29T12:00:00.000Z",
"name": "<string>",
"templateId": "tpl_01kabn43yqyxn2bx4ve84mczd3",
"templateVersionId": "tpv_01kabn43yqyxn2bx4ve84mczd3",
"domainId": "<string>",
"topicId": "tpc_01kabn43yqyxn2bx4ve84mczd3",
"segmentId": "seg_01kabn43yqyxn2bx4ve84mczd3",
"subject": "Verify your email address",
"replyTo": "support@company.com",
"statusReason": {},
"updatedAt": "<string>",
"variables": {}
}
}{
"error": {
"status": 123,
"code": "<string>",
"title": "<string>",
"details": {}
}
}Authorizations
Use an API key from https://nuntly.com/api-keys. Required on every endpoint.
Body
application/json
The sender address, on a verified domain.
Example:
"Tomlinson AI <ray@info.tomlinson.ai>"
The template to send.
Example:
"tpl_01kabn43yqyxn2bx4ve84mczd3"
An internal label, shown only to your team.
The subject. Defaults to the template version’s subject.
Example:
"Verify your email address"
The email address where replies should be sent. If a recipient replies, the response will go to this address instead of the sender's email address
Example:
"support@company.com"
The topic to send to.
Example:
"tpc_01kabn43yqyxn2bx4ve84mczd3"
The segment to send to.
Example:
"seg_01kabn43yqyxn2bx4ve84mczd3"
Variable values keyed by declared name.
Response
Created.
Show child attributes
Show child attributes
