One HTTP POST enqueues a job in any language. These are the most common patterns developers use it for.
Your signup endpoint returns a 200 immediately. Sending an email in-process blocks the response and risks timing out. Instead, enqueue an email job and let jobqueue deliver the callback to your email worker.
curl -X POST https://api.jobqueue.app/v1/jobs \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "queue": "emails", "callback_url": "https://yourapp.com/workers/send-welcome", "payload": { "email": "user@example.com", "name": "Ada" } }'
If your product sends webhooks to customer URLs, you need reliable delivery with retries — customer servers go down, return 500s, time out. Enqueue each delivery as a job. jobqueue handles exponential backoff and stores delivery history so you can see what was delivered and when.
curl -X POST https://api.jobqueue.app/v1/jobs \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "queue": "webhooks-customer-7", "callback_url": "https://yourapp.com/workers/deliver-webhook", "payload": { "destination": "https://customer.com/hooks", "event": "payment.completed", "data": { "amount": 4200 } } }'
Your callback worker POSTs to the customer URL and returns 200. If the customer's server times out, jobqueue retries automatically.
Schedule jobs to run at a specific time — daily digests, billing summaries, data exports. No cron daemon to manage, no missed runs when your server restarts. Enqueue with a run_at timestamp and jobqueue fires the callback at that time.
curl -X POST https://api.jobqueue.app/v1/jobs \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "queue": "reports", "callback_url": "https://yourapp.com/workers/daily-report", "run_at": "2026-08-15T08:00:00Z", "payload": { "report_type": "daily-digest", "org_id": "org_123" } }'
For recurring daily runs, re-enqueue the next job from your callback handler after each run completes.
User uploads a file. Processing it — resizing, transcoding, parsing, indexing — takes seconds or minutes. Do it in the background. Enqueue a job with the file reference, let your worker process it, and update your database when done.
curl -X POST https://api.jobqueue.app/v1/jobs \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "queue": "media-processing", "callback_url": "https://yourapp.com/workers/process-image", "payload": { "file_key": "uploads/user-42/avatar-raw.png", "sizes": [64, 128, 512] } }'
Stripe webhooks must return 200 within 30 seconds or Stripe retries — sometimes triggering duplicate processing. The safe pattern: your webhook endpoint acknowledges immediately, then enqueues the real processing work. Your worker handles provisioning, activation, emailing, and ledger updates without racing against Stripe's timeout.
curl -X POST https://api.jobqueue.app/v1/jobs \ -H "X-API-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "queue": "billing", "callback_url": "https://yourapp.com/workers/handle-payment", "payload": { "event_type": "invoice.paid", "stripe_event_id": "evt_1abc...", "customer_id": "cus_xyz" } }'
Your Stripe endpoint returns 200 in milliseconds. Your worker has as long as it needs to provision access, update your database, and send receipts.
Any language. No SDK to install. Start in 60 seconds.