Your Compute quote expired
If your Compute quote expired, how to check whether your job already exists before asking for a fresh quote.
Check whether the job already exists
Your client says the quote expired. Before requesting replacement work, check whether you already submitted against that quote and received a job or batch reference.
A quote's validity window governs its use for admission. It is not evidence that an admitted job stopped, nor is it a result-retention deadline.
Choose the matching branch
You have an existing job reference: read that job's current state. Do not replace it just because its original quote is now expired.
Submission lost its response: keep the original request and idempotency identity in your protected client records. Follow unknown submission recovery. A fresh quote does not tell you whether the first job was admitted.
No submission occurred: request a current quote through the supported client. Check the input snapshot, operation, permitted profile, destination, limits, maximum charge, and validity window.
The input or instructions changed: treat the change as a new review. Do not present the replacement as an unchanged retry.
Review before approving
Compare the replacement quote with what you intended to buy. A different price, input, destination, deadline, or processing policy needs review. Neither a price preview nor a signed quote alone authorizes execution.
For a small, reviewable example of the quote-to-result sequence, see the first test.
Use only the operation's documented replay behavior. Do not try successive new idempotency keys to get past an expiry or conflict. If quoting is unavailable, stop rather than inventing a price or extending an old quote yourself.
Confirm the outcome
Success is either a reconciled existing job or a separately approved submission using the correct current quote. Keep those outcomes separate.
For persistent expiry, conflict, or an unknown submission, use Contact Lithi. Include the safe quote or job reference when available, operation, error code, client version, and time with time zone. Leave out credentials, signed URLs, and the input payload.