400 Bad RequestDon't retry
no orders found to match with FAK order. FAK orders are partially filled or killed if no match is found.
A Fill-and-Kill order found no matching orders at all. At least one match is required.
A fill-and-kill order found nothing to match at all. FAK accepts partial fills but needs at least one.
Retry? Don't retry
Sending the same request again returns the same error. Change the request first.
Any authenticated CLOB endpoint can return this.
Handling it in code
The CLOB API returns errors as {"error": "..."}. It also rewrites status codes by message, so branch on the text: anything containing "not found" becomes 404 and anything containing "unauthorized" becomes 401.
r = session.post(url, json=payload, headers=headers)
if r.status_code >= 400:
msg = r.json().get("error", "")
if "no orders found to match with FAK order. FAK orders are part" in msg:
raise ValueError(msg) # fix the request, don't retryRelated errors
For errors Polymarket doesn't document, like "order manager not ready" or 403s from the edge, see the full error guide.
Message and status from Polymarket's error reference, synced 2026-10-04.