Update task limits
curl --request POST \
--url 'https://api.vida.dev/api/v2/tasks/limits?token=' \
--header 'Content-Type: application/json' \
--data '
{
"businessHours": {
"timezone": "America/Chicago",
"windows": [
{
"days": [
1,
2,
3,
4
],
"start": "08:00",
"end": "18:00"
},
{
"days": [
5
],
"start": "09:00",
"end": "15:00"
},
{
"days": [
6
],
"start": "09:00",
"end": "12:00"
}
]
},
"cooldowns": {
"calls": 1,
"texts": 1,
"tasks": 1
},
"maxConcurrentCalls": 2,
"callsPerSecond": 2,
"defaultRetryConfiguration": {
"goal": {
"completionCriteria": "<string>"
},
"retryPolicy": {
"delaysSeconds": [
1296030
],
"retryOn": [],
"responseTimeoutSeconds": 302430
}
}
}
'import requests
url = "https://api.vida.dev/api/v2/tasks/limits?token="
payload = {
"businessHours": {
"timezone": "America/Chicago",
"windows": [
{
"days": [1, 2, 3, 4],
"start": "08:00",
"end": "18:00"
},
{
"days": [5],
"start": "09:00",
"end": "15:00"
},
{
"days": [6],
"start": "09:00",
"end": "12:00"
}
]
},
"cooldowns": {
"calls": 1,
"texts": 1,
"tasks": 1
},
"maxConcurrentCalls": 2,
"callsPerSecond": 2,
"defaultRetryConfiguration": {
"goal": { "completionCriteria": "<string>" },
"retryPolicy": {
"delaysSeconds": [1296030],
"retryOn": [],
"responseTimeoutSeconds": 302430
}
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
businessHours: {
timezone: 'America/Chicago',
windows: [
{days: [1, 2, 3, 4], start: '08:00', end: '18:00'},
{days: [5], start: '09:00', end: '15:00'},
{days: [6], start: '09:00', end: '12:00'}
]
},
cooldowns: {calls: 1, texts: 1, tasks: 1},
maxConcurrentCalls: 2,
callsPerSecond: 2,
defaultRetryConfiguration: {
goal: {completionCriteria: '<string>'},
retryPolicy: {delaysSeconds: [1296030], retryOn: [], responseTimeoutSeconds: 302430}
}
})
};
fetch('https://api.vida.dev/api/v2/tasks/limits?token=', 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.vida.dev/api/v2/tasks/limits?token=",
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([
'businessHours' => [
'timezone' => 'America/Chicago',
'windows' => [
[
'days' => [
1,
2,
3,
4
],
'start' => '08:00',
'end' => '18:00'
],
[
'days' => [
5
],
'start' => '09:00',
'end' => '15:00'
],
[
'days' => [
6
],
'start' => '09:00',
'end' => '12:00'
]
]
],
'cooldowns' => [
'calls' => 1,
'texts' => 1,
'tasks' => 1
],
'maxConcurrentCalls' => 2,
'callsPerSecond' => 2,
'defaultRetryConfiguration' => [
'goal' => [
'completionCriteria' => '<string>'
],
'retryPolicy' => [
'delaysSeconds' => [
1296030
],
'retryOn' => [
],
'responseTimeoutSeconds' => 302430
]
]
]),
CURLOPT_HTTPHEADER => [
"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.vida.dev/api/v2/tasks/limits?token="
payload := strings.NewReader("{\n \"businessHours\": {\n \"timezone\": \"America/Chicago\",\n \"windows\": [\n {\n \"days\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"start\": \"08:00\",\n \"end\": \"18:00\"\n },\n {\n \"days\": [\n 5\n ],\n \"start\": \"09:00\",\n \"end\": \"15:00\"\n },\n {\n \"days\": [\n 6\n ],\n \"start\": \"09:00\",\n \"end\": \"12:00\"\n }\n ]\n },\n \"cooldowns\": {\n \"calls\": 1,\n \"texts\": 1,\n \"tasks\": 1\n },\n \"maxConcurrentCalls\": 2,\n \"callsPerSecond\": 2,\n \"defaultRetryConfiguration\": {\n \"goal\": {\n \"completionCriteria\": \"<string>\"\n },\n \"retryPolicy\": {\n \"delaysSeconds\": [\n 1296030\n ],\n \"retryOn\": [],\n \"responseTimeoutSeconds\": 302430\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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.vida.dev/api/v2/tasks/limits?token=")
.header("Content-Type", "application/json")
.body("{\n \"businessHours\": {\n \"timezone\": \"America/Chicago\",\n \"windows\": [\n {\n \"days\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"start\": \"08:00\",\n \"end\": \"18:00\"\n },\n {\n \"days\": [\n 5\n ],\n \"start\": \"09:00\",\n \"end\": \"15:00\"\n },\n {\n \"days\": [\n 6\n ],\n \"start\": \"09:00\",\n \"end\": \"12:00\"\n }\n ]\n },\n \"cooldowns\": {\n \"calls\": 1,\n \"texts\": 1,\n \"tasks\": 1\n },\n \"maxConcurrentCalls\": 2,\n \"callsPerSecond\": 2,\n \"defaultRetryConfiguration\": {\n \"goal\": {\n \"completionCriteria\": \"<string>\"\n },\n \"retryPolicy\": {\n \"delaysSeconds\": [\n 1296030\n ],\n \"retryOn\": [],\n \"responseTimeoutSeconds\": 302430\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/tasks/limits?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessHours\": {\n \"timezone\": \"America/Chicago\",\n \"windows\": [\n {\n \"days\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"start\": \"08:00\",\n \"end\": \"18:00\"\n },\n {\n \"days\": [\n 5\n ],\n \"start\": \"09:00\",\n \"end\": \"15:00\"\n },\n {\n \"days\": [\n 6\n ],\n \"start\": \"09:00\",\n \"end\": \"12:00\"\n }\n ]\n },\n \"cooldowns\": {\n \"calls\": 1,\n \"texts\": 1,\n \"tasks\": 1\n },\n \"maxConcurrentCalls\": 2,\n \"callsPerSecond\": 2,\n \"defaultRetryConfiguration\": {\n \"goal\": {\n \"completionCriteria\": \"<string>\"\n },\n \"retryPolicy\": {\n \"delaysSeconds\": [\n 1296030\n ],\n \"retryOn\": [],\n \"responseTimeoutSeconds\": 302430\n }\n }\n}"
response = http.request(request)
puts response.read_bodyTasks
Update task limits
Updates organization Task settings such as business hours, per-target cooldowns, and default retry behavior. Reseller administrators can also update call capacity. Set businessHours or defaultRetryConfiguration to null to disable that behavior.
POST
/
api
/
v2
/
tasks
/
limits
Update task limits
curl --request POST \
--url 'https://api.vida.dev/api/v2/tasks/limits?token=' \
--header 'Content-Type: application/json' \
--data '
{
"businessHours": {
"timezone": "America/Chicago",
"windows": [
{
"days": [
1,
2,
3,
4
],
"start": "08:00",
"end": "18:00"
},
{
"days": [
5
],
"start": "09:00",
"end": "15:00"
},
{
"days": [
6
],
"start": "09:00",
"end": "12:00"
}
]
},
"cooldowns": {
"calls": 1,
"texts": 1,
"tasks": 1
},
"maxConcurrentCalls": 2,
"callsPerSecond": 2,
"defaultRetryConfiguration": {
"goal": {
"completionCriteria": "<string>"
},
"retryPolicy": {
"delaysSeconds": [
1296030
],
"retryOn": [],
"responseTimeoutSeconds": 302430
}
}
}
'import requests
url = "https://api.vida.dev/api/v2/tasks/limits?token="
payload = {
"businessHours": {
"timezone": "America/Chicago",
"windows": [
{
"days": [1, 2, 3, 4],
"start": "08:00",
"end": "18:00"
},
{
"days": [5],
"start": "09:00",
"end": "15:00"
},
{
"days": [6],
"start": "09:00",
"end": "12:00"
}
]
},
"cooldowns": {
"calls": 1,
"texts": 1,
"tasks": 1
},
"maxConcurrentCalls": 2,
"callsPerSecond": 2,
"defaultRetryConfiguration": {
"goal": { "completionCriteria": "<string>" },
"retryPolicy": {
"delaysSeconds": [1296030],
"retryOn": [],
"responseTimeoutSeconds": 302430
}
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
businessHours: {
timezone: 'America/Chicago',
windows: [
{days: [1, 2, 3, 4], start: '08:00', end: '18:00'},
{days: [5], start: '09:00', end: '15:00'},
{days: [6], start: '09:00', end: '12:00'}
]
},
cooldowns: {calls: 1, texts: 1, tasks: 1},
maxConcurrentCalls: 2,
callsPerSecond: 2,
defaultRetryConfiguration: {
goal: {completionCriteria: '<string>'},
retryPolicy: {delaysSeconds: [1296030], retryOn: [], responseTimeoutSeconds: 302430}
}
})
};
fetch('https://api.vida.dev/api/v2/tasks/limits?token=', 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.vida.dev/api/v2/tasks/limits?token=",
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([
'businessHours' => [
'timezone' => 'America/Chicago',
'windows' => [
[
'days' => [
1,
2,
3,
4
],
'start' => '08:00',
'end' => '18:00'
],
[
'days' => [
5
],
'start' => '09:00',
'end' => '15:00'
],
[
'days' => [
6
],
'start' => '09:00',
'end' => '12:00'
]
]
],
'cooldowns' => [
'calls' => 1,
'texts' => 1,
'tasks' => 1
],
'maxConcurrentCalls' => 2,
'callsPerSecond' => 2,
'defaultRetryConfiguration' => [
'goal' => [
'completionCriteria' => '<string>'
],
'retryPolicy' => [
'delaysSeconds' => [
1296030
],
'retryOn' => [
],
'responseTimeoutSeconds' => 302430
]
]
]),
CURLOPT_HTTPHEADER => [
"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.vida.dev/api/v2/tasks/limits?token="
payload := strings.NewReader("{\n \"businessHours\": {\n \"timezone\": \"America/Chicago\",\n \"windows\": [\n {\n \"days\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"start\": \"08:00\",\n \"end\": \"18:00\"\n },\n {\n \"days\": [\n 5\n ],\n \"start\": \"09:00\",\n \"end\": \"15:00\"\n },\n {\n \"days\": [\n 6\n ],\n \"start\": \"09:00\",\n \"end\": \"12:00\"\n }\n ]\n },\n \"cooldowns\": {\n \"calls\": 1,\n \"texts\": 1,\n \"tasks\": 1\n },\n \"maxConcurrentCalls\": 2,\n \"callsPerSecond\": 2,\n \"defaultRetryConfiguration\": {\n \"goal\": {\n \"completionCriteria\": \"<string>\"\n },\n \"retryPolicy\": {\n \"delaysSeconds\": [\n 1296030\n ],\n \"retryOn\": [],\n \"responseTimeoutSeconds\": 302430\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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.vida.dev/api/v2/tasks/limits?token=")
.header("Content-Type", "application/json")
.body("{\n \"businessHours\": {\n \"timezone\": \"America/Chicago\",\n \"windows\": [\n {\n \"days\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"start\": \"08:00\",\n \"end\": \"18:00\"\n },\n {\n \"days\": [\n 5\n ],\n \"start\": \"09:00\",\n \"end\": \"15:00\"\n },\n {\n \"days\": [\n 6\n ],\n \"start\": \"09:00\",\n \"end\": \"12:00\"\n }\n ]\n },\n \"cooldowns\": {\n \"calls\": 1,\n \"texts\": 1,\n \"tasks\": 1\n },\n \"maxConcurrentCalls\": 2,\n \"callsPerSecond\": 2,\n \"defaultRetryConfiguration\": {\n \"goal\": {\n \"completionCriteria\": \"<string>\"\n },\n \"retryPolicy\": {\n \"delaysSeconds\": [\n 1296030\n ],\n \"retryOn\": [],\n \"responseTimeoutSeconds\": 302430\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vida.dev/api/v2/tasks/limits?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessHours\": {\n \"timezone\": \"America/Chicago\",\n \"windows\": [\n {\n \"days\": [\n 1,\n 2,\n 3,\n 4\n ],\n \"start\": \"08:00\",\n \"end\": \"18:00\"\n },\n {\n \"days\": [\n 5\n ],\n \"start\": \"09:00\",\n \"end\": \"15:00\"\n },\n {\n \"days\": [\n 6\n ],\n \"start\": \"09:00\",\n \"end\": \"12:00\"\n }\n ]\n },\n \"cooldowns\": {\n \"calls\": 1,\n \"texts\": 1,\n \"tasks\": 1\n },\n \"maxConcurrentCalls\": 2,\n \"callsPerSecond\": 2,\n \"defaultRetryConfiguration\": {\n \"goal\": {\n \"completionCriteria\": \"<string>\"\n },\n \"retryPolicy\": {\n \"delaysSeconds\": [\n 1296030\n ],\n \"retryOn\": [],\n \"responseTimeoutSeconds\": 302430\n }\n }\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Vida API Token
Body
application/json
Timezone plus grouped availability windows.
Example:
{
"timezone": "America/Chicago",
"windows": [
{
"days": [1, 2, 3, 4],
"start": "08:00",
"end": "18:00"
},
{
"days": [5],
"start": "09:00",
"end": "15:00"
},
{
"days": [6],
"start": "09:00",
"end": "12:00"
}
]
}
Minimum seconds between Tasks for the same target and channel
Show child attributes
Show child attributes
Maximum simultaneous active Task calls
Required range:
x >= 1Maximum Task call starts per second
Required range:
x >= 1Complete organization default applied when a call, text, or email Task omits either its goal or retryPolicy. Defaults use same-channel delaysSeconds; null disables the organization default.
Show child attributes
Show child attributes
Response
Limits updated successfully
⌘I