patch
/users/@me/scheduled-messages/{scheduled_message_id}Update scheduled message
Updates an existing scheduled message before it is sent. Can modify message content, scheduled time, and timezone. Returns updated scheduled message details.
update_scheduled_message
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| scheduled_message_id* | path | string | The scheduled message id |
Request body
application/json
json
{
"type": "object",
"properties": {
"content": {
"anyOf": [
{
"$ref": "#/components/schemas/MessageContentRequest"
},
{
"type": "null"
}
]
},
"embeds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RichEmbedRequest"
},
"description": "Array of embed objects to include in the message"
},
"attachments": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/ClientUploadedAttachmentRequest"
},
{
"$ref": "#/components/schemas/ClientAttachmentRequest"
}
]
},
"description": "Array of attachment objects"
},
"message_reference": {
"anyOf": [
{
"$ref": "#/components/schemas/MessageReferenceRequest"
},
{
"type": "null"
}
],
"description": "Reference to another message (for replies or forwards)"
},
"allowed_mentions": {
"anyOf": [
{
"$ref": "#/components/schemas/AllowedMentionsRequest"
},
{
"type": "null"
}
],
"description": "Controls which mentions trigger notifications"
},
"flags": {
"$ref": "#/components/schemas/MessageFlags"
},
"nonce": {
"$ref": "#/components/schemas/MessageNonceRequest"
},
"favorite_meme_id": {
"anyOf": [
{
"$ref": "#/components/schemas/SnowflakeType"
},
{
"type": "null"
}
],
"description": "ID of a favorite meme to attach"
},
"sticker_ids": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SnowflakeType"
},
"maxItems": 3
},
{
"type": "null"
}
],
"description": "Array of sticker IDs to include (max 3)"
},
"tts": {
"type": "boolean",
"description": "Whether this is a text-to-speech message"
},
"scheduled_local_at": {
"type": "string",
"description": "ISO 8601 timestamp expressed in the user local timezone for when the message should be delivered"
},
"timezone": {
"type": "string",
"description": "IANA timezone identifier the schedule_local_at value is anchored to"
}
},
"required": [
"scheduled_local_at",
"timezone"
]
}Responses
200
Success
json
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"description": "The unique identifier for this scheduled message"
},
"channel_id": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"description": "The ID of the channel this message will be sent to"
},
"scheduled_at": {
"type": "string",
"description": "The ISO 8601 UTC timestamp when the message is scheduled to be sent"
},
"scheduled_local_at": {
"type": "string",
"description": "The ISO 8601 timestamp in the user local timezone"
},
"timezone": {
"type": "string",
"description": "The IANA timezone identifier used for scheduling"
},
"status": {
"type": "string",
"enum": [
"pending",
"invalid",
"scheduled",
"sent",
"failed",
"cancelled"
],
"description": "The current status of the scheduled message"
},
"status_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "A human-readable reason for the current status, if applicable"
},
"payload": {
"type": "object",
"properties": {
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The text content of the scheduled message"
},
"tts": {
"type": "boolean",
"description": "Whether this is a text-to-speech message"
},
"embeds": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageEmbedResponse"
},
"description": "Array of embed objects attached to the message"
},
"attachments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageAttachmentResponse"
},
"description": "Array of attachment objects for the message"
},
"stickers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageStickerResponse"
},
"description": "Array of sticker objects attached to the message"
},
"sticker_ids": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SnowflakeType"
},
"description": "Array of sticker IDs to include in the message"
},
"allowed_mentions": {
"type": "object",
"properties": {
"parse": {
"type": "array",
"items": {
"type": "string",
"enum": [
"users",
"roles",
"everyone"
],
"x-enumNames": [
"USERS",
"ROLES",
"EVERYONE"
],
"x-enumDescriptions": [
"Parse user mentions from the message content",
"Parse role mentions from the message content",
"Parse @everyone and @here mentions from the message content"
],
"description": "Types of mentions to parse from content"
},
"description": "Types of mentions to parse from content"
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SnowflakeType"
},
"description": "Array of user IDs to mention"
},
"roles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SnowflakeType"
},
"description": "Array of role IDs to mention"
},
"replied_user": {
"type": "boolean",
"description": "Whether to mention the author of the replied message"
}
},
"description": "Controls which mentions trigger notifications"
},
"message_reference": {
"type": "object",
"properties": {
"message_id": {
"type": "string",
"pattern": "^(0|[1-9][0-9]*)$",
"description": "ID of the message being referenced"
},
"channel_id": {
"$ref": "#/components/schemas/SnowflakeType"
},
"guild_id": {
"$ref": "#/components/schemas/SnowflakeType"
},
"type": {
"$ref": "#/components/schemas/MessageReferenceType",
"description": "The type of message reference"
}
},
"required": [
"message_id"
],
"description": "Reference to another message (for replies or forwards)"
},
"flags": {
"$ref": "#/components/schemas/MessageFlags"
},
"nonce": {
"$ref": "#/components/schemas/MessageNonceRequest"
},
"favorite_meme_id": {
"$ref": "#/components/schemas/SnowflakeType"
}
},
"description": "The message content and metadata to be sent"
},
"created_at": {
"type": "string",
"description": "The ISO 8601 timestamp when this scheduled message was created"
},
"invalidated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The ISO 8601 timestamp when the message was marked invalid"
}
},
"required": [
"id",
"channel_id",
"scheduled_at",
"scheduled_local_at",
"timezone",
"status",
"status_reason",
"payload",
"created_at",
"invalidated_at"
]
}400
Bad Request - The request was malformed or contained invalid data
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}401
Unauthorized - Authentication is required or the token is invalid
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}403
Forbidden - You do not have permission to perform this action
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}429
Too Many Requests - You are being rate limited
json
{
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"RATE_LIMITED"
]
},
"message": {
"type": "string"
},
"retry_after": {
"type": "number",
"description": "Seconds to wait before retrying"
},
"global": {
"type": "boolean",
"description": "Whether this is a global rate limit"
}
},
"required": [
"code",
"message",
"retry_after"
]
}500
Internal Server Error - An unexpected error occurred
json
{
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/APIErrorCode"
},
"message": {
"type": "string",
"description": "Human-readable error message"
},
"errors": {
"type": "array",
"description": "Field-specific validation errors",
"items": {
"$ref": "#/components/schemas/ValidationErrorItem"
}
}
},
"required": [
"code",
"message"
]
}