The Async Job Lifecycle
- →Submit, poll, and retrieve an async job using only real paths and field names
- →Design a job record that survives a process restart
- →Treat the 24-hour retention window as a hard architectural boundary, not a detail
- →Choose a poll interval from throughput and rate-limit reasoning rather than from a default
The 202 body is two fields: id and created_at. That is the entire receipt. From the moment it lands, you are being billed for work you can only reach through that id, so the insert belongs in the same function — not in a caller that might raise first.
This is not pedantry about a URL. It changes your schema. A global status endpoint would let you store a bare id; the real API makes the endpoint part of the job's identity. Store them together or you will hold ids you cannot poll.
Unlock “The Async Job Lifecycle”
The 5-lesson Foundation module is free and always will be — you have already read the part most guides get wrong. The paid lessons go deeper, with labs, knowledge checks, and every technical claim verified against live documentation.
Already bought it? Sign in with the email you used at checkout.