Start Campaign
curl --request POST \
--url https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/startimport requests
url = "https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start', 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://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$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://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"workflow_id": 123,
"workflow_name": "<string>",
"state": "<string>",
"source_type": "<string>",
"source_id": "<string>",
"total_rows": 123,
"processed_rows": 123,
"failed_rows": 123,
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"retry_config": {
"enabled": true,
"max_retries": 123,
"retry_delay_seconds": 123,
"retry_on_busy": true,
"retry_on_no_answer": true,
"retry_on_voicemail": true
},
"traffic_split": {
"revision": 123,
"variants": [
{
"workflow_id": 123,
"weight": 50,
"id": "<string>",
"workflow_name": "<string>",
"workflow_definition_id": 1,
"version_number": 123
}
]
},
"max_concurrency": 123,
"rate_limit_per_second": 1,
"schedule_config": {
"enabled": true,
"timezone": "<string>",
"slots": [
{
"day_of_week": 123,
"start_time": "<string>",
"end_time": "<string>"
}
]
},
"circuit_breaker": {
"enabled": false,
"failure_threshold": 0.5,
"window_seconds": 120,
"min_calls_in_window": 5
},
"executed_count": 0,
"total_queued_count": 0,
"parent_campaign_id": 123,
"redialed_campaign_id": 123,
"telephony_configuration_id": 123,
"telephony_configuration_name": "<string>",
"logs": [
{
"ts": "<string>",
"level": "<string>",
"event": "<string>",
"message": "<string>",
"details": {}
}
],
"warnings": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Campaigns
Start Campaign
Start dialing contacts in a campaign
POST
/
api
/
v1
/
campaign
/
{campaign_id}
/
start
Start Campaign
curl --request POST \
--url https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/startimport requests
url = "https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start', 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://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$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://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.bananaflow.ai/api/v1/campaign/{campaign_id}/start")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"workflow_id": 123,
"workflow_name": "<string>",
"state": "<string>",
"source_type": "<string>",
"source_id": "<string>",
"total_rows": 123,
"processed_rows": 123,
"failed_rows": 123,
"created_at": "2023-11-07T05:31:56Z",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"retry_config": {
"enabled": true,
"max_retries": 123,
"retry_delay_seconds": 123,
"retry_on_busy": true,
"retry_on_no_answer": true,
"retry_on_voicemail": true
},
"traffic_split": {
"revision": 123,
"variants": [
{
"workflow_id": 123,
"weight": 50,
"id": "<string>",
"workflow_name": "<string>",
"workflow_definition_id": 1,
"version_number": 123
}
]
},
"max_concurrency": 123,
"rate_limit_per_second": 1,
"schedule_config": {
"enabled": true,
"timezone": "<string>",
"slots": [
{
"day_of_week": 123,
"start_time": "<string>",
"end_time": "<string>"
}
]
},
"circuit_breaker": {
"enabled": false,
"failure_threshold": 0.5,
"window_seconds": 120,
"min_calls_in_window": 5
},
"executed_count": 0,
"total_queued_count": 0,
"parent_campaign_id": 123,
"redialed_campaign_id": 123,
"telephony_configuration_id": 123,
"telephony_configuration_name": "<string>",
"logs": [
{
"ts": "<string>",
"level": "<string>",
"event": "<string>",
"message": "<string>",
"details": {}
}
],
"warnings": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Transitions the campaign from
draft or paused to running. Bananaflow begins dialing contacts up to the configured max_concurrency.Path Parameters
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?