List orders
Execution & Order Management (OMS)
/orders
List orders
listOrdersReturns your partner order history. Filter by status, symbol, or date range. Filters from/to are enforced against createdAt. ISO dates cover full UTC days. Sparse matches may yield an empty page with hasMore=true; follow nextCursor. Each call scans at most 1000 source records. Invalid limits, dates and cursors return 400.
Parameters
statusPENDING | WORKING | PARTIALLY_FILLED | PROCESSING | COMPLETED | FILLED | REJECTED | CANCELLED | EXPIREDquerysymbolstringqueryExample: SCOM.KE
fromstringqueryISO date (whole UTC day) or timezone-qualified ISO date-time; invalid or reversed bounds return 400.
Example: 2026-01-01
tostringqueryISO date (whole UTC day) or timezone-qualified ISO date-time; invalid or reversed bounds return 400.
Example: 2026-03-31
cursorstringqueryOpaque cursor from nextCursor of the previous response. Omit for the first page.
limitintegerqueryExample: 50
Headers
AuthorizationstringRequiredBearer sk_sandbox_<your_key> for sandbox requests.
Response fields
ordersobject[]Requiredorders[].orderIdstringUnique order ID. Use to poll status or cancel.
Example: "ord_abc123xyz"
orders[].symbolstringExample: "SCOM.KE"
orders[].namestringExample: "Safaricom PLC"
orders[].exchangestringExample: "NSE"
orders[].orderTypeMARKET | LIMIT | STOP | STOP_LIMITOrder type. MARKET orders are quote-gated; LIMIT/STOP/STOP_LIMIT rest as WORKING until triggered.
Example: "LIMIT"
orders[].limitPricenumber | nullLimit price in the stock's local currency (LIMIT / STOP_LIMIT only).
orders[].stopPricenumber | nullStop price in the stock's local currency (STOP / STOP_LIMIT only).
orders[].cancelablebooleanWhether the order can be cancelled now (DELETE). True while PENDING or WORKING.
orders[].replaceablebooleanWhether the order can be modified now (PATCH). True only for a WORKING resting order.
orders[].typeBUY | SELLorders[].statusPENDING | WORKING | PARTIALLY_FILLED | PROCESSING | COMPLETED | FILLED | REJECTED | CANCELLED | EXPIREDPENDING after submission. WORKING = resting LIMIT/STOP/STOP_LIMIT order waiting for its trigger price (becomes PENDING on trigger). PARTIALLY_FILLED and FILLED are the canonical execution states. REJECTED, CANCELLED, and EXPIRED are terminal outcomes. PROCESSING is a legacy transition alias and COMPLETED is a v1 compatibility alias of FILLED; neither represents custody settlement. Settlement is tracked separately as PENDING, SETTLED, or FAILED.
orders[].quoteIdstring | nullPre-trade quote ID consumed by this order.
orders[].quoteExpiresAtstring | nullorders[].quoteUsdPricenumber | nullorders[].clientOrderIdstring | nullPartner-supplied order reference.
orders[].omsStatusstring | nullCanonical OMS lifecycle status.
orders[].timeInForcestring | nullorders[].filledQuantitynumberorders[].remainingQuantitynumberorders[].averageFillPricenumber | nullorders[].executionVenuestring | nullorders[].lastExecutionReportIdstring | nullorders[].executionSlaunionLive execution SLA clock for orders that have entered the PENDING dealing-desk queue. Null while a resting order is still WORKING.
orders[].quantityintegerorders[].priceAtOrdernumberStock price in local currency at submission.
orders[].usdPriceAtOrdernumberUSD equivalent of priceAtOrder.
orders[].fxRateAtOrdernumber | nullManaged FX rate used for local-to-USD conversion at order submission.
orders[].fxSourcestring | nullorders[].fxRateAsOfstring | nullorders[].fxConversionunionorders[].feenumberTotal fee in USD (base + partner markup).
orders[].baseFeenumberMyStocks base broker fee (0.75% of gross).
orders[].partnerMarkupFeenumberYour markup fee component. Zero if markupBps = 0.
orders[].totalAmountnumberBUY: gross + fee. SELL: gross - fee.
orders[].currencystringExample: "USD"
orders[].localCurrencystringExample: "KES"
orders[].rejectionCodestring | nullStructured rejection code. Populated when status = REJECTED.
orders[].rejectionReasonstring | nullFree-text rejection detail provided by the MyStocks internal-book execution service. Populated when status = REJECTED.
orders[].cancelledAtstring | nullorders[].settledAtstring | nullSet when custody settlement completes; independent of the canonical FILLED execution state. Legacy completed records that pre-date this field return their immutable completion/creation timestamp as compatibility evidence.
orders[].createdAtstringcountintegerRequiredhasMorebooleanRequirednextCursorstring | nullRequiredResponse codes
200Order list.