Scheduled messages
Cancel a scheduled message before it starts sending.
Cancel a scheduled message that has not started sending
POST
/v1/scheduled-messages/{scheduledMessageId}/cancelscheduled-messages.cancelRequires InboxReplyAccess. A missing id is not_found. A row that is already sending, sent, cancelled, or failed is invalid_state. Cancel still returns the scheduled message when restoring the composer draft fails, with draft.saved false so the caller saves the draft again.
Parameters
Name
In
Type
Required
Description
scheduledMessageId
In: path
string
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise
400 workspace_required).Response 200
data is a ScheduledMessageModel.
Field
Type
Description
id
integer (int64)
messageId
string
kind
string
status
string
scheduled, sending, sent, cancelled, failed, or awaiting_approval.
approverMemberId
integer (int64)
With status awaiting_approval: the client seat whose own inbox sends the reply and who must approve it . Names come from
/v1/members.delaySeconds
integer (int32)
sendAt
string (date-time)
createdAt
string (date-time)
body
string
senderEmailId
integer (int32)
to
array of ThreadRecipientModel
cc
array of ThreadRecipientModel
bcc
array of ThreadRecipientModel
draft
ScheduledMessageDraftModel
Request
curl -X POST "https://api.ken.so/v1/scheduled-messages/string/cancel" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
"success": true,
"data": {
"id": 812,
"messageId": "msg_ZW1haWw6NDAyMjg0LjJAZXhhbXBsZS5jb20",
"kind": "string",
"status": "string",
"approverMemberId": 812,
"delaySeconds": 1,
"sendAt": "2026-09-23T15:02:11Z",
"createdAt": "2026-09-23T15:02:11Z",
"body": "string",
"senderEmailId": 812,
"to": [
{
"name": "string",
"address": "string"
}
],
"cc": [
{
"name": "string",
"address": "string"
}
],
"bcc": [
{
"name": "string",
"address": "string"
}
],
"draft": {
"messageId": "msg_ZW1haWw6NDAyMjg0LjJAZXhhbXBsZS5jb20",
"kind": "string",
"body": "string",
"senderEmailId": 812,
"to": [
{
"name": "string",
"address": "string"
}
],
"cc": [
{
"name": "string",
"address": "string"
}
],
"bcc": [
{
"name": "string",
"address": "string"
}
],
"saved": true
}
}
}