Get the dashboard summary
curl --request GET \
--url https://api.getdialed.ai/v1/flows/dashboard/summary \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getdialed.ai/v1/flows/dashboard/summary"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getdialed.ai/v1/flows/dashboard/summary', 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.getdialed.ai/v1/flows/dashboard/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.getdialed.ai/v1/flows/dashboard/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getdialed.ai/v1/flows/dashboard/summary")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getdialed.ai/v1/flows/dashboard/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"active_schedule_count": 6,
"batches_by_status": {
"completed": 128,
"failed": 4,
"running": 2
},
"recent_failures": [
{
"definition_id": "def_a1b2c3d4",
"failed_at": "2026-07-09T18:00:05Z",
"id": "batch_55667788",
"source": "schedule"
}
],
"upcoming_fires": [
{
"definition_id": "def_a1b2c3d4",
"next_fire_at": "2026-07-10T09:00:00Z",
"schedule_id": "sched_1a2b"
}
]
}{
"detail": "Authentication required"
}{
"detail": "Validation error"
}{
"detail": "Rate limit exceeded: 100 per 1 minute"
}Dashboard & Usage
Get the dashboard summary
Return the home-screen 24h operational pulse in a single call: batch counts by status over the last 24 hours, the most recent failures (denormalized for click-through), the active-schedule count, and the next few upcoming schedule fires. All figures are scoped to the caller’s account.
GET
/
flows
/
dashboard
/
summary
Get the dashboard summary
curl --request GET \
--url https://api.getdialed.ai/v1/flows/dashboard/summary \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getdialed.ai/v1/flows/dashboard/summary"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getdialed.ai/v1/flows/dashboard/summary', 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.getdialed.ai/v1/flows/dashboard/summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://api.getdialed.ai/v1/flows/dashboard/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getdialed.ai/v1/flows/dashboard/summary")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getdialed.ai/v1/flows/dashboard/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"active_schedule_count": 6,
"batches_by_status": {
"completed": 128,
"failed": 4,
"running": 2
},
"recent_failures": [
{
"definition_id": "def_a1b2c3d4",
"failed_at": "2026-07-09T18:00:05Z",
"id": "batch_55667788",
"source": "schedule"
}
],
"upcoming_fires": [
{
"definition_id": "def_a1b2c3d4",
"next_fire_at": "2026-07-10T09:00:00Z",
"schedule_id": "sched_1a2b"
}
]
}{
"detail": "Authentication required"
}{
"detail": "Validation error"
}{
"detail": "Rate limit exceeded: 100 per 1 minute"
}Authorizations
APIKeyHeaderHTTPBearer
Response
Successful Response
The one-call home-screen summary (24h pulse).
Batch counts keyed by status over the last 24 hours.
Show child attributes
Show child attributes
The most recent failed batches, newest first.
Show child attributes
Show child attributes
Number of currently-enabled schedules.
The next few upcoming schedule fires, soonest first.
Show child attributes
Show child attributes