Async jobs
Async job pattern (202 Accepted + polling). Status is computed from elapsed time, so no background workers: queued (first 2s) -> running (progress 0-99%) -> completed | failed ("fail" jobs die at 60%) | cancelled. The store is in-memory, capped at 200 jobs (oldest non-seed jobs are evicted), and resets on restart.
Your account unlocks these endpoints. Try it on each endpoint's page sends your key for you; from your own code, send a key from your API keys page in the X-TestingApis-Key header.
These endpoints need a free account. Create one or sign in to see their details and try them here.
- GET
https://api.testingapis.com/api/jobsList all jobs, newest firstList all jobs, newest first. - POST
https://api.testingapis.com/api/jobsStart an asynchronous jobStart an asynchronous job. - GET
https://api.testingapis.com/api/jobs/{id}Get a job's current status and progressGet a job's current status and progress. - DELETE
https://api.testingapis.com/api/jobs/{id}Cancel a queued or running jobCancel a queued or running job. - GET
https://api.testingapis.com/api/jobs/{id}/resultGet the result of a completed jobGet the result of a completed job.
Example request
List all jobs, newest first. Full reference and a Send button.
curl -X GET "https://api.testingapis.com/api/jobs" \
-H "X-TestingApis-Key: YOUR_API_KEY"[
{
"id": "job_1001",
"type": "import",
"status": "running",
"progress": 8,
"durationSeconds": 60,
"createdAt": "2026-09-30T18:26:35Z",
"startedAt": "2026-09-30T18:26:37Z",
"finishedAt": null,
"statusUrl": "/api/jobs/job_1001",
"resultUrl": null,
"error": null
},
… (15 more lines)Sign in to see the details
The parameters, request and response examples and the live Try it panel for these endpoints are for signed-in members. Accounts are free and take a few seconds to create.