Ack mode
Acknowledge the webhook immediately, run the real work out of band, report the outcome back with ack / nack / defer.
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.
/v1/queues/<queue-name>/jobs.2xx. The job is done.2xx immediately and have your worker report back later with /ack, /nack, or /defer.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"
}'// 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',
});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.
@simpleq/sdk (npm install @simpleq/sdk): publish, webhook verification, ack/nack/defer, Express + Nest.js adapters (GitHub · npm).