This endpoint skips the remaining wait of a waiting message and delivers it right away. It works for:
- Delayed messages, published with
Upstash-DelayorUpstash-Not-Before, including sleeping workflow steps. - Retrying messages, whose last delivery failed and which are waiting out the retry delay before the next attempt.
Retrying now does not add an extra attempt. It moves the already scheduled retry forward, so the retry count and the remaining retries stay the same.
You can find messages waiting for a retry by listing the logs with state=RETRY.
With the TypeScript SDK, use client.messages.runNow("<MESSAGE_ID>").
See Run a Delayed Message Now for more details.
Messages published to a queue can not be rescheduled to retry now. The request returns 400 for them.