cURL
curl --request POST \
--url https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assistantId": "<string>",
"fromNumber": "<string>",
"toNumber": "<string>",
"ignorePreviousCampaigns": true,
"message": "<string>",
"templateName": "<string>",
"templateLanguage": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
'import requests
url = "https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}"
payload = {
"assistantId": "<string>",
"fromNumber": "<string>",
"toNumber": "<string>",
"ignorePreviousCampaigns": True,
"message": "<string>",
"templateName": "<string>",
"templateLanguage": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
assistantId: '<string>',
fromNumber: '<string>',
toNumber: '<string>',
ignorePreviousCampaigns: true,
message: '<string>',
templateName: '<string>',
templateLanguage: '<string>',
attributes: {customField1: '<string>', customField2: '<string>', customField3: '<string>'}
})
};
fetch('https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}', 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://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}",
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([
'assistantId' => '<string>',
'fromNumber' => '<string>',
'toNumber' => '<string>',
'ignorePreviousCampaigns' => true,
'message' => '<string>',
'templateName' => '<string>',
'templateLanguage' => '<string>',
'attributes' => [
'customField1' => '<string>',
'customField2' => '<string>',
'customField3' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}"
payload := strings.NewReader("{\n \"assistantId\": \"<string>\",\n \"fromNumber\": \"<string>\",\n \"toNumber\": \"<string>\",\n \"ignorePreviousCampaigns\": true,\n \"message\": \"<string>\",\n \"templateName\": \"<string>\",\n \"templateLanguage\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assistantId\": \"<string>\",\n \"fromNumber\": \"<string>\",\n \"toNumber\": \"<string>\",\n \"ignorePreviousCampaigns\": true,\n \"message\": \"<string>\",\n \"templateName\": \"<string>\",\n \"templateLanguage\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assistantId\": \"<string>\",\n \"fromNumber\": \"<string>\",\n \"toNumber\": \"<string>\",\n \"ignorePreviousCampaigns\": true,\n \"message\": \"<string>\",\n \"templateName\": \"<string>\",\n \"templateLanguage\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Campaign created/updated with id: {campaignID}"
}{
"message": "Error message"
}{
"message": "API key is not valid"
}{
"message": "Please upgrade your account to continue"
}{
"message": "API key is not valid"
}{
"message": "Server Error"
}Campaign
Create Single Campaign
Create an Sms / Call / WhatsApp Campaign for a single Contact
POST
/
v1
/
campaigns
/
createCampaign
/
{workspaceId}
cURL
curl --request POST \
--url https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"assistantId": "<string>",
"fromNumber": "<string>",
"toNumber": "<string>",
"ignorePreviousCampaigns": true,
"message": "<string>",
"templateName": "<string>",
"templateLanguage": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
'import requests
url = "https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}"
payload = {
"assistantId": "<string>",
"fromNumber": "<string>",
"toNumber": "<string>",
"ignorePreviousCampaigns": True,
"message": "<string>",
"templateName": "<string>",
"templateLanguage": "<string>",
"attributes": {
"customField1": "<string>",
"customField2": "<string>",
"customField3": "<string>"
}
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
assistantId: '<string>',
fromNumber: '<string>',
toNumber: '<string>',
ignorePreviousCampaigns: true,
message: '<string>',
templateName: '<string>',
templateLanguage: '<string>',
attributes: {customField1: '<string>', customField2: '<string>', customField3: '<string>'}
})
};
fetch('https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}', 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://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}",
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([
'assistantId' => '<string>',
'fromNumber' => '<string>',
'toNumber' => '<string>',
'ignorePreviousCampaigns' => true,
'message' => '<string>',
'templateName' => '<string>',
'templateLanguage' => '<string>',
'attributes' => [
'customField1' => '<string>',
'customField2' => '<string>',
'customField3' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-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://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}"
payload := strings.NewReader("{\n \"assistantId\": \"<string>\",\n \"fromNumber\": \"<string>\",\n \"toNumber\": \"<string>\",\n \"ignorePreviousCampaigns\": true,\n \"message\": \"<string>\",\n \"templateName\": \"<string>\",\n \"templateLanguage\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-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://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assistantId\": \"<string>\",\n \"fromNumber\": \"<string>\",\n \"toNumber\": \"<string>\",\n \"ignorePreviousCampaigns\": true,\n \"message\": \"<string>\",\n \"templateName\": \"<string>\",\n \"templateLanguage\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://catalystapi.superdashhq.com/api/v1/campaigns/createCampaign/{workspaceId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assistantId\": \"<string>\",\n \"fromNumber\": \"<string>\",\n \"toNumber\": \"<string>\",\n \"ignorePreviousCampaigns\": true,\n \"message\": \"<string>\",\n \"templateName\": \"<string>\",\n \"templateLanguage\": \"<string>\",\n \"attributes\": {\n \"customField1\": \"<string>\",\n \"customField2\": \"<string>\",\n \"customField3\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "Campaign created/updated with id: {campaignID}"
}{
"message": "Error message"
}{
"message": "API key is not valid"
}{
"message": "Please upgrade your account to continue"
}{
"message": "API key is not valid"
}{
"message": "Server Error"
}Authorizations
Path Parameters
Your workspace ID
Body
application/json
Details required to initiate the communication
The type of campaign
Available options:
sms, call, whatsapp The ID of the assistant
Sender's number
Recipient's number
The type of trigger to initiate the communication
Available options:
triggerImmediately, triggerBasedOnCampaign Ignore the previous campaign history of a contact and reach out again
The message content (Required for SMS)
Name of the approved WhatsApp template (Required for WHATSAPP)
Language of the template (Required for WHATSAPP)
Additional attributes for the communication
Show child attributes
Show child attributes
Response
Communication initiated successfully
Confirmation message indicating the call or SMS was placed
⌘I