Scheduled
View and manage emails that are scheduled for future delivery.
Scheduled sends are emails queued for future delivery, typically created by sequence steps with delays. Use this API to view what emails are pending and when they will be sent.
List scheduled sends
GET /api/scheduledReturns a paginated list of emails scheduled for future delivery, ordered by scheduled time (earliest first).
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
cursor | string | — | Pagination cursor from a previous response. |
limit | number | 20 | Number of scheduled sends to return (max 100). |
Response
{
"data": [
{
"id": "sch_01H9...",
"contactId": "cnt_01H8MZXK...",
"email": "alice@example.com",
"templateId": "getting-started",
"templateName": "Getting Started Guide",
"subject": "Getting started with Kraiter",
"scheduledFor": "2025-09-16T14:00:00.000Z",
"source": "sequence",
"sourceId": "onboarding",
"step": 2,
"createdAt": "2025-09-15T14:00:00.000Z"
},
{
"id": "sch_01HA...",
"contactId": "cnt_01H8N2PQ...",
"email": "bob@example.com",
"templateId": "tips-and-tricks",
"templateName": "Tips and Tricks",
"subject": "Kraiter tips and tricks",
"scheduledFor": "2025-09-18T14:00:00.000Z",
"source": "sequence",
"sourceId": "onboarding",
"step": 3,
"createdAt": "2025-09-15T14:00:00.000Z"
}
],
"nextCursor": null
}Response fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the scheduled send. |
contactId | string | The contact who will receive the email. |
email | string | The recipient email address. |
templateId | string | The template that will be rendered. |
templateName | string | Human-readable template name. |
subject | string | The email subject line (may contain unresolved variables). |
scheduledFor | string | ISO 8601 timestamp of when the email will be sent. |
source | string | Where this scheduled send originated (sequence). |
sourceId | string | The ID of the source (e.g. sequence ID). |
step | number | The step number within the sequence. |
createdAt | string | When the scheduled send was created. |
Examples
curl "https://api.kraiter.com/api/scheduled?limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"const scheduled = await kraiter.scheduled.list({ limit: 20 });
for (const item of scheduled.data) {
console.log(
`${item.email} — ${item.templateName} scheduled for ${item.scheduledFor}`
);
}Get scheduled send
GET /api/scheduled/:idReturns the details of a single scheduled send.
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The scheduled send ID. |
Response
Returns the full scheduled send object (same fields as the list response).
{
"id": "sch_01H9...",
"contactId": "cnt_01H8MZXK...",
"email": "alice@example.com",
"templateId": "getting-started",
"templateName": "Getting Started Guide",
"subject": "Getting started with Kraiter",
"scheduledFor": "2025-09-16T14:00:00.000Z",
"source": "sequence",
"sourceId": "onboarding",
"step": 2,
"createdAt": "2025-09-15T14:00:00.000Z"
}Errors
| Code | Description |
|---|---|
NOT_FOUND | No scheduled send with this ID exists, or it has already been sent. |
Examples
curl https://api.kraiter.com/api/scheduled/sch_01H9... \
-H "Authorization: Bearer YOUR_API_KEY"const item = await kraiter.scheduled.get("sch_01H9...");
console.log(`Scheduled for: ${item.scheduledFor}`);Lifecycle of a scheduled send
Scheduled sends follow this lifecycle:
- Created — A sequence step creates the scheduled send with a future
scheduledFortimestamp. - Pending — The send remains in the scheduled queue until its delivery time.
- Sent — At the scheduled time, the email is rendered and delivered. The scheduled record is removed and a Send record is created.
- Cancelled — If the contact is deleted, unsubscribes, or the sequence is deleted, the scheduled send is removed without sending.
Once a scheduled send has been delivered or cancelled, it no longer appears in the scheduled sends list. To view delivered emails, use the Sends API.
Viewing scheduled sends for a contact
To see what emails are pending for a specific contact, use the contact's scheduled sends endpoint:
curl "https://api.kraiter.com/api/contacts/cnt_01H8MZXK.../scheduled" \
-H "Authorization: Bearer YOUR_API_KEY"const scheduled = await kraiter.contacts.listScheduled("cnt_01H8MZXK...");See Contacts — List scheduled sends for details.