Retry a DLQ message
curl --request POST \
--url https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"messageId": "<string>",
"deduplicated": true
}{
"error": "<string>"
}DLQ
Retry a DLQ message
Retry delivery of a message from the DLQ
POST
/
v2
/
dlq
/
retry
/
{dlqId}
Retry a DLQ message
curl --request POST \
--url https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://qstash-{region}.upstash.io/v2/dlq/retry/{dlqId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"messageId": "<string>",
"deduplicated": true
}{
"error": "<string>"
}When a DLQ message is retried, a new message with the same body and headers is created and scheduled for delivery.
The original DLQ message is then removed from the DLQ.
You can pass all configuration headers to override the configuration of the original message.For example, if the retry count of the original message is 5, you can set it to 0 for the retried message by passing
Upstash-Retries: 0 header to this request.
Check out publish documentation for complete list of configuration options you can pass.Authorizations
bearerAuthbearerAuthQuery
QStash authentication token
Path Parameters
The DLQ ID of the message you want to retry.
Was this page helpful?