Skip to content

SimpleQThe managed job queue for AI and API-heavy backends

Publish a job over REST or the TypeScript SDK; SimpleQ delivers it to your webhook with retries, backpressure, rate limiting, and ack mode. No polling workers, no broker — your worker is a plain HTTP endpoint.

What is SimpleQ?

SimpleQ is a managed job queue for AI and API-heavy backends. You POST a job to SimpleQ, then SimpleQ delivers it to your webhook with retries, backoff, a dead-letter queue, and rate-aware redelivery handled for you.

How it works

  1. Publish — POST a job to /v1/queues/<queue-name>/jobs.
  2. Deliver — SimpleQ POSTs the job to the webhook URL you configured on the queue (developing locally? expose your worker with a tunnel).
  3. Acknowledge — Your webhook returns 2xx. The job is done.
  4. (Ack mode) — Or, for work that exceeds the 15-second webhook ceiling, return 2xx immediately and have your worker report back later with /ack, /nack, or /defer.

Publish a job

bash
curl -X POST $SQ_API_URL/v1/queues/my-queue/jobs \
  -H "Authorization: Bearer $SIMPLEQ_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "payload": { "task": "hello" },
    "idempotencyKey": "task-001"
  }'
js
// npm install @simpleq/sdk
import { SimpleQ } from '@simpleq/sdk';

const simpleq = new SimpleQ({ apiKey: process.env.SIMPLEQ_API_KEY });

const job = await simpleq.publish('my-queue', {
  payload: { task: 'hello' },
  idempotencyKey: 'task-001',
});
python
import os, httpx

res = httpx.post(
    f"{os.environ['SQ_API_URL']}/v1/queues/my-queue/jobs",
    headers={"authorization": f"Bearer {os.environ['SIMPLEQ_API_KEY']}"},
    json={
        "payload": {"task": "hello"},
        "idempotencyKey": "task-001",
    },
)
job = res.json()

Request body:

  • payload (object, required) — your job data, delivered verbatim to your webhook.
  • idempotencyKey (string, optional) — dedupes the publish; a second POST with the same key returns the existing job.
  • delay (number, optional) — seconds to defer the first delivery (max 86400).

Auth: every request uses Authorization: Bearer sq_live_.... Get a key from the dashboard under API Keys.

Where to go

  • Examples — task-oriented integration examples for common downstreams.
  • Concepts — the load-bearing ideas: ack mode, backpressure, idempotency, signature verification.
  • API reference — every endpoint, body, and status code.
  • TypeScript SDK@simpleq/sdk (npm install @simpleq/sdk): publish, webhook verification, ack/nack/defer, Express + Nest.js adapters (GitHub · npm).