Skip to main content

Documentation Index

Fetch the complete documentation index at: https://upstash-dx-2595-qstash-auto-dev-server.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Install

NPM

npm install @upstash/qstash

Get QStash token

Follow the instructions here to get your QStash token and signing keys.

Usage

import { Client } from "@upstash/qstash";

const client = new Client({
  token: "<QSTASH_TOKEN>",
});

RetryConfig

You can configure the retry policy of the client by passing the configuration to the client constructor. Note: This is for sending the request to QStash, not for the retry policy of QStash. The default number of attempts is 6 and the default backoff function is (retry_count) => (Math.exp(retry_count) * 50). You can also pass in false to disable retrying.
import { Client } from "@upstash/qstash";

const client = new Client({
  token: "<QSTASH_TOKEN>",
  retry: {
    retries: 3,
    backoff: retry_count => 2 ** retry_count * 20,
  },
});

Local development

Pass devMode: true (or set QSTASH_DEV=true) to have the SDK download, start, and manage a local QStash dev server for you. No tokens or signing keys required — the SDK injects deterministic dev credentials.
import { Client } from "@upstash/qstash";

const client = new Client({ devMode: true });
The same flag works on the receiving side — pass devMode: true to Receiver or verifySignature* to verify signatures with the dev server’s keys. See Local Development for the full walkthrough, including the registerQStashDev() helper for Next.js edge routes.

Telemetry

This sdk sends anonymous telemetry headers to help us improve your experience. We collect the following:
  • SDK version
  • Platform (Cloudflare, AWS or Vercel)
  • Runtime version (node@18.x)
You can opt out by setting the UPSTASH_DISABLE_TELEMETRY environment variable to any truthy value. Or setting enableTelemetry: false in the client options.
const client = new Client({
  token: "<QSTASH_TOKEN>",
  enableTelemetry: false,
});