Skip to main content
GET
/
v2
/
schedules
{
  "schedules": [
    {
      "id": "6651a3f2e4b0a1c2d3e4f567",
      "name": "Weekend Promo Blast",
      "status": "on",
      "send_type": "blast",
      "source_lists": [101, 204],
      "audiences": ["665fa1b2c3d4e5f6a7b8c901"],
      "is_repeating": true,
      "send_time": "14:30",
      "send_date": null,
      "start_date": "2025-06-01T00:00:00Z",
      "end_date": "2025-08-31T00:00:00Z",
      "days_of_week": {
        "monday": false,
        "tuesday": false,
        "wednesday": false,
        "thursday": false,
        "friday": true,
        "saturday": true,
        "sunday": true
      },
      "skip_within_hours": 24,
      "use_local_time": true,
      "filter_bots": true,
      "is_mms": false,
      "is_cto": false,
      "automated_percent": 0,
      "ir_revenue": 2.50,
      "blasts": [
        {
          "message": "Flash sale this weekend! Shop now: {{link1}}",
          "offer_links": [
            {
              "key": "link1",
              "offer_id": "offer_abc123",
              "url_params": {"utm_source": "sms", "utm_campaign": "weekend"}
            }
          ],
          "percent_audience": 60,
          "variant_name": "Control",
          "mms_image_url": null
        },
        {
          "message": "Don't miss out — 20% off everything: {{link1}}",
          "offer_links": [
            {
              "key": "link1",
              "offer_id": "offer_abc123",
              "url_params": {"utm_source": "sms", "utm_campaign": "weekend"}
            }
          ],
          "percent_audience": 40,
          "variant_name": "Urgency Variant",
          "mms_image_url": null
        }
      ],
      "created_at": "2025-05-28T10:15:30Z",
      "updated_at": "2025-06-01T08:00:00Z"
    }
  ]
}
List all schedules associated with your account. Returns all non-archived schedules by default. Use the status filter to include archived schedules or narrow results to a specific status. No pagination is applied — the full list of matching schedules is returned in a single response.

Query Parameters

status
string
Comma-separated list of statuses to filter by. Allowed values: draft, off, on, complete, archive. When omitted, all schedules except those with status archive are returned.
send_type
string
Filter by send type. Allowed values: blast or automated.

Response Fields

schedules
array
An array of schedule objects.

Examples

cURL
curl -X GET "https://app.tracklysms.com/api/v2/schedules?status=on,draft&send_type=blast" \
  -H "X-Api-Key: trk_your_api_key_here"
Python
import requests

response = requests.get(
    "https://app.tracklysms.com/api/v2/schedules",
    headers={"X-Api-Key": "trk_your_api_key_here"},
    params={
        "status": "on,draft",
        "send_type": "blast"
    }
)

data = response.json()
for schedule in data["schedules"]:
    print(f"{schedule['name']}{schedule['status']}")
Node.js
const response = await fetch(
  "https://app.tracklysms.com/api/v2/schedules?status=on,draft&send_type=blast",
  {
    method: "GET",
    headers: {
      "X-Api-Key": "trk_your_api_key_here"
    }
  }
);

const data = await response.json();
data.schedules.forEach(schedule => {
  console.log(`${schedule.name}${schedule.status}`);
});
{
  "schedules": [
    {
      "id": "6651a3f2e4b0a1c2d3e4f567",
      "name": "Weekend Promo Blast",
      "status": "on",
      "send_type": "blast",
      "source_lists": [101, 204],
      "audiences": ["665fa1b2c3d4e5f6a7b8c901"],
      "is_repeating": true,
      "send_time": "14:30",
      "send_date": null,
      "start_date": "2025-06-01T00:00:00Z",
      "end_date": "2025-08-31T00:00:00Z",
      "days_of_week": {
        "monday": false,
        "tuesday": false,
        "wednesday": false,
        "thursday": false,
        "friday": true,
        "saturday": true,
        "sunday": true
      },
      "skip_within_hours": 24,
      "use_local_time": true,
      "filter_bots": true,
      "is_mms": false,
      "is_cto": false,
      "automated_percent": 0,
      "ir_revenue": 2.50,
      "blasts": [
        {
          "message": "Flash sale this weekend! Shop now: {{link1}}",
          "offer_links": [
            {
              "key": "link1",
              "offer_id": "offer_abc123",
              "url_params": {"utm_source": "sms", "utm_campaign": "weekend"}
            }
          ],
          "percent_audience": 60,
          "variant_name": "Control",
          "mms_image_url": null
        },
        {
          "message": "Don't miss out — 20% off everything: {{link1}}",
          "offer_links": [
            {
              "key": "link1",
              "offer_id": "offer_abc123",
              "url_params": {"utm_source": "sms", "utm_campaign": "weekend"}
            }
          ],
          "percent_audience": 40,
          "variant_name": "Urgency Variant",
          "mms_image_url": null
        }
      ],
      "created_at": "2025-05-28T10:15:30Z",
      "updated_at": "2025-06-01T08:00:00Z"
    }
  ]
}

Error Codes

HTTP StatusError CodeDescription
401unauthorizedAPI key is missing, invalid, or revoked.

Next Steps

Campaign Scheduling

Plan and schedule campaigns

List Audiences

View available audiences