Operation result expired
Identifiers
Section titled “Identifiers”| Field | Value |
|---|---|
| Type URI | https://echo.labstack.com/pro/problems/operation-result-expired |
| Code | operation_result_expired |
| HTTP status | 409 |
| HTTP status | English title |
|---|---|
| 409 | Conflict |
When it occurs
Section titled “When it occurs”The operation finished, but its stored response passed its retention period. The record and its state may still exist; only the response bytes are gone.
Client handling
Section titled “Client handling”The original response cannot be replayed. Use operation_state and operation_ref to learn the outcome, or ask an operator. This answer is not proof that no effect happened. A new key is safe only when safe_new_key is true.
Example response
Section titled “Example response”If your application installs a custom handler, the body may differ.
HTTP/1.1 409 ConflictContent-Type: application/problem+jsonCache-Control: no-store
{ "code": "operation_result_expired", "operation_ref": "AAAAAAAAAAAAAAAAAAAAAAAA", "operation_state": "completed", "safe_new_key": false, "status": 409, "title": "Conflict", "type": "https://echo.labstack.com/pro/problems/operation-result-expired"}Server correction
Section titled “Server correction”Provide an authorized application API for looking up the business result. Tell clients the Policy.ResultRetention window (24 hours by default). The retained key prevents rerunning work after the response expires.
Response fields
Section titled “Response fields”Execution middleware
Section titled “Execution middleware”type(string, always): The exact type URI above.title(string, always): The HTTP status text.status(integer, always): The HTTP status of the response.code(string, always): The stable code above.operation_ref(string, always): An opaque reference to the operation. It is set only afterReplayCheckallows the request, and is empty when no operation was found. Use it to look up the operation; it does not grant access.operation_state(string, always):started,uncertain,completedorfailed; empty when no operation was found.safe_new_key(boolean, always):trueonly when the client may retry with a new key. It is alwaysfalsewhenoperation_refandoperation_stateare empty.
Headers:
Cache-Control(always):no-storeon every execution problem.
Notes:
- Execution removes any
Idempotent-Replayedheader from problem responses.
Related behavior
Section titled “Related behavior”See execution for operation state and replay rules.