Documentation Index
Fetch the complete documentation index at: https://docs.adipredictstreet.com/llms.txt
Use this file to discover all available pages before exploring further.
Cancel a single order
Field-name conventions across the orders API:
- The cancel request and response use
orderId. - List/read endpoints (
GET /api/orders/open,/api/orders/history,/api/orders/{id}) return the same value underid. - The unfilled remainder is
remainingQtyeverywhere it surfaces (cancel response, order list/read). TreatorderIdandidas the same identifier for lookup; the variance is purely a request-vs-response convention.
Cancel all your open orders
marketId to cancel every open order for the authenticated
wallet (authenticated associatedWallet or the API-key’s associatedWallet).
Response:
Scope filters — marketId, side, outcome
All three are optional and combine freely. Empty body = wallet-wide cancel.
| Field | Type | Effect |
|---|---|---|
marketId | string | Cancel only orders for this market symbol |
side | "buy" / "sell" (case-insensitive) | Cancel only buys or only sells |
outcome | integer ≥ 0 | Cancel only orders for this outcome index (0 / 1 / …) |
/api/orders/open client-side and firing N cancel calls. Common
MM use case: a price spike on outcome 0 means “pull all my asks on
outcome 0 of this one market” without touching outcome-1 asks or any
buys — single call.
Under the hood
- Server calls
matcher.cancelOrderover gRPC.NOT_FOUNDis treated as idempotent success. - PG authoritative flip in a single tx:
UPDATE orders SET status='CANCELLED' WHERE id=$1 AND status IN ('PENDING','OPEN','PARTIAL')refundResidualLocked()— sums remaining locked, refunds to available.
- Double-cancel protection via the conditional WHERE.
Cancellation states
| Condition | Final status | Notes |
|---|---|---|
Order was OPEN or PARTIAL | CANCELLED | Residual refunded |
Order was FILLED | not_found from API | Terminal — nothing to cancel |
Order was already CANCELLED | not_found from API | Idempotent |
Market was RESOLVED / CANCELLED | CANCELLED_BY_RESOLVE (set by platform) | Your DELETE returns not_found |