Get today's sending schedule
Returns the same data as the dashboard's Sending Schedule page, for the current UTC day.
capacityis the workspace total: the daily limit of every mailbox that can send (sending enabled and statusactiveorwarming_up), emails sent so far today, leads still scheduled for today, and the free slots left.activeCampaignslists each active campaign, sorted byreservedToday(highest first).processingistruewhile the schedule is being recalculated after a change (campaign started/paused/edited, mailbox limit or status changed). Numbers may still reflect the previous state until it isfalseagain. Sending is not paused meanwhile.
Changes apply within 10 to 30 minutes depending on workspace size. The full daily quota becomes available again when the UTC day rolls over at 00:00 UTC.
curl -X GET "https://api.sendkit.ai/v1/sending-schedule" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY"
import requests
import json
url = "https://api.sendkit.ai/v1/sending-schedule"
headers = {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.sendkit.ai/v1/sending-schedule", {
method: "GET",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api.sendkit.ai/v1/sending-schedule", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-Api-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.sendkit.ai/v1/sending-schedule')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['X-Api-Key'] = 'YOUR_API_KEY'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"date": "2026-10-08",
"processing": false,
"capacity": {
"dailyLimit": 5000,
"sentSoFar": 1200,
"scheduled": 2300,
"freeSlots": 1500,
"activeMailboxCount": 42
},
"activeCampaigns": [
{
"id": "66f1c2a9e4b0a1b2c3d4e5f6",
"name": "Q4 Outbound",
"utcWindow": "spans_midnight",
"schedule": {
"startTime": "09:00",
"endTime": "17:00",
"timezone": "America/New_York",
"workingDays": [
1,
2,
3,
4,
5
]
},
"mailboxes": {
"total": 10,
"shared": 3
},
"nextSendAt": "2026-10-08T10:20:00.000Z",
"reservedToday": 450,
"sentToday": 120,
"share": {
"stillQueued": 450,
"totalReserved": 570,
"sentPct": 3.43,
"queuedPct": 12.86,
"totalPct": 16.29
}
}
]
}
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Please try again later",
"code": 429,
"retryAfter": 3600
}
GET
/v1/sending-schedule
GET
Base URLstring
Target server for requests. Edit to use your own host.
API Key (header: X-Api-Key)
X-Api-Keystring
RequiredPlatform API key (sk_user_...) or Workspace API key (sk_...)
Platform API key (sk_user_...) or Workspace API key (sk_...)
Request Preview
Response
Response will appear here after sending the request
Authentication
header
X-Api-Keystring
RequiredAPI Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)
Responses
successboolean
dataobject
Was this page helpful?