The order lifecycle

5 min read · updated 2026-06-21

Every order SleeveFolio submits (manual or auto-executed) moves through the same lifecycle, mirrored from the broker into your Orders page:

  • WORKING: accepted at the broker, waiting to execute
  • PARTIAL: some quantity filled, the rest still working
  • FILLED: fully executed; the row shows the average fill price next to the quantity that filled
  • CANCELLED: pulled before completing, refused outright by the broker, or expired unfilled at the end of the trading day — with a reason category (who ended it: you, an automatic safety action, or the broker)

Duplicate-proof submission

Every order we send carries a fixed ID tag (the client_order_id). If a network hiccup or an automatic retry resubmits the same order, the broker recognizes the tag and refuses to fill it twice: the classic “did my retry just buy twice?” failure can’t happen (in the glossary: idempotent).

duplicate-proof submission · what we send the broker
POST /v2/orders
{
  "symbol": "AAPL",
  "qty": "10",
  "side": "buy",
  "client_order_id": "<stable per logical order>"
}

The environment tag

Orders record which environment placed them: paper and live history never blend, and cancelling and reconciliation (our routine cross-check against the broker) always talk to the right account, paper to paper, live to live.