List Scheduled Emails
curl --request GET \
--url https://app.lettr.com/api/emails/scheduled \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.lettr.com/api/emails/scheduled"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.lettr.com/api/emails/scheduled', 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.lettr.com/api/emails/scheduled",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.lettr.com/api/emails/scheduled"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.lettr.com/api/emails/scheduled")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.lettr.com/api/emails/scheduled")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "Scheduled emails retrieved successfully.",
"data": {
"scheduled_emails": [
{
"request_id": "sch_01JQZ3N2K8XW9V6M4TBRC7YHDE",
"transmission_id": null,
"state": "scheduled",
"scheduled_at": "2024-01-16T10:00:00Z",
"from": "sender@example.com",
"from_name": "Sender Name",
"subject": "Scheduled Newsletter",
"recipients": [
"recipient@example.com"
],
"num_recipients": 1,
"accepted": 1,
"rejected": 0,
"tag": null,
"failure_reason": null,
"events": []
}
],
"pagination": {
"total": 1,
"per_page": 25,
"current_page": 1,
"last_page": 1
}
}
}Scheduled Emails
List Scheduled Emails
List the scheduled emails of your team, newest first. Requires the emails:read scope.
This endpoint is new: listing was previously impossible because SparkPost’s transmission list endpoint returns 404. Lettr now holds scheduled emails in its own store, so they can be listed, read back and cancelled at any point before they are injected.
A sandbox key only sees the emails it scheduled itself.
GET
/
emails
/
scheduled
List Scheduled Emails
curl --request GET \
--url https://app.lettr.com/api/emails/scheduled \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.lettr.com/api/emails/scheduled"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.lettr.com/api/emails/scheduled', 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.lettr.com/api/emails/scheduled",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.lettr.com/api/emails/scheduled"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.lettr.com/api/emails/scheduled")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.lettr.com/api/emails/scheduled")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "Scheduled emails retrieved successfully.",
"data": {
"scheduled_emails": [
{
"request_id": "sch_01JQZ3N2K8XW9V6M4TBRC7YHDE",
"transmission_id": null,
"state": "scheduled",
"scheduled_at": "2024-01-16T10:00:00Z",
"from": "sender@example.com",
"from_name": "Sender Name",
"subject": "Scheduled Newsletter",
"recipients": [
"recipient@example.com"
],
"num_recipients": 1,
"accepted": 1,
"rejected": 0,
"tag": null,
"failure_reason": null,
"events": []
}
],
"pagination": {
"total": 1,
"per_page": 25,
"current_page": 1,
"last_page": 1
}
}
}List emails waiting to be sent, soonest delivery time first. Filter by
status to see only what is still pending, or to find what was cancelled or failed.
Each row carries the same detail as a single read, including the sch_ request ID you need to get or cancel an individual email.Authorizations
API key for authentication
Query Parameters
Filter by scheduled email state
Available options:
scheduled, sending, sent, cancelled, failed Number of results per page (1-100). Defaults to 25.
Required range:
1 <= x <= 100Page number. Defaults to 1.
Required range:
x >= 1Was this page helpful?