Charles Schwab Orders API

Place, retrieve, and cancel orders

Business capability
Trading Order Management BC-1370.30

Operations 4

GET /accounts/{accountNumber}/orders List orders for an account #
POST /accounts/{accountNumber}/orders Place a new order #
GET /accounts/{accountNumber}/orders/{orderId} Get a specific order #
DELETE /accounts/{accountNumber}/orders/{orderId} Cancel an order #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/charles-schwab-orders-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

charles-schwab-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Charles Schwab Trader Orders API
  description: REST API for accessing Charles Schwab retail brokerage accounts. Applications can list linked accounts, retrieve balances and positions, place and cancel equity and option orders, and read order and transaction history. Authentication uses OAuth 2.0 with three-legged authorization code flow; access tokens expire after 30 minutes and refresh tokens after 7 days.
  version: '1.0'
  contact:
    name: Schwab Developer Support
    url: https://developer.schwab.com/contact-us
  termsOfService: https://developer.schwab.com/terms
servers:
- url: https://api.schwabapi.com/trader/v1
  description: Schwab Trader Production
security:
- oauth2: []
tags:
- name: Orders
  description: Place, retrieve, and cancel orders
paths:
  /accounts/{accountNumber}/orders:
    get:
      operationId: listOrdersByAccount
      summary: List orders for an account
      tags:
      - Orders
      parameters:
      - name: accountNumber
        in: path
        required: true
        schema:
          type: string
      - name: fromEnteredTime
        in: query
        schema:
          type: string
          format: date-time
      - name: toEnteredTime
        in: query
        schema:
          type: string
          format: date-time
      - name: status
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Orders list
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Order'
    post:
      operationId: placeOrder
      summary: Place a new order
      tags:
      - Orders
      parameters:
      - name: accountNumber
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Order'
      responses:
        '201':
          description: Order accepted
  /accounts/{accountNumber}/orders/{orderId}:
    get:
      operationId: getOrder
      summary: Get a specific order
      tags:
      - Orders
      parameters:
      - name: accountNumber
        in: path
        required: true
        schema:
          type: string
      - name: orderId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Order details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
    delete:
      operationId: cancelOrder
      summary: Cancel an order
      tags:
      - Orders
      parameters:
      - name: accountNumber
        in: path
        required: true
        schema:
          type: string
      - name: orderId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Order canceled
components:
  schemas:
    Instrument:
      type: object
      properties:
        symbol:
          type: string
        cusip:
          type: string
        description:
          type: string
        assetType:
          type: string
          enum:
          - EQUITY
          - OPTION
          - INDEX
          - MUTUAL_FUND
          - FIXED_INCOME
          - CURRENCY
    Order:
      type: object
      required:
      - orderType
      - session
      - duration
      - orderStrategyType
      properties:
        orderId:
          type: string
        session:
          type: string
          enum:
          - NORMAL
          - AM
          - PM
          - SEAMLESS
        duration:
          type: string
          enum:
          - DAY
          - GOOD_TILL_CANCEL
          - FILL_OR_KILL
        orderType:
          type: string
          enum:
          - MARKET
          - LIMIT
          - STOP
          - STOP_LIMIT
          - TRAILING_STOP
        complexOrderStrategyType:
          type: string
        quantity:
          type: number
        filledQuantity:
          type: number
        remainingQuantity:
          type: number
        requestedDestination:
          type: string
        orderStrategyType:
          type: string
        status:
          type: string
        enteredTime:
          type: string
          format: date-time
        closeTime:
          type: string
          format: date-time
        orderLegCollection:
          type: array
          items:
            type: object
            properties:
              orderLegType:
                type: string
              instruction:
                type: string
                enum:
                - BUY
                - SELL
                - BUY_TO_OPEN
                - SELL_TO_CLOSE
                - SELL_SHORT
                - BUY_TO_COVER
              quantity:
                type: number
              instrument:
                $ref: '#/components/schemas/Instrument'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.schwabapi.com/v1/oauth/authorize
          tokenUrl: https://api.schwabapi.com/v1/oauth/token
          scopes:
            api: Access Schwab Trader and Market Data APIs
externalDocs:
  description: Schwab Trader API Documentation
  url: https://developer.schwab.com/products/trader-api--individual