satisfy_precondition
Fix code indicating a required precondition must be satisfied before the requested operation can proceed.
What this means
The Commerce API is telling you that your request is valid and your parameters are correct, but you need to complete a prerequisite operation or wait for a state change before this operation can succeed. This fix code appears when operations have explicit ordering requirements or depend on specific system states being established first. For example, if you complete an order when it hasn't been paid yet, you'll receive this fix code because payment is a precondition for completion—you need to pay for the order first to satisfy that precondition, then retry the completion request. Similarly, scheduling a payout before configuring payout destinations will result in this fix code, directing you to set up destinations as the prerequisite.
The error detail field will identify exactly which precondition is unmet and often hints at what you need to do. Unlike change_request_parameters where you modify your current request, this fix code tells you to perform a different API operation first (or wait for a state transition), and then retry your original request unchanged—the parameters were fine, you just attempted things out of order.
Example error response
{
"error": {
"type": "invalid_request_parameter",
"cause": "precondition_unmet",
"code": "1745",
"message": "order not paid",
"detail": "Cannot complete order `or_abc123` because it has not been paid. Pay for the order first to satisfy this precondition.",
"fix_code": "satisfy_precondition",
"url": "https://commerce.zebo.dev/e/1745"
}
}
Related errors
- precondition_unmet - Cause indicating missing precondition