Messages are removed from the database shortly after they’re delivered, so you
will not be able to retrieve a message after. This endpoint is intended to be used
for accessing messages that are in the process of being delivered/retried.
Retrieve a message
import { Client } from "@upstash/qstash";
const client = new Client({ token: "<QSTASH_TOKEN>" });
const messages = client.messages
const msg = await messages.get("msgId");
Cancel a message
import { Client } from "@upstash/qstash";
const client = new Client({ token: "<QSTASH_TOKEN>" });
await client.messages.cancel("msgId");
Cancel multiple messages
import { Client } from "@upstash/qstash";
const client = new Client({ token: "<QSTASH_TOKEN>" });
// cancel two messages at once
await client.messages.cancel(["message-id-1", "message-id-2"])
// cancel all messages
await client.messages.cancel({ all: true })
Cancel messages with filters
import { Client } from "@upstash/qstash";
const client = new Client({ token: "<QSTASH_TOKEN>" });
// cancel messages matching a URL and label
await client.messages.cancel({
filter: {
url: "https://example.com",
label: "my-label",
}
})
client.messages.delete(), client.messages.deleteMany(), and client.messages.deleteAll()
are deprecated. Use client.messages.cancel() instead.