Skip to main content
post/v2/messages/{messageId}/retry
Request example
Response
post/v2/messages/{messageId}/retry

This endpoint skips the remaining wait of a waiting message and delivers it right away. It works for:

  • Delayed messages, published with Upstash-Delay or Upstash-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.

Note

Messages published to a queue can not be rescheduled to retry now. The request returns 400 for them.

Authorization

Authorizationstringheaderrequired#
QStash authentication token

1 alternative authorization method available — see the spec for details.

Path parameters

messageIdstringrequired#
The identifier of the message to deliver now.

Responses

The message is rescheduled for immediate delivery.