Skip to content

conflict

The request conflicts with the object’s current state: for example, it changes something another request changed first.

HTTP 409 · invalid_request_error · not retryable

The request conflicts with the object’s current state: for example, it changes something another request changed first. The Gate sends it for an action in the wrong state:

Route Message
POST /v1/actions/{id}/cancel, while it runs This action is already executing, so it can't be cancelled.
POST /v1/actions/{id}/cancel, once it ended This action has already finished, so there is nothing to cancel.
POST /v1/actions/{id}/result, a second time A result was already reported for this action.
POST /v1/actions/{id}/result, after the deadline This action was already sealed as UNVERIFIABLE because its result arrived after the deadline.
POST /v1/actions/{id}/result, a gateway action This action runs in gateway mode, so Deedglass reported its result itself. Only proxy-mode actions take a result.
POST /v1/actions/{id}/result, not yet authorized This action hasn't been authorized to run yet, so it has no result to report. Wait for its approval: GET /v1/actions/{id}?wait=25.

Fetch the latest version of the object, then retry the change against it. For an action, GET /v1/actions/{id} shows its status; a late result stays with the edge.

HTTP 409 · conflict
{
"error": {
"type": "invalid_request_error",
"code": "conflict",
"message": "That conflicts with the current state. Fetch the latest version, then retry.",
"param": null,
"request_id": "req_01j9zr3m5k8q2w7x4t6v0b1c9d",
"doc_url": "https://docs.deedglass.com/errors/conflict"
}
}

The message is for a person and can get more exact over time: branch on type and code, never on the message.

SDK Raised as
TypeScript (@deedglass/sdk) InvalidRequestError with code === "conflict"
Python (deedglass) deedglass.InvalidRequestError with .code == "conflict"