List scheduled messages
/api/v1/messages/scheduledYour scheduled messages, soonest first — the opposite order to every other list here, because this one is about what is about to happen and newest-first would bury the next send under everything already gone.
Bodies are not echoed back. You already have the message you scheduled, and repeating up to 10 MB of base64 attachments in every row would make the list unusable. What comes back is the envelope: to, from, subject, and what is going to happen to it.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
status | query | string | One of scheduled, sending, sent, cancelled, failed. |
per_page | query | integer | Page size. |
Request
/api/v1/messages/scheduledcurl -X GET 'https://app.mailyte.com/api/v1/messages/scheduled' \
-H 'Authorization: Bearer mk_live_YOUR_API_KEY'const response = await fetch('https://app.mailyte.com/api/v1/messages/scheduled', {
method: 'GET',
headers: {
Authorization: 'Bearer mk_live_YOUR_API_KEY',
},
});
const { data } = await response.json();import requests
response = requests.get(
"https://app.mailyte.com/api/v1/messages/scheduled",
headers={"Authorization": "Bearer mk_live_YOUR_API_KEY"},
)
data = response.json()["data"]<?php
$response = Http::withToken('mk_live_YOUR_API_KEY')
->get('https://app.mailyte.com/api/v1/messages/scheduled');
$data = $response->json('data');require "net/http"
require "json"
uri = URI("https://app.mailyte.com/api/v1/messages/scheduled")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer mk_live_YOUR_API_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }Response
Success.
dataobjectdataarray<object>objectstringscheduled_messageidstringAddress this with
GETandDELETE /messages/scheduled/{id}. It identifies the SCHEDULE, not the message — seemessage_id.statusstringscheduled | sending | sent | cancelled | failedscheduled(waiting),sending(going out now; it can no longer be cancelled),sent,cancelledorfailed.modestringlive | testtestwhen a test API key scheduled this message: when it is due it is stored in your Sandbox, never delivered. Otherwiselive.send_atstringWhen it will be sent, to the minute.
fromstringThe sender, as scheduled.
toarray<string>The recipients, as scheduled.
ccandbccare held but not published back — a Bcc that reappears in a readable response is a Bcc that leaked.subjectstringnullMEANS NONE WAS SET — a message may legitimately have no subject, and a template supplies its own at render time.message_idstringThe Message-ID it was sent with. Null until it is sent, and for a cancelled or failed message.
sent_atstringWhen it was submitted.
nullMEANS IT HAS NOT BEEN.cancelled_atstringWhen it was cancelled.
nullMEANS IT WAS NOT.failure_reasonstringWhy it could not be sent. Set only when
statusisfailed. Suppression and rate limits are checked when the message is sent, not when it was scheduled.created_atstringWhen it was accepted.
pagination_metaany
Returned inside the standard envelope.
Errors
| Status | When |
|---|---|
401 | The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist. |
403 | The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys. |
404 | No such resource in this organization. |
422 | The request was understood but the values were not acceptable. |
429 | Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait. |
Every status, with what causes it and what to do, is on the error reference.