curl --request POST \
--url https://apiv2.vodex.ai/v1/batches/{id}/blocks/next \
--header 'Authorization: Bearer <token>'import requests
url = "https://apiv2.vodex.ai/v1/batches/{id}/blocks/next"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apiv2.vodex.ai/v1/batches/{id}/blocks/next', 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://apiv2.vodex.ai/v1/batches/{id}/blocks/next",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://apiv2.vodex.ai/v1/batches/{id}/blocks/next"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://apiv2.vodex.ai/v1/batches/{id}/blocks/next")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apiv2.vodex.ai/v1/batches/{id}/blocks/next")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "running",
"runNo": 123,
"assistantId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"concurrency": 123,
"retry": {
"on": [
"<string>"
],
"attempts": 5,
"backoffMinutes": 5040.5
},
"window": {
"timezone": "America/New_York",
"start": "09:00",
"end": "20:00",
"days": [
3
]
},
"suppress": [
"<string>"
],
"blockSize": 123,
"activeBlock": 123,
"createdAt": "2023-11-07T05:31:56Z",
"startedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"counts": {},
"blocks": [
{
"blockNo": 123,
"rangeStart": 123,
"rangeEnd": 123,
"contacts": 123,
"status": "pending",
"counts": {}
}
]
}{
"error": "not found"
}{
"error": "not found"
}{
"error": "not found"
}{
"error": "not found"
}Dial the next block
For a batch dialling its rows in blocks (blockSize set at create):
the runner claims only rows up to the active block’s ceiling, and
nothing beyond it is dialled until someone asks. This raises the
ceiling by one block. Refused while the current block is still dialing,
so the outcomes it exists to show are in before the next one starts.
curl --request POST \
--url https://apiv2.vodex.ai/v1/batches/{id}/blocks/next \
--header 'Authorization: Bearer <token>'import requests
url = "https://apiv2.vodex.ai/v1/batches/{id}/blocks/next"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://apiv2.vodex.ai/v1/batches/{id}/blocks/next', 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://apiv2.vodex.ai/v1/batches/{id}/blocks/next",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://apiv2.vodex.ai/v1/batches/{id}/blocks/next"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://apiv2.vodex.ai/v1/batches/{id}/blocks/next")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://apiv2.vodex.ai/v1/batches/{id}/blocks/next")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "running",
"runNo": 123,
"assistantId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"concurrency": 123,
"retry": {
"on": [
"<string>"
],
"attempts": 5,
"backoffMinutes": 5040.5
},
"window": {
"timezone": "America/New_York",
"start": "09:00",
"end": "20:00",
"days": [
3
]
},
"suppress": [
"<string>"
],
"blockSize": 123,
"activeBlock": 123,
"createdAt": "2023-11-07T05:31:56Z",
"startedAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z",
"counts": {},
"blocks": [
{
"blockNo": 123,
"rangeStart": 123,
"rangeEnd": 123,
"contacts": 123,
"status": "pending",
"counts": {}
}
]
}{
"error": "not found"
}{
"error": "not found"
}{
"error": "not found"
}{
"error": "not found"
}Authorizations
Tenant API key (vdx_live_…) as Authorization: Bearer.
Path Parameters
Response
The next block was cleared to dial.
running, paused, completed, cancelled, failed The assistant's uuid, shown on its configure page in the console. Names and slugs are not accepted.
Show child attributes
Show child attributes
When this batch may dial — outside it, rows wait rather than fail.
Show child attributes
Show child attributes
Rows per block, or null to dial the whole list at once. Set at create.
The highest block cleared to dial (1-based); only meaningful with a blockSize.
Row counts by status, plus total.
Show child attributes
Show child attributes
Show child attributes
Show child attributes