Get Campaign Runs
curl --request GET \
--url https://app.dograh.com/api/v1/campaign/{campaign_id}/runsimport requests
url = "https://app.dograh.com/api/v1/campaign/{campaign_id}/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.dograh.com/api/v1/campaign/{campaign_id}/runs', 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.dograh.com/api/v1/campaign/{campaign_id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.dograh.com/api/v1/campaign/{campaign_id}/runs"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.dograh.com/api/v1/campaign/{campaign_id}/runs")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dograh.com/api/v1/campaign/{campaign_id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"runs": [
{}
],
"total_count": 123,
"page": 123,
"limit": 123,
"total_pages": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Campaigns
Get Campaign Runs
Retrieve individual run records for each contact in a campaign
GET
/
api
/
v1
/
campaign
/
{campaign_id}
/
runs
Get Campaign Runs
curl --request GET \
--url https://app.dograh.com/api/v1/campaign/{campaign_id}/runsimport requests
url = "https://app.dograh.com/api/v1/campaign/{campaign_id}/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.dograh.com/api/v1/campaign/{campaign_id}/runs', 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.dograh.com/api/v1/campaign/{campaign_id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.dograh.com/api/v1/campaign/{campaign_id}/runs"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.dograh.com/api/v1/campaign/{campaign_id}/runs")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dograh.com/api/v1/campaign/{campaign_id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"runs": [
{}
],
"total_count": 123,
"page": 123,
"limit": 123,
"total_pages": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Returns the individual run records for each contact in the campaign. Each record includes the same fields as agent run details, including run status, duration, transcript, and recording URL.
Path Parameters
Query Parameters
Page number (starts from 1)
Required range:
x >= 1Number of items per page
Required range:
1 <= x <= 100JSON-encoded filter criteria
Field to sort by (e.g., 'duration', 'created_at')
Sort order ('asc' or 'desc')
⌘I