curl --request POST \
--url https://api.callaidan.com/agent/queue/import/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_ids": "<unknown>",
"first_message": "<string>",
"filters": "<unknown>",
"limit": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"respect_calling_hours": false
}
'import requests
url = "https://api.callaidan.com/agent/queue/import/"
payload = {
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_ids": "<unknown>",
"first_message": "<string>",
"filters": "<unknown>",
"limit": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"respect_calling_hours": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agent_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
agent_number_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
contact_ids: '<unknown>',
first_message: '<string>',
filters: '<unknown>',
limit: 123,
scheduled_at: '2023-11-07T05:31:56Z',
respect_calling_hours: false
})
};
fetch('https://api.callaidan.com/agent/queue/import/', 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.callaidan.com/agent/queue/import/",
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([
'agent_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'agent_number_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'contact_ids' => '<unknown>',
'first_message' => '<string>',
'filters' => '<unknown>',
'limit' => 123,
'scheduled_at' => '2023-11-07T05:31:56Z',
'respect_calling_hours' => false
]),
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.callaidan.com/agent/queue/import/"
payload := strings.NewReader("{\n \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agent_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"contact_ids\": \"<unknown>\",\n \"first_message\": \"<string>\",\n \"filters\": \"<unknown>\",\n \"limit\": 123,\n \"scheduled_at\": \"2023-11-07T05:31:56Z\",\n \"respect_calling_hours\": false\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))
}HttpResponse<String> response = Unirest.post("https://api.callaidan.com/agent/queue/import/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agent_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"contact_ids\": \"<unknown>\",\n \"first_message\": \"<string>\",\n \"filters\": \"<unknown>\",\n \"limit\": 123,\n \"scheduled_at\": \"2023-11-07T05:31:56Z\",\n \"respect_calling_hours\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.callaidan.com/agent/queue/import/")
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 \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agent_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"contact_ids\": \"<unknown>\",\n \"first_message\": \"<string>\",\n \"filters\": \"<unknown>\",\n \"limit\": 123,\n \"scheduled_at\": \"2023-11-07T05:31:56Z\",\n \"respect_calling_hours\": false\n}"
response = http.request(request)
puts response.read_body{
"queued": 123,
"skipped": 123,
"total_matching": 123
}Import Call Queue
Queue outbound calls for a list of contacts (or every contact matching a filter). Pass contact_ids="all" together with optional filters to enqueue everyone matching, or pass an explicit array of contact UUIDs. Contacts without a phone number are skipped.
curl --request POST \
--url https://api.callaidan.com/agent/queue/import/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_ids": "<unknown>",
"first_message": "<string>",
"filters": "<unknown>",
"limit": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"respect_calling_hours": false
}
'import requests
url = "https://api.callaidan.com/agent/queue/import/"
payload = {
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_number_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_ids": "<unknown>",
"first_message": "<string>",
"filters": "<unknown>",
"limit": 123,
"scheduled_at": "2023-11-07T05:31:56Z",
"respect_calling_hours": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
agent_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
agent_number_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
contact_ids: '<unknown>',
first_message: '<string>',
filters: '<unknown>',
limit: 123,
scheduled_at: '2023-11-07T05:31:56Z',
respect_calling_hours: false
})
};
fetch('https://api.callaidan.com/agent/queue/import/', 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.callaidan.com/agent/queue/import/",
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([
'agent_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'agent_number_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'contact_ids' => '<unknown>',
'first_message' => '<string>',
'filters' => '<unknown>',
'limit' => 123,
'scheduled_at' => '2023-11-07T05:31:56Z',
'respect_calling_hours' => false
]),
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.callaidan.com/agent/queue/import/"
payload := strings.NewReader("{\n \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agent_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"contact_ids\": \"<unknown>\",\n \"first_message\": \"<string>\",\n \"filters\": \"<unknown>\",\n \"limit\": 123,\n \"scheduled_at\": \"2023-11-07T05:31:56Z\",\n \"respect_calling_hours\": false\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))
}HttpResponse<String> response = Unirest.post("https://api.callaidan.com/agent/queue/import/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agent_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"contact_ids\": \"<unknown>\",\n \"first_message\": \"<string>\",\n \"filters\": \"<unknown>\",\n \"limit\": 123,\n \"scheduled_at\": \"2023-11-07T05:31:56Z\",\n \"respect_calling_hours\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.callaidan.com/agent/queue/import/")
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 \"agent_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agent_number_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"contact_ids\": \"<unknown>\",\n \"first_message\": \"<string>\",\n \"filters\": \"<unknown>\",\n \"limit\": 123,\n \"scheduled_at\": \"2023-11-07T05:31:56Z\",\n \"respect_calling_hours\": false\n}"
response = http.request(request)
puts response.read_body{
"queued": 123,
"skipped": 123,
"total_matching": 123
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Voicebot agent that will place the calls.
Phone number ID to call from. Aliases: agent_number, phone_id.
Array of contact UUIDs, or the literal string "all".
Override for the agent's first spoken line.
Advanced contact filter (same shape as the contact list filters). Only applied when contact_ids="all".
Max contacts to enqueue when contact_ids="all".
ISO-8601 datetime; if omitted the queue is processed as soon as workers pick it up.
When true, if the batch is triggered outside standard local calling hours it is queued for the next permitted window instead of dialing immediately. Hours are evaluated in the agent's timezone: Mon-Fri 09:00-20:00, Sat 09:00-17:00, and no calls on Sunday. An explicit scheduled_at always takes precedence.

