openapi: 3.0.0
info:
  title: TD Ameritrade API - OAuth2
  description: This is replication of the TD Ameritrade API.
  version: 0.1.4
servers:
- url: https://api.tdameritrade.com/v1
security:
- application:
  - read
  - write
paths:
  /oauth2/token:
    post:
      tags:
      - Authentication
      summary: Post Access Token
      description: The token endpoint returns an access token along with an optional
        refresh token.
      operationId: oauth2TokenPOST
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PostAccessBody'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EASObject'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass valid credentials
            in the request body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller doesn't have access
            to the account in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "503":
          description: An error message indicating there is a temporary problem responding.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security: []
      x-swagger-router-controller: Authentication
  /accounts/{accountId}/orders/{orderId}:
    get:
      tags:
      - Orders
      summary: Get Order
      description: Get a specific order for a specific account.
      operationId: accountsAccountIdOrdersOrderIdGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: orderId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderGet'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Orders
    put:
      tags:
      - Orders
      summary: Replace Order
      description: Replace an existing order for an account. The existing order will
        be replaced by the new order. Once replaced, the old order will be canceled
        and a new order will be created. See our Place Order Samples Guide - https://developer.tdameritrade.com/content/place-order-samples.
      operationId: accountsAccountIdOrdersOrderIdPUT
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: orderId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderGet'
      responses:
        "200":
          description: OK
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message if the order was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Orders
    delete:
      tags:
      - Orders
      summary: Cancel Order
      description: Cancel a specific order for a spcific account
      operationId: accountsAccountIdOrdersOrderIdDELETE
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: orderId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message if the order was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Orders
  /accounts/{accountId}/orders:
    get:
      tags:
      - Orders
      summary: Get Orders by Path
      description: Orders for a specific account.
      operationId: accountsAccountIdOrdersGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: maxResults
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: fromEnteredTime
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      - name: toEnteredTime
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      - name: status
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - AWAITING_PARENT_ORDER
          - AWAITING_CONDITION
          - AWAITING_MANUAL_REVIEW
          - ACCEPTED
          - AWAITING_UR_OUT
          - PENDING_ACTIVATION
          - QUEUED
          - WORKING
          - REJECTED
          - PENDING_CANCEL
          - CANCELED
          - PENDING_REPLACE
          - REPLACED
          - FILLED
          - EXPIRED
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderGet'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Orders
  /orders:
    get:
      tags:
      - Orders
      summary: Get Orders By Query
      description: All orders for a specific account or, if account ID isn't specified,
        orders will be returned for all linked accounts.
      operationId: ordersGET
      parameters:
      - name: accountId
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: maxResults
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: fromEnteredTime
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      - name: toEnteredTime
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      - name: status
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - AWAITING_PARENT_ORDER
          - AWAITING_CONDITION
          - AWAITING_MANUAL_REVIEW
          - ACCEPTED
          - AWAITING_UR_OUT
          - PENDING_ACTIVATION
          - QUEUED
          - WORKING
          - REJECTED
          - PENDING_CANCEL
          - CANCELED
          - PENDING_REPLACE
          - REPLACED
          - FILLED
          - EXPIRED
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderGet'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Orders
    post:
      tags:
      - Orders
      summary: Place Order
      description: Place an order for a specific account. See our Place Order Samples
        Guide - https://developer.tdameritrade.com/content/place-order-samples.
      operationId: ordersPOST
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      requestBody:
        content:
          application/Json:
            schema:
              $ref: '#/components/schemas/OrderGet'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderGet'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Orders
  /accounts/{accountId}/savedorders:
    get:
      tags:
      - Saved Orders
      summary: Get Saved Orders by Path
      description: Saved orders for a specific account.
      operationId: accountsAccountIdSavedordersGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderGet'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: SavedOrders
    post:
      tags:
      - Saved Orders
      summary: Create Saved Orders
      description: Save an order for a specific account. See our Place Order Samples
        Guide - https://developer.tdameritrade.com/content/place-order-samples.
      operationId: accountsAccountIdSavedordersPOST
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      requestBody:
        content:
          application/Json:
            schema:
              $ref: '#/components/schemas/OrderGet'
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderGet'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EASObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: SavedOrders
  /accounts/{accountId}/savedorders/{savedOrderId}:
    get:
      tags:
      - Saved Orders
      summary: Get Saved Orders
      description: Specific saved order by its ID, for a specific account.
      operationId: accountsAccountIdSavedordersSavedOrderIdGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: savedOrderId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderGet'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: SavedOrders
    put:
      tags:
      - Saved Orders
      summary: Replace Saved Orders
      description: Replace an existing saved order for an account. The existing saved
        order will be replaced by the new order. see our Place Order Samples Guide
        - Click here.
      operationId: accountsAccountIdSavedordersSavedOrderIdPUT
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: savedOrderId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderGet'
      responses:
        "200":
          description: OK
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message if the order was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: SavedOrders
    delete:
      tags:
      - Saved Orders
      summary: Delete Saved Orders
      description: Delete a specific saved order for a specific account.
      operationId: accountsAccountIdSavedordersSavedOrderIdDELETE
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: savedOrderId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EASObject'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message if the order was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: SavedOrders
  /accounts:
    get:
      tags:
      - Accounts
      summary: Get Accounts
      description: Account balances, positions, and orders for all linked accounts.
      operationId: accountsGET
      parameters:
      - name: fields
        in: query
        description: 'Balances displayed by default, additional fields can be added
          here by adding positions or orders. Example: fields=positions,orders'
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "207":
          description: Indicates there was a problem getting account data for one
            or more linked accounts, but the accounts who's data returned successfully
            is in the response. Do not aggregate balances and positions for this case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Accounts
  /accounts/{accountId}:
    get:
      tags:
      - Accounts
      summary: Get Account
      description: Account balances, positions, and orders for a specific account.
      operationId: accountsAccountIdGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
      - name: fields
        in: query
        description: 'Balances displayed by default, additional fields can be added
          here by adding positions or orders. Example: fields=positions,orders'
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Accounts
  /marketdata/hours:
    get:
      tags:
      - Market Hours
      summary: Get Hours for Multiple Markets
      operationId: marketdataHoursGET
      parameters:
      - name: apiKey
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: markets
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - EQUITY
          - OPTION
          - FUTURE
          - BOND
          - FOREX
      - name: date
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hours'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: MarketHours
  /marketdata/{market}/hours:
    get:
      tags:
      - Market Hours
      summary: Get Hours for Multiple Markets
      operationId: marketdataMarketHoursGET
      parameters:
      - name: apiKey
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: market
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: date
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Hours'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: MarketHours
  /marketdata/{index}/movers:
    get:
      tags:
      - Movers
      summary: Get price history for a symbol
      operationId: marketdataIndexMoversGET
      parameters:
      - name: index
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: apikey
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: direction
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - up
          - down
      - name: change
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - value
          - percent
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mover'
        "400":
          description: An error message indicating the caller must pass a correct
            value in the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating movers for the instrument was not
            found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Movers
  /marketdata/{symbol}/pricehistory:
    get:
      tags:
      - Price History
      summary: Get price history for a symbol
      operationId: marketdataSymbolPricehistoryGET
      parameters:
      - name: symbol
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: apikey
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: periodType
        in: query
        required: false
        style: form
        explode: true
        schema:
          $ref: '#/components/schemas/PeriodType'
      - name: period
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: frequencyType
        in: query
        required: false
        style: form
        explode: true
        schema:
          $ref: '#/components/schemas/FrequencyType'
      - name: frequency
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: endDate
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: startDate
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: needExtendedHoursData
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: boolean
          default: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CandleList'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: PriceHistory
  /marketdata/quotes:
    get:
      tags:
      - Quotes
      summary: Get Quotes
      description: Get quote for one or more symbols
      operationId: marketdataQuotesGET
      parameters:
      - name: apikey
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: symbol
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetQuoteResponse'
        "400":
          description: An error message indicating the caller must pass a non null
            value in the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the instrument for the symbol/cusip
            was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "406":
          description: An error message indicating an issue in the symbol regex, or
            number of symbols searched is over the maximum.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Quotes
  /marketdata/{symbol}/quotes:
    get:
      tags:
      - Quotes
      summary: Get Quote
      description: Get quote for a symbol
      operationId: marketdataSymbolQuotesGET
      parameters:
      - name: symbol
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: apikey
        in: query
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetQuoteResponse'
        "400":
          description: An error message indicating the caller must pass a non null
            value in the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the instrument for the symbol/cusip
            was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Quotes
  /marketdata/chains:
    get:
      tags:
      - Option Chains
      summary: Get Option Chain
      description: Get option chain for an optionable Symbol
      operationId: marketdataChainsGET
      parameters:
      - name: apikey
        in: query
        description: Pass your OAuth User ID to make an unauthenticated request for
          delayed data.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: symbol
        in: query
        description: Enter one symbol
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: contractType
        in: query
        description: Type of contracts to return in the chain. Can be CALL, PUT, or
          ALL. Default is ALL.
        required: false
        style: form
        explode: true
        schema:
          type: string
          default: ALL
          enum:
          - CALL
          - PUT
          - ALL
      - name: strikeCount
        in: query
        description: The number of strikes to return above and below the at-the-money
          price.
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: includeQuotes
        in: query
        description: Include quotes for options in the option chain. Can be TRUE or
          FALSE. Default is FALSE.
        required: false
        style: form
        explode: true
        schema:
          type: boolean
          default: false
      - name: strategy
        in: query
        description: Passing a value returns a Strategy Chain. Possible values are
          SINGLE, ANALYTICAL (allows use of the volatility, underlyingPrice, interestRate,
          and daysToExpiration params to calculate theoretical values), COVERED, VERTICAL,
          CALENDAR, STRANGLE, STRADDLE, BUTTERFLY, CONDOR, DIAGONAL, COLLAR, or ROLL.
          Default is SINGLE.
        required: false
        style: form
        explode: true
        schema:
          $ref: '#/components/schemas/Strategy'
      - name: interval
        in: query
        description: Strike interval for spread strategy chains (see strategy param).
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: strike
        in: query
        description: Provide a strike price to return options only at that strike
          price.
        required: false
        style: form
        explode: true
        schema:
          type: number
      - name: range
        in: query
        description: 'Returns options for the given range. Possible values are: ITM:
          In-the-money NTM: Near-the-money OTM: Out-of-the-money SAK: Strikes Above
          Market SBK: Strikes Below Market SNK: Strikes Near Market ALL: All Strikes
          Default is ALL.'
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - ITM
          - NTM
          - OTM
          - SAK
          - SBK
          - SNK
          - ALL
      - name: fromDate
        in: query
        description: 'Only return expirations after this date. For strategies, expiration
          refers to the nearest term expiration in the strategy. Valid ISO-8601 formats
          are: yyyy-MM-dd and yyyy-MM-ddTHH:mm:ssz.'
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      - name: toDate
        in: query
        description: 'Only return expirations before this date. For strategies, expiration
          refers to the nearest term expiration in the strategy. Valid ISO-8601 formats
          are: yyyy-MM-dd and yyyy-MM-ddTHH:mm:ssz.'
        required: false
        style: form
        explode: true
        schema:
          type: string
          format: date-time
      - name: volatility
        in: query
        description: Volatility to use in calculations. Applies only to ANALYTICAL
          strategy chains (see strategy param).
        required: false
        style: form
        explode: true
        schema:
          type: number
      - name: underlyingPrice
        in: query
        description: Underlying price to use in calculations. Applies only to ANALYTICAL
          strategy chains (see strategy param).
        required: false
        style: form
        explode: true
        schema:
          type: number
      - name: interestRate
        in: query
        description: Interest rate to use in calculations. Applies only to ANALYTICAL
          strategy chains (see strategy param).
        required: false
        style: form
        explode: true
        schema:
          type: number
      - name: daysToExpiration
        in: query
        description: Days to expiration to use in calculations. Applies only to ANALYTICAL
          strategy chains (see strategy param)
        required: false
        style: form
        explode: true
        schema:
          type: integer
      - name: expMonth
        in: query
        description: 'Return only options expiring in the specified month. Month is
          given in the three character format. Example: JAN Default is ALL.'
        required: false
        style: form
        explode: true
        schema:
          type: string
          default: ALL
      - name: optionType
        in: query
        description: 'Type of contracts to return. Possible values are: S: Standard
          contract NS: Non-standard contract ALL: All contracts Default is ALL.'
        required: false
        style: form
        explode: true
        schema:
          type: string
          default: ALL
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOptionChainResponse'
        "400":
          description: An error message indicating the caller must pass a non null
            value in the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the optionchain for the symbol
            was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating internal error in the service.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: OptionChains
  /accounts/{accountId}/preferences:
    get:
      tags:
      - User Info & Preferences
      summary: Get Preferences
      description: Preferences for a specific account.
      operationId: accountsAccountIdPreferencesGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Preferences'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "503":
          description: An error message indicating there is a temporary problem responding.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: UserInfoPreferences
    put:
      tags:
      - User Info & Preferences
      summary: Update Preferences
      description: Update preferences for a specific account. Please note that the
        directOptionsRouting and directEquityRouting values cannot be modified via
        this operation.
      operationId: accountsAccountIdPreferencesPUT
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Preferences'
      responses:
        "200":
          description: OK
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller is forbidden from accessing
            this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "503":
          description: An error message indicating there is a temporary problem responding.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: UserInfoPreferences
  /accounts/watchlists:
    get:
      tags:
      - Watchlist
      summary: Get Watchlists for Multiple Accounts
      description: All watchlists for all of the user's linked accounts.
      operationId: accountsWatchlistsGET
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WatchListResponse'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Watchlist
  /accounts/{accountId}/watchlists/{watchlistId}:
    get:
      tags:
      - Watchlist
      summary: Get Watchlists
      description: Specific watchlist for a specific account.
      operationId: accountsAccountIdWatchlistsWatchlistIdGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: watchlistId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WatchListResponse'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the account or the watchlist ID
            does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Watchlist
    put:
      tags:
      - Watchlist
      summary: Replace Watchlist
      description: Replace watchlist for a specific account.
      operationId: accountsAccountIdWatchlistsWatchlistIdPUT
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: watchlistId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WatchListRequest'
      responses:
        "200":
          description: OK
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "204":
          description: Watchlist updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Watchlist
    patch:
      tags:
      - Watchlist
      summary: Update Watchlist
      description: 'Partially update watchlist for a specific account: change watchlist
        name, add to the beginning/end of a watchlist, update or delete items in a
        watchlist. This method does not verify that the symbol or asset type are valid.'
      operationId: accountsAccountIdWatchlistsWatchlistIdPATCH
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: watchlistId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WatchListRequest'
      responses:
        "200":
          description: OK
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "204":
          description: Watchlist updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Watchlist
  /accounts/{accountId}/watchlists:
    get:
      tags:
      - Watchlist
      summary: Get Watchlists for Single Account
      description: all watchlist for an account.
      operationId: accountsAccountIdWatchlistsGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WatchListResponse'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Watchlist
    post:
      tags:
      - Watchlist
      summary: Create Watchlist
      description: Create watchlist for specific account.This method does not verify
        that the symbol or asset type are valid.
      operationId: accountsAccountIdWatchlistsPOST
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WatchListRequest'
      responses:
        "200":
          description: OK
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Watchlist
  /accounts/{accountId}/transactions:
    get:
      tags:
      - Transactions
      summary: Get Transactions
      description: Transaction for a specific account.
      operationId: accountsAccountIdTransactionsGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: type
        in: query
        description: Only transactions with the specified type will be returned.
        required: false
        style: form
        explode: true
        schema:
          type: string
          enum:
          - ALL
          - TRADE
          - BUY_ONLY
          - SELL_ONLY
          - CASH_IN_OR_CASH_OUT
          - CHECKING
          - DIVEDEND
          - INTEREST
          - OTHER
          - ADVISOR_FEES
      - name: symbol
        in: query
        description: Only transactions with the specified symbol will be returned.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: startDate
        in: query
        description: 'Only transactions after the Start Date will be returned. Note:
          The maximum date range is one year. Valid ISO-8601 formats are : yyyy-MM-dd.'
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: endDate
        in: query
        description: 'Only transactions after the end Date will be returned. Note:
          The maximum date range is one year. Valid ISO-8601 formats are : yyyy-MM-dd.'
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller doesn't have access
            to the account in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the specified transaction could
            not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "503":
          description: An error message indicating there is a temporary problem responding.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Transactions
  /accounts/{accountId}/transactions/{transactionId}:
    get:
      tags:
      - Transactions
      summary: Get Transaction
      description: Transaction for a specific account.
      operationId: accountsAccountIdTransactionsTransactionIdGET
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: transactionId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transaction'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid Authorization
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: An error message indicating the caller doesn't have access
            to the account in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the specified transaction could
            not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "503":
          description: An error message indicating there is a temporary problem responding.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Transactions
  /userprincipals:
    get:
      tags:
      - User Info & Preferences
      summary: Get User Principals
      description: User Principal details.
      operationId: userprincipalsGET
      parameters:
      - name: fields
        in: query
        description: 'A comma separated String which allows one to specify additional
          fields to return. None of these fields are returned by default. Possible
          values in this String can be: streamerSubscriptionKeys,streamerConnectionInfo,preferences,
          surrogateIds. Example: fields=streamerSubscriptionKeys,streamerConnectionInfo'
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPrincipal'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "503":
          description: An error message indicating there is a temporary problem responding.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: UserInfoPreferences
  /userprincipals/streamersubscriptionkeys:
    get:
      tags:
      - User Info & Preferences
      summary: Get Streamer Subscription Keys
      description: SubscriptionKey for provided accounts or default accounts.
      operationId: userprincipalsStreamersubscriptionkeysGET
      parameters:
      - name: accountIds
        in: query
        description: A comma separated string of account IDs, to fetch subscription
          keys for each of them.
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionKey'
        "400":
          description: An error message indicating the validation problem with the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: An error message indicating the caller must pass a valid AuthToken
            in the HTTP authorization request header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "500":
          description: An error message indicating there was an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "503":
          description: An error message indicating there is a temporary problem responding.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: UserInfoPreferences
  /instruments/{cusip}:
    get:
      tags:
      - Instruments
      summary: Get Instrument
      description: Get an instrument by CUSIP
      operationId: instrumentsCusipGET
      parameters:
      - name: cusip
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      - name: apikey
        in: query
        description: Pass your OAuth User ID to make an unauthenticated request for
          delayed data.
        required: false
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchInstrumentResponse'
        "400":
          description: An error message indicating the caller must pass a non null
            value in the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the instrument for the symbol/cusip
            was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Instruments
  /instruments:
    get:
      tags:
      - Instruments
      summary: Search Instruments
      description: Search or retrieve instrument data, including fundamental data
      operationId: instrumentsGET
      parameters:
      - name: apikey
        in: query
        description: Pass your OAuth User ID to make an unauthenticated request for
          delayed data.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: symbol
        in: query
        description: Value to pass to the search. See projection description for more
          information.
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: projection
        in: query
        description: 'The type of request: symbol-search: Retrieve instrument data
          of a specific symbol or cusip symbol-regex: Retrieve instrument data for
          all symbols matching regex. Example: symbol=XYZ.* will return all symbols
          beginning with XYZ desc-search: Retrieve instrument data for instruments
          whose description contains the word supplied. Example: symbol=FakeCompany
          will return all instruments with FakeCompany in the description. desc-regex:
          Search description with full regex support. Example: symbol=XYZ.[A-C] returns
          all instruments whose descriptions contain a word beginning with XYZ followed
          by a character A through C. fundamental: Returns fundamental data for a
          single instrument specified by exact symbol.'
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchInstrumentResponse'
        "400":
          description: An error message indicating the caller must pass a non null
            value in the parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "404":
          description: An error message indicating the instrument for the symbol/cusip
            was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
        "406":
          description: An error message indicating an issue in the symbol regex, or
            number of symbols searched is over the maximum.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorObject'
      security:
      - bearerAuth: []
      x-swagger-router-controller: Instruments
components:
  schemas:
    WatchListRequest:
      required:
      - name
      - watchlistItems
      type: object
      properties:
        name:
          type: string
        watchlistId:
          type: string
        watchlistItems:
          type: array
          items:
            $ref: '#/components/schemas/WatchListRequest_watchlistItems'
    UserPrincipal:
      type: object
      properties:
        authToken:
          type: string
        userId:
          type: string
        userCdDomainId:
          type: string
        primaryAccountId:
          type: string
        lastLoginTime:
          type: string
          format: date-time
        tokenExpirationTime:
          type: string
          format: date-time
        loginTime:
          type: string
          format: date-time
        accessLevel:
          type: string
        stalePassword:
          type: boolean
          default: false
        streamerInfo:
          $ref: '#/components/schemas/UserPrincipal_streamerInfo'
        professionalStatus:
          type: string
          enum:
          - PROFESSIONAL
          - NON_PROFESSIONAL
          - UNKNOWN_STATUS
        quotes:
          $ref: '#/components/schemas/UserPrincipal_quotes'
        streamerSubscriptionKeys:
          $ref: '#/components/schemas/UserPrincipal_streamerSubscriptionKeys'
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/UserPrincipal_accounts'
      example:
        accessLevel: accessLevel
        streamerInfo:
          streamerSocketUrl: streamerSocketUrl
          accessLevel: accessLevel
          streamerBinaryUrl: streamerBinaryUrl
          appId: appId
          acl: acl
          userGroup: userGroup
          tokenTimestamp: 2000-01-23T04:56:07.000+00:00
          token: token
        professionalStatus: PROFESSIONAL
        authToken: authToken
        userCdDomainId: userCdDomainId
        userId: userId
        tokenExpirationTime: 2000-01-23T04:56:07.000+00:00
        quotes:
          isForexDelayed: false
          isOpraDelayed: false
          isAmexDelayed: false
          isNasdaqDelayed: false
          isIceDelayed: false
          isCmeDelayed: false
          isNyseDelayed: false
        lastLoginTime: 2000-01-23T04:56:07.000+00:00
        loginTime: 2000-01-23T04:56:07.000+00:00
        stalePassword: false
        primaryAccountId: primaryAccountId
        streamerSubscriptionKeys:
          schema:
            keys:
            - key: key
            - key: key
        accounts:
        - accountId: accountId
          preferences:
            directOptionsRouting: false
            defaultEquityOrderLegInstruction: BUY
            expressTrading: false
            authTokenTimeout: FIFTY_FIVE_MINUTES
            defaultEquityQuantity: 0
            defaultEquityOrderType: MARKET
            defaultEquityOrderDuration: DAY
            mutualFundTaxLotMethod:
              schema: FIFO
            defaultAdvancedToolLaunch: TA
            defaultEquityOrderPriceLinkType: VALUE
            directEquityRouting: false
            defaultEquityOrderMarketSession: AM
          displayName: displayName
          segment: segment
          authorizations:
            levelTwoQuotes: false
            optionTradingLevel: COVERED
            streamerAccess: false
            marginTrading: false
            streamingNews: false
            scottradeAccount: false
            advancedMargin: false
            apex: false
            stockTrading: false
          description: description
          company: company
          acl: acl
          surrogateIds:
            key: surrogateIds
          accountCdDomainId: accountCdDomainId
        - accountId: accountId
          preferences:
            directOptionsRouting: false
            defaultEquityOrderLegInstruction: BUY
            expressTrading: false
            authTokenTimeout: FIFTY_FIVE_MINUTES
            defaultEquityQuantity: 0
            defaultEquityOrderType: MARKET
            defaultEquityOrderDuration: DAY
            mutualFundTaxLotMethod:
              schema: FIFO
            defaultAdvancedToolLaunch: TA
            defaultEquityOrderPriceLinkType: VALUE
            directEquityRouting: false
            defaultEquityOrderMarketSession: AM
          displayName: displayName
          segment: segment
          authorizations:
            levelTwoQuotes: false
            optionTradingLevel: COVERED
            streamerAccess: false
            marginTrading: false
            streamingNews: false
            scottradeAccount: false
            advancedMargin: false
            apex: false
            stockTrading: false
          description: description
          company: company
          acl: acl
          surrogateIds:
            key: surrogateIds
          accountCdDomainId: accountCdDomainId
    SubscriptionKey:
      type: object
      properties:
        keys:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionKey_keys'
      example:
        keys:
        - key: key
        - key: key
    Preferences:
      required:
      - authTokenTimeout
      - defaultAdvancedToolLaunch
      - defaultEquityOrderDuration
      - defaultEquityOrderLegInstruction
      - defaultEquityOrderMarketSession
      - defaultEquityOrderPriceLinkType
      - defaultEquityOrderType
      - defaultEquityQuantity
      - equityTaxLotMethod
      - expressTrading
      - mutualFundTaxLotMethod
      - optionTaxLotMethod
      type: object
      properties:
        expressTrading:
          type: boolean
          default: false
        directOptionsRouting:
          type: boolean
          default: false
        directEquityRouting:
          type: boolean
          default: false
        defaultEquityOrderLegInstruction:
          type: string
          enum:
          - BUY
          - SELL
          - BUY_TO_COVER
          - SELL_SHORT
          - NONE
        defaultEquityOrderType:
          type: string
          enum:
          - MARKET
          - LIMIT
          - STOP
          - STOP_LIMIT
          - TRAILING_STOP
          - MARKET_ON_CLOSE
          - NONE
        defaultEquityOrderPriceLinkType:
          type: string
          enum:
          - VALUE
          - PERCENT
          - NONE
        defaultEquityOrderDuration:
          type: string
          enum:
          - DAY
          - GOOD_TILL_CANCEL
          - NONE
        defaultEquityOrderMarketSession:
          type: string
          enum:
          - AM
          - PM
          - NORMAL
          - SEAMLESS
          - NONE
        defaultEquityQuantity:
          minimum: 0
          type: integer
          format: int32
        mutualFundTaxLotMethod:
          $ref: '#/components/schemas/UserPrincipal_preferences_mutualFundTaxLotMethod'
        optionTaxLotMethod:
          $ref: '#/components/schemas/UserPrincipal_preferences_mutualFundTaxLotMethod'
        equityTaxLotMethod:
          $ref: '#/components/schemas/UserPrincipal_preferences_mutualFundTaxLotMethod'
        defaultAdvancedToolLaunch:
          type: string
          enum:
          - TA
          - "N"
          - "Y"
          - TOS
          - NONE
          - CC2
        authTokenTimeout:
          type: string
          enum:
          - FIFTY_FIVE_MINUTES
          - TWO_HOURS
          - FOUR_HOURS
          - EIGHT_HOURS
      example:
        directOptionsRouting: false
        defaultEquityOrderLegInstruction: BUY
        expressTrading: false
        authTokenTimeout: FIFTY_FIVE_MINUTES
        defaultEquityQuantity: 0
        defaultEquityOrderType: MARKET
        defaultEquityOrderDuration: DAY
        mutualFundTaxLotMethod:
          schema: FIFO
        defaultAdvancedToolLaunch: TA
        defaultEquityOrderPriceLinkType: VALUE
        directEquityRouting: false
        defaultEquityOrderMarketSession: AM
    LotMethod:
      type: string
      enum:
      - FIFO
      - LIFO
      - HIGH_COST
      - LOW_COST
      - MINIMUM_TAX
      - AVERAGE_COST
      - NONE
    Transaction:
      type: object
      properties:
        type:
          type: string
          enum:
          - TRADE
          - RECEIVE_AND_DELIVER
          - DIVIDEND_OR_INTEREST
          - ACH_RECEIPT
          - ACH_DISBURSEMENT
          - CASH_RECEIPT
          - CASH_DISBURSEMENT
          - ELECTRONIC_FUND
          - WIRE_OUT
          - WIRE_IN
          - JOURNAL
          - MEMORANDUM
          - MARGIN_CALL
          - MONEY_MARKET
          - SMA_ADJUSTMENT
        clearingReferenceNumber:
          type: string
        subAccount:
          type: string
        settlementDate:
          type: string
          format: date-time
        orderId:
          type: string
        sma:
          type: number
          format: double
        requirementReallocationAmount:
          type: number
          format: double
        dayTradeBuyingPowerEffect:
          type: number
          format: double
        netAmount:
          type: number
          format: double
        transactionDate:
          type: string
          format: date-time
        orderDate:
          type: string
          format: date-time
        transactionSubType:
          type: string
        transactionId:
          type: integer
          format: int64
        cashBalanceEffectFlag:
          type: boolean
          default: false
        description:
          type: string
        achStatus:
          type: string
          enum:
          - Approved
          - Rejected
          - Cancel
          - Error
        accruedInterest:
          type: number
          format: double
        fees:
          type: object
          additionalProperties:
            type: number
            format: double
        transactionItem:
          $ref: '#/components/schemas/Transaction_transactionItem'
      example:
        fees:
          key: 7.061401241503109105224211816675961017608642578125
        clearingReferenceNumber: clearingReferenceNumber
        orderId: orderId
        netAmount: 5.962133916683182377482808078639209270477294921875
        achStatus: Approved
        sma: 0.80082819046101150206595775671303272247314453125
        description: description
        accruedInterest: 2.3021358869347654518833223846741020679473876953125
        settlementDate: 2000-01-23T04:56:07.000+00:00
        type: TRADE
        transactionDate: 2000-01-23T04:56:07.000+00:00
        subAccount: subAccount
        transactionId: 5
        transactionSubType: transactionSubType
        transactionItem:
          accountId: 9
          amount: 3.61607674925191080461672754609026014804840087890625
          cost: 4.1456080298839363962315474054776132106781005859375
          price: 2.027123023002321833274663731572218239307403564453125
          instruction: BUY
          instrument:
            symbol: symbol
            cusip: cusip
            underlyingSymbol: underlyingSymbol
            optionStrikePrice: 1.231513536777255612975068288506008684635162353515625
            bondInterestRate: 1.024645700144157789424070870154537260532379150390625
            description: description
            bondMaturityDate: 2000-01-23T04:56:07.000+00:00
            putCall: PUT
            optionExpirationDate: 2000-01-23T04:56:07.000+00:00
            assetType: EQUITY
          parentOrderKey: 7
          positionEffect: OPENING
          parentChildIndicator: parentChildIndicator
        dayTradeBuyingPowerEffect: 1.46581298050294517310021547018550336360931396484375
        requirementReallocationAmount: 6.02745618307040320615897144307382404804229736328125
        cashBalanceEffectFlag: false
        orderDate: 2000-01-23T04:56:07.000+00:00
    OptionChain:
      type: object
      properties:
        symbol:
          type: string
        status:
          type: string
        underlying:
          $ref: '#/components/schemas/OptionChain_underlying'
        strategy:
          $ref: '#/components/schemas/OptionChain_strategy'
        interval:
          type: number
          format: double
        isDelayed:
          type: boolean
        isIndex:
          type: boolean
        daysToExpiration:
          type: number
          format: double
        interestRate:
          type: number
          format: double
        underlyingPrice:
          type: number
          format: double
        volatility:
          type: number
          format: double
        callExpDateMap:
          type: object
          additionalProperties:
            type: object
        putExpDateMap:
          type: object
          additionalProperties:
            type: object
    ExpirationDate:
      type: object
      properties:
        date:
          type: string
    Underlying:
      type: object
      properties:
        ask:
          type: number
          format: double
        askSize:
          type: integer
          format: int32
        bid:
          type: number
          format: double
        bidSize:
          type: integer
          format: int32
        change:
          type: number
          format: double
        close:
          type: number
          format: double
        delayed:
          type: boolean
        description:
          type: string
        exchangeName:
          type: string
          enum:
          - IND
          - ASE
          - NYS
          - NAS
          - NAP
          - PAC
          - OPR
          - BATS
        fiftyTwoWeekHigh:
          type: number
          format: double
        fiftyTwoWeekLow:
          type: number
          format: double
        highePrice:
          type: number
          format: double
        last:
          type: number
          format: double
        lowPrice:
          type: number
          format: double
        mark:
          type: number
          format: double
        markChange:
          type: number
          format: double
        makrPercentChange:
          type: number
          format: double
        openPrice:
          type: number
          format: double
        percentChange:
          type: number
          format: double
        quoteTime:
          type: integer
          format: int64
        symbol:
          type: string
        totalVolume:
          type: integer
          format: int64
        tradeTime:
          type: integer
          format: int64
    StrikePriceMap:
      type: object
    Strategy:
      type: string
      enum:
      - SINGLE
      - ANALYTICAL
      - COVERED
      - VERTICAL
      - CALENDAR
      - STRANGLE
      - STRADDLE
      - BUTTERFLY
      - CONDOR
      - DIAGONAL
      - COLLAR
      - ROLL
    Mover:
      type: object
      properties:
        change:
          type: number
          format: double
        description:
          type: string
        direction:
          type: string
          enum:
          - up
          - down
        last:
          type: number
          format: double
        symbol:
          type: string
        totalVolume:
          type: integer
          format: int64
      example:
        totalVolume: 1
        symbol: symbol
        last: 6.02745618307040320615897144307382404804229736328125
        change: 0.80082819046101150206595775671303272247314453125
        description: description
        direction: up
    Hours:
      type: object
      properties:
        category:
          type: string
        date:
          type: string
        exchange:
          type: string
        isOpen:
          type: boolean
        marketType:
          type: string
          enum:
          - BOND
          - EQUITY
          - ETF
          - FOREX
          - FUTURE
          - FUTURE_OPTION
          - INDEX
          - INDICATOR
          - MUTUAL_FUND
          - OPTION
          - UNKNOWN
        product:
          type: string
        productName:
          type: string
        sessionHours:
          $ref: '#/components/schemas/Hours_sessionHours'
      example:
        date: date
        product: product
        isOpen: true
        exchange: exchange
        sessionHours:
          additionalProperties:
          - additionalProperties
          - additionalProperties
        category: category
        marketType: BOND
        productName: productName
    Account:
      type: object
      properties:
        securitiesAccount:
          $ref: '#/components/schemas/Account_securitiesAccount'
      example:
        securitiesAccount:
          schema:
            schema: ""
    Positions:
      type: array
      items:
        $ref: '#/components/schemas/Positions_inner'
    SecuritiesAccount:
      type: object
      properties:
        schema:
          discriminator:
            propertyName: type
            mapping:
              MARGIN: '#/components/schemas/MarginAccount'
              CASH: '#/components/schemas/CashAccount'
          oneOf:
          - $ref: '#/components/schemas/MarginAccount'
          - $ref: '#/components/schemas/CashAccount'
      example:
        schema: ""
    MarginAccount:
      type: object
      properties:
        type:
          type: string
          enum:
          - CASH
          - MARGIN
        accountId:
          type: string
        roundTrips:
          type: integer
          format: int32
        isDayTrader:
          type: boolean
          default: false
        isClosingOnlyRestricted:
          type: boolean
          default: false
        positions:
          $ref: '#/components/schemas/MarginAccount_positions'
        orderStrategies:
          $ref: '#/components/schemas/MarginAccount_orderStrategies'
        initialBalances:
          $ref: '#/components/schemas/MarginAccount_initialBalances'
        currentBalances:
          $ref: '#/components/schemas/MarginAccount_currentBalances'
        projectedBalances:
          $ref: '#/components/schemas/MarginAccount_currentBalances'
    MarginAccountBalances:
      type: object
      properties:
        accruedInterest:
          type: number
          format: double
        cashBalance:
          type: number
          format: double
        cashReceipts:
          type: number
          format: double
        longOptionMarketValue:
          type: number
          format: double
        liquidationValue:
          type: number
          format: double
        longMarketValue:
          type: number
          format: double
        moneyMarketFund:
          type: number
          format: double
        savings:
          type: number
          format: double
        shortMarketValue:
          type: number
          format: double
        pendingDeposits:
          type: number
          format: double
        availableFunds:
          type: number
          format: double
        availableFundsNonMarginableTrade:
          type: number
          format: double
        buyingPower:
          type: number
          format: double
        buyingPowerNonMarginableTrade:
          type: number
          format: double
        dayTradingBuyingPower:
          type: number
          format: double
        dayTradingBuyingPowerCall:
          type: number
          format: double
        equity:
          type: number
          format: double
        equityPercentage:
          type: number
          format: double
        longMarginValue:
          type: number
          format: double
        maintenanceCall:
          type: number
          format: double
        maintenanceRequirement:
          type: number
          format: double
        marginBalance:
          type: number
          format: double
        regTCall:
          type: number
          format: double
        shortBalance:
          type: number
          format: double
        shortMarginValue:
          type: number
          format: double
        shortOptionMarketValue:
          type: number
          format: double
        sma:
          type: number
          format: double
        mutualFundValue:
          type: number
          format: double
        bondValue:
          type: number
          format: double
        isInCall:
          type: boolean
          default: false
        stockBuyingPower:
          type: number
          format: double
        optionBuyingPower:
          type: number
          format: double
    CashAccount:
      type: object
      properties:
        type:
          type: string
          enum:
          - CASH
          - MARGIN
        accountId:
          type: string
        roundTrips:
          type: integer
          format: int32
        isDayTrader:
          type: boolean
          default: false
        isClosingOnlyRestricted:
          type: boolean
          default: false
        positions:
          $ref: '#/components/schemas/MarginAccount_positions'
        orderStrategies:
          $ref: '#/components/schemas/MarginAccount_orderStrategies'
        initialBalances:
          $ref: '#/components/schemas/CashAccount_initialBalances'
        currentBalances:
          $ref: '#/components/schemas/CashAccount_currentBalances'
        projectedBalances:
          $ref: '#/components/schemas/CashAccount_currentBalances'
    CashAccountBalances:
      type: object
      properties:
        accruedInterest:
          type: number
          format: double
        cashBalance:
          type: number
          format: double
        cashReceipts:
          type: number
          format: double
        longOptionMarketValue:
          type: number
          format: double
        liquidationValue:
          type: number
          format: double
        longMarketValue:
          type: number
          format: double
        moneyMarketFund:
          type: number
          format: double
        savings:
          type: number
          format: double
        shortMarketValue:
          type: number
          format: double
        pendingDeposits:
          type: number
          format: double
        cashAvailableForTrading:
          type: number
          format: double
        cashAvailableForWithdrawal:
          type: number
          format: double
        cashCall:
          type: number
          format: double
        longNonMarginableMarketValue:
          type: number
          format: double
        totalCash:
          type: number
          format: double
        shortOptionMarketValue:
          type: number
          format: double
        mutualFundValue:
          type: number
          format: double
        bondValue:
          type: number
          format: double
        cashDebitCallValue:
          type: number
          format: double
        unsettledCash:
          type: number
          format: double
    Session:
      type: string
      enum:
      - NORMAL
      - AM
      - PM
      - SEAMLESS
    Duration:
      type: string
      enum:
      - DAY
      - GOOD_TIL_CANCEL
      - FILL_OR_KILL
    OrderType:
      type: string
      enum:
      - MARKET
      - LIMIT
      - STOP
      - STOP_LIMIT
      - TRAILING_STOP
      - MARKET_ON_CLOSE
      - EXERCISE
      - TRAILING_STOP_LIMIT
      - NET_DEBIT
      - NET_CREDIT
      - NET_ZERO
    OrderGet:
      type: object
      properties:
        session:
          $ref: '#/components/schemas/OrderGet_session'
        duration:
          $ref: '#/components/schemas/OrderGet_duration'
        orderType:
          $ref: '#/components/schemas/OrderGet_orderType'
        cancelTime:
          $ref: '#/components/schemas/OrderGet_cancelTime'
        complexOrderStrategyType:
          type: string
          enum:
          - NONE
          - COVERED
          - VERTICAL
          - BACK_RATIO
          - CALENDAR
          - DIAGONAL
          - STRADDLE
          - STRANGLE
          - COLLAR_SYNTHETIC
          - BUTTERFLY
          - CONDOR
          - IRON_CONDOR
          - VERTICAL_ROLL
          - COLLAR_WITH_STOCK
          - DOUBLE_DIAGONAL
          - UNBALANCED_BUTTERFLY
          - UNBALANCED_CONDOR
          - UNBALANCED_IRON_CONDOR
          - UNBALANCED_VERTICAL_ROLL
          - CUSTOM
        quality:
          type: number
          format: double
        filledQuantity:
          type: number
          format: double
        remainingQuantity:
          type: number
          format: double
        requestedDestination:
          type: string
          enum:
          - INET
          - ECN_ARCA
          - CBOE
          - AMEX
          - PHLX
          - ISE
          - BOX
          - NYSE
          - NASDAQ
          - BATS
          - C2
          - AUTO
        destinationLinkName:
          type: string
        releaseTime:
          type: string
          format: date-time
        stopPrice:
          type: number
          format: double
        stopPriceLinkBasis:
          type: string
          enum:
          - MANUAL
          - BASE
          - TRIGGER
          - LAST
          - BID
          - ASK
          - ASK_BID
          - MARK
          - AVERAGE
        stopPriceLinkType:
          type: string
          enum:
          - VALUE
          - PERCENT
          - TICK
        stopPriceOffset:
          type: number
          format: double
        stopType:
          type: string
          enum:
          - STANDARD
          - BID
          - ASK
          - LAST
          - MARK
        priceLinkBasis:
          type: string
          enum:
          - MANUAL
          - BASE
          - TRIGGER
          - LAST
          - BID
          - ASK
          - ASK_BID
          - MARK
          - AVERAGE
        priceLinkType:
          type: string
          enum:
          - VALUE
          - PERCENT
          - TICK
        price:
          type: number
          format: double
        taxLotMethod:
          type: string
          enum:
          - FIFO
          - LIFO
          - HIGH_COST
          - LOW_COST
          - AVERAGE_COST
          - SPECIFIC_LOT
        orderLegCollection:
          type: array
          xml:
            name: orderLeg
            wrapped: true
          items:
            $ref: '#/components/schemas/OrderGet_orderLegCollection'
        activationPrice:
          type: number
          format: double
        specialInstruction:
          type: string
          enum:
          - ALL_OR_NONE
          - DO_NOT_REDUCE
          - ALL_OR_NONE_DO_NOT_REDUCE
        orderStrategyType:
          type: string
          enum:
          - SINGLE
          - OCO
          - TRIGGER
        orderId:
          type: integer
          format: int64
        cancelable:
          type: boolean
          default: false
        editable:
          type: boolean
          default: false
        status:
          type: string
          enum:
          - AWAITING_PARENT_ORDER
          - AWAITING_CONDITION
          - AWAITING_MANUAL_REVIEW
          - ACCEPTED
          - AWAITING_UR_OUT
          - PENDING_ACTIVATION
          - QUEUED
          - WORKING
          - REJECTED
          - PENDING_CANCEL
          - CANCELED
          - PENDING_REPLACE
          - REPLACED
          - FILLED
          - EXPIRED
        enteredTime:
          type: string
          format: date-time
        closedTime:
          type: string
          format: date-time
        tag:
          type: string
        accountId:
          type: integer
          format: int64
        orderActivityCollection:
          type: array
          xml:
            name: orderActivity
            wrapped: true
          items:
            $ref: '#/components/schemas/OrderGet_orderActivityCollection'
        replacingOrderCollection:
          type: array
          xml:
            name: replacingOrder
            wrapped: true
          items:
            type: object
        childOrderStrategies:
          type: array
          xml:
            name: childOrder
            wrapped: true
          items:
            type: object
        statusDescription:
          type: string
      example:
        remainingQuantity: 1.46581298050294517310021547018550336360931396484375
        orderType:
          schema: MARKET
        orderStrategyType: SINGLE
        releaseTime: 2000-01-23T04:56:07.000+00:00
        cancelable: false
        orderId: 2
        session:
          schema: NORMAL
        stopPriceOffset: 5.63737665663332876420099637471139430999755859375
        stopPriceLinkType: VALUE
        orderActivityCollection:
        - schema:
            schema:
              quantity: 7.3862819483858839220147274318151175975799560546875
              executionType: FILL
              orderRamainingQuantity: 1.231513536777255612975068288506008684635162353515625
              activityType: EXECUTION
              executionLegs:
              - quantity: 1.489415909854170383397331534069962799549102783203125
                price: 7.4577447736837658709418974467553198337554931640625
                legId: 1
                mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
                time: 2000-01-23T04:56:07.000+00:00
              - quantity: 1.489415909854170383397331534069962799549102783203125
                price: 7.4577447736837658709418974467553198337554931640625
                legId: 1
                mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
                time: 2000-01-23T04:56:07.000+00:00
        - schema:
            schema:
              quantity: 7.3862819483858839220147274318151175975799560546875
              executionType: FILL
              orderRamainingQuantity: 1.231513536777255612975068288506008684635162353515625
              activityType: EXECUTION
              executionLegs:
              - quantity: 1.489415909854170383397331534069962799549102783203125
                price: 7.4577447736837658709418974467553198337554931640625
                legId: 1
                mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
                time: 2000-01-23T04:56:07.000+00:00
              - quantity: 1.489415909854170383397331534069962799549102783203125
                price: 7.4577447736837658709418974467553198337554931640625
                legId: 1
                mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
                time: 2000-01-23T04:56:07.000+00:00
        filledQuantity: 6.02745618307040320615897144307382404804229736328125
        enteredTime: 2000-01-23T04:56:07.000+00:00
        closedTime: 2000-01-23T04:56:07.000+00:00
        duration:
          schema: DAY
        stopPriceLinkBasis: MANUAL
        destinationLinkName: destinationLinkName
        price: 2.3021358869347654518833223846741020679473876953125
        priceLinkType: VALUE
        tag: tag
        childOrderStrategies:
        - {}
        - {}
        orderLegCollection:
        - orderLegType: EQUITY
          quantityType: ALL_SHARES
          quantity: 9.301444243932575517419536481611430644989013671875
          instruction: BUY
          legId: 7
          instrument:
            schema:
              schema: ""
          positionEffect: OPENING
        - orderLegType: EQUITY
          quantityType: ALL_SHARES
          quantity: 9.301444243932575517419536481611430644989013671875
          instruction: BUY
          legId: 7
          instrument:
            schema:
              schema: ""
          positionEffect: OPENING
        taxLotMethod: FIFO
        specialInstruction: ALL_OR_NONE
        editable: false
        stopType: STANDARD
        quality: 0.80082819046101150206595775671303272247314453125
        accountId: 4
        stopPrice: 5.962133916683182377482808078639209270477294921875
        statusDescription: statusDescription
        priceLinkBasis: MANUAL
        requestedDestination: INET
        cancelTime:
          date: date
          shortFormat: false
        activationPrice: 3.61607674925191080461672754609026014804840087890625
        replacingOrderCollection:
        - {}
        - {}
        complexOrderStrategyType: NONE
        status: AWAITING_PARENT_ORDER
    AssetType:
      type: string
      enum:
      - EQUITY
      - OPTION
      - INDEX
      - MUTUAL_FUND
      - CASH_EQUIVALENT
      - FIXED_INCOME
      - CURRENCY
    Instrument:
      type: object
      properties:
        schema:
          discriminator:
            propertyName: assetType
            mapping:
              EQUITY: '#/components/schemas/Equity'
              FIXED_INCOME: '#/components/schemas/FixedIncome'
              MUTUAL_FUND: '#/components/schemas/MutualFund'
              CASH_EQUIVALENT: '#/components/schemas/CashEquivalent'
              OPTION: '#/components/schemas/Option'
          oneOf:
          - $ref: '#/components/schemas/Equity'
          - $ref: '#/components/schemas/FixedIncome'
          - $ref: '#/components/schemas/MutualFund'
          - $ref: '#/components/schemas/CashEquivalent'
          - $ref: '#/components/schemas/Option'
      example:
        schema: ""
    OrderActivity:
      type: object
      properties:
        schema:
          $ref: '#/components/schemas/Execution'
      example:
        schema:
          quantity: 7.3862819483858839220147274318151175975799560546875
          executionType: FILL
          orderRamainingQuantity: 1.231513536777255612975068288506008684635162353515625
          activityType: EXECUTION
          executionLegs:
          - quantity: 1.489415909854170383397331534069962799549102783203125
            price: 7.4577447736837658709418974467553198337554931640625
            legId: 1
            mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
            time: 2000-01-23T04:56:07.000+00:00
          - quantity: 1.489415909854170383397331534069962799549102783203125
            price: 7.4577447736837658709418974467553198337554931640625
            legId: 1
            mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
            time: 2000-01-23T04:56:07.000+00:00
    Equity:
      type: object
      properties:
        assetType:
          $ref: '#/components/schemas/Equity_assetType'
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
    FixedIncome:
      type: object
      properties:
        assetType:
          $ref: '#/components/schemas/Equity_assetType'
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
        maturityDate:
          type: string
          format: date-time
        variableRate:
          type: number
          format: double
        factor:
          type: number
          format: double
    MutualFundQuote:
      type: object
      properties:
        symbol:
          type: string
        description:
          type: string
        closePrice:
          type: number
          format: double
        netChange:
          type: number
          format: double
        totalVolume:
          type: integer
          format: int32
        tradeTimeInLong:
          type: integer
          format: int32
        exchange:
          type: string
        exchangeName:
          type: string
        digits:
          type: integer
          format: int32
        "52WkHigh":
          type: number
          format: double
        "52WkLow":
          type: number
          format: double
        nAV:
          type: number
          format: double
        perRatio:
          type: number
          format: double
        divAmount:
          type: number
          format: double
        divYield:
          type: number
          format: double
        divDate:
          type: string
        securityStatus:
          type: string
    FutureQuote:
      type: object
      properties:
        symbol:
          type: string
        bidPriceInDouble:
          type: number
          format: double
        askPriceInDouble:
          type: number
          format: double
        lastPriceInDouble:
          type: number
          format: double
        bidId:
          type: string
        askId:
          type: string
        highPriceInDouble:
          type: number
          format: double
        lowPriceInDouble:
          type: number
          format: double
        closePriceInDouble:
          type: number
          format: double
        exchange:
          type: string
        description:
          type: string
        lastId:
          type: string
        openPriceInDouble:
          type: number
          format: double
        changeInDouble:
          type: number
          format: double
        futurePercentChange:
          type: number
          format: double
        exchangeName:
          type: string
        securityStatus:
          type: string
        openInterest:
          type: number
          format: double
        mark:
          type: number
          format: double
        tick:
          type: number
          format: double
        tickAmount:
          type: number
          format: double
        product:
          type: string
        futurePriceFormat:
          type: string
        futureTradinghours:
          type: string
        futureIsTradable:
          type: boolean
        futureMultiplier:
          type: number
          format: double
        futureIsActive:
          type: boolean
        futureSettlementPrice:
          type: number
          format: double
        futureActiveSymbol:
          type: string
        futureExpirationDate:
          type: string
    FutureOptionsQuote:
      type: object
      properties:
        symbol:
          type: string
        bidPriceInDouble:
          type: number
          format: double
        askPriceInDouble:
          type: number
          format: double
        lastPriceInDouble:
          type: number
          format: double
        highPriceInDouble:
          type: number
          format: double
        lowPriceInDouble:
          type: number
          format: double
        closePriceInDouble:
          type: number
          format: double
        description:
          type: string
        openPriceInDouble:
          type: number
          format: double
        netChangeInDouble:
          type: number
          format: double
        openInterest:
          type: number
          format: double
        exchangeName:
          type: string
        securityStatus:
          type: string
        volatility:
          type: number
          format: double
        moneyIntrinsicValueInDouble:
          type: number
          format: double
        multiplierInDouble:
          type: number
          format: double
        digits:
          type: integer
          format: int32
        strikePriceInDouble:
          type: number
          format: double
        contractType:
          type: string
        underlying:
          type: string
        timeValueInDouble:
          type: number
          format: double
        deltaInDouble:
          type: number
          format: double
        gammaInDouble:
          type: number
          format: double
        thetaInDouble:
          type: number
          format: double
        vegaInDouble:
          type: number
          format: double
        rhoInDouble:
          type: number
          format: double
        mark:
          type: number
          format: double
        tick:
          type: number
          format: double
        tickAmount:
          type: number
          format: double
        futureIsTradable:
          type: boolean
        futureTradingHours:
          type: string
        futurePercentChange:
          type: number
          format: double
        futureIsActive:
          type: boolean
        futureExpirationDate:
          type: integer
          format: int32
        expirationType:
          type: string
        exerciseType:
          type: string
        inTheMoney:
          type: boolean
    IndexQuote:
      type: object
      properties:
        symbol:
          type: string
        description:
          type: string
        lastPrice:
          type: number
          format: double
        openPrice:
          type: number
          format: double
        highPrice:
          type: number
          format: double
        lowPrice:
          type: number
          format: double
        closePrice:
          type: number
          format: double
        netChange:
          type: number
          format: double
        totalVolume:
          type: integer
          format: int32
        tradeTimeInLong:
          type: integer
          format: int32
        exchange:
          type: string
        exchangeName:
          type: string
        digits:
          type: integer
          format: int32
        "52WkHigh":
          type: number
          format: double
        "52WkLow":
          type: number
          format: double
        securityStatus:
          type: string
    OptionQuote:
      type: object
      properties:
        symbol:
          type: string
        description:
          type: string
        bidPrice:
          type: number
          format: double
        bidSize:
          type: integer
          format: int32
        askPrice:
          type: number
          format: double
        askSize:
          type: integer
          format: int32
        lastPrice:
          type: number
          format: double
        lastSize:
          type: integer
          format: int32
        openPrice:
          type: number
          format: double
        highPrice:
          type: number
          format: double
        lowPrice:
          type: number
          format: double
        closePrice:
          type: number
          format: double
        netChange:
          type: number
          format: double
        totalVolume:
          type: integer
          format: int32
        quoteTimeInLong:
          type: integer
          format: int32
        tradeTimeInLong:
          type: integer
          format: int32
        mark:
          type: number
          format: double
        openInterest:
          type: number
          format: double
        volatility:
          type: number
          format: double
        moneyIntrinsicValue:
          type: number
          format: double
        multiplier:
          type: number
          format: double
        strikePrice:
          type: number
          format: double
        contractType:
          type: string
        underlying:
          type: string
        timeValue:
          type: number
          format: double
        deliverables:
          type: string
        delta:
          type: number
          format: double
        gamma:
          type: number
          format: double
        theta:
          type: number
          format: double
        vega:
          type: number
          format: double
        rho:
          type: number
          format: double
        securityStatus:
          type: string
        theoreticalOptionValue:
          type: number
          format: double
        underlyingPrice:
          type: number
          format: double
        uvExpirationType:
          type: string
        exchange:
          type: string
        exchangeName:
          type: string
        settlementType:
          type: string
    ForexQuote:
      type: object
      properties:
        symbol:
          type: string
        bidPriceInDouble:
          type: number
          format: double
        askPriceInDouble:
          type: number
          format: double
        lastPriceInDouble:
          type: number
          format: double
        highPriceInDouble:
          type: number
          format: double
        lowPriceInDouble:
          type: number
          format: double
        closePriceInDouble:
          type: number
          format: double
        exchange:
          type: string
        description:
          type: string
        openPriceInDouble:
          type: number
          format: double
        changeInDouble:
          type: number
          format: double
        percentChange:
          type: number
          format: double
        exchangeName:
          type: string
        digits:
          type: integer
          format: int32
        securityStatus:
          type: string
        tick:
          type: number
          format: double
        tickAmount:
          type: number
          format: double
        product:
          type: string
        tradingHours:
          type: string
        isTradable:
          type: boolean
        marketMaker:
          type: string
        "52WkHighInDouble":
          type: number
          format: double
        "52WkLowInDouble":
          type: number
          format: double
        mark:
          type: number
          format: double
    ETFQuote:
      type: object
      properties:
        symbol:
          type: string
        description:
          type: string
        bidPrice:
          type: number
          format: double
        bidSize:
          type: integer
          format: int32
        bidId:
          type: string
        askPrice:
          type: number
          format: double
        askSize:
          type: integer
          format: int32
        askId:
          type: string
        lastPrice:
          type: number
          format: double
        lastSize:
          type: integer
          format: int32
        lastId:
          type: string
        openPrice:
          type: number
          format: double
        highPrice:
          type: number
          format: double
        lowPrice:
          type: number
          format: double
        closePrice:
          type: number
          format: double
        netChange:
          type: number
          format: double
        totalVolume:
          type: integer
          format: int32
        quoteTimeInLong:
          type: integer
          format: int32
        tradeTimeInLong:
          type: integer
          format: int32
        mark:
          type: number
          format: double
        exchange:
          type: string
        exchangeName:
          type: string
        marginable:
          type: boolean
          default: false
        shortable:
          type: boolean
          default: false
        volatility:
          type: number
          format: double
        digits:
          type: integer
          format: int32
        "52WkHigh":
          type: number
          format: double
        "52WkLow":
          type: number
          format: double
        peRatio:
          type: number
          format: double
        divAmount:
          type: number
          format: double
        divYield:
          type: number
          format: double
        divDate:
          type: string
        securityStatus:
          type: string
        regularMarketLastPrice:
          type: number
          format: double
        regularMarketLastSize:
          type: integer
          format: int32
        regularMarketNetChange:
          type: number
          format: double
        regularMarketTradeTimeInLong:
          type: integer
          format: int32
    EquityQuote:
      type: object
      properties:
        symbol:
          type: string
        description:
          type: string
        bidPrice:
          type: number
          format: double
        bidSize:
          type: integer
          format: int32
        bidId:
          type: string
        askPrice:
          type: number
          format: double
        askSize:
          type: integer
          format: int32
        askId:
          type: string
        lastPrice:
          type: number
          format: double
        lastSize:
          type: integer
          format: int32
        lastId:
          type: string
        openPrice:
          type: number
          format: double
        highPrice:
          type: number
          format: double
        lowPrice:
          type: number
          format: double
        closePrice:
          type: number
          format: double
        netChange:
          type: number
          format: double
        totalVolume:
          type: integer
          format: int32
        quoteTimeInLong:
          type: integer
          format: int32
        tradeTimeInLong:
          type: integer
          format: int32
        mark:
          type: number
          format: double
        exchange:
          type: string
        exchangeName:
          type: string
        marginable:
          type: boolean
          default: false
        shortable:
          type: boolean
          default: false
        volatility:
          type: number
          format: double
        digits:
          type: integer
          format: int32
        "52WkHigh":
          type: number
          format: double
        "52WkLow":
          type: number
          format: double
        peRatio:
          type: number
          format: double
        divAmount:
          type: number
          format: double
        divYield:
          type: number
          format: double
        divDate:
          type: string
        securityStatus:
          type: string
        regularMarketLastPrice:
          type: number
          format: double
        regularMarketLastSize:
          type: integer
          format: int32
        regularMarketNetChange:
          type: number
          format: double
        regularMarketTradeTimeInLong:
          type: integer
          format: int32
    MutualFund:
      type: object
      properties:
        assetType:
          $ref: '#/components/schemas/Equity_assetType'
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - NOT_APPLICABLE
          - OPEN_END_NON_TAXABLE
          - OPEN_END_TAXABLE
          - NO_LOAD_NON_TAXABLE
          - NO_LOAD_TAXABLE
    OptionChainOption:
      type: object
      properties:
        putCall:
          $ref: '#/components/schemas/OptionChainOption_putCall'
        symbol:
          type: string
        description:
          type: string
        exchangeName:
          type: string
        bidPrice:
          type: number
          format: double
        askPrice:
          type: number
          format: double
        lastPrice:
          type: number
          format: double
        markPrice:
          type: number
          format: double
        bidSize:
          type: integer
          format: int32
        askSize:
          type: integer
          format: int32
        lastSize:
          type: integer
          format: int32
        highPrice:
          type: number
          format: double
        lowPrice:
          type: number
          format: double
        opePrice:
          type: number
          format: double
        closePrice:
          type: number
          format: double
        totalVolume:
          type: integer
          format: int32
        quoteTimeInLong:
          type: integer
          format: int32
        tradeTimeInLong:
          type: integer
          format: int32
        netChange:
          type: number
          format: double
        volatility:
          type: number
          format: double
        delta:
          type: number
          format: double
        gamma:
          type: number
          format: double
        theta:
          type: number
          format: double
        vega:
          type: number
          format: double
        rho:
          type: number
          format: double
        timeValue:
          type: number
          format: double
        openInterest:
          type: number
          format: double
        isInTheMoney:
          type: boolean
        theoreticalOptionValue:
          type: number
          format: double
        theoreticalVolatility:
          type: number
          format: double
        isMini:
          type: boolean
        isNonStandard:
          type: boolean
        optionDeliverablesList:
          $ref: '#/components/schemas/OptionChainOption_optionDeliverablesList'
        strikePrice:
          type: number
          format: double
        expirationDate:
          type: string
        expirationType:
          type: string
        multiplier:
          type: number
          format: double
        settlementType:
          type: string
        delverableNote:
          type: string
        isIndexOption:
          type: boolean
        percentChange:
          type: number
          format: double
        markChange:
          type: number
          format: double
        markPercentChange:
          type: number
          format: double
    PutCall:
      type: string
      enum:
      - PUT
      - CALL
    Option:
      type: object
      properties:
        assetType:
          $ref: '#/components/schemas/Equity_assetType'
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - VANILLA
          - BINARY
          - BARRIER
        putCall:
          $ref: '#/components/schemas/OptionChainOption_putCall'
        underlyingSymbol:
          type: string
        optionMultiplier:
          type: integer
          format: int32
        optionDeliverables:
          $ref: '#/components/schemas/OptionChainOption_optionDeliverablesList'
    OptionDeliverable:
      type: array
      xml:
        name: optionDeliverable
        wrapped: true
      items:
        $ref: '#/components/schemas/OptionDeliverable_inner'
    CashEquivalent:
      type: object
      properties:
        assetType:
          $ref: '#/components/schemas/Equity_assetType'
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - SAVINGS
          - MONEY_MARKET_FUND
    Execution:
      type: object
      properties:
        activityType:
          type: string
          enum:
          - EXECUTION
          - ORDER_ACTION
        executionType:
          type: string
          enum:
          - FILL
        quantity:
          type: number
          format: double
        orderRamainingQuantity:
          type: number
          format: doudlbe
        executionLegs:
          type: array
          xml:
            name: executionLeg
            wrapped: true
          items:
            $ref: '#/components/schemas/Execution_executionLegs'
      example:
        quantity: 7.3862819483858839220147274318151175975799560546875
        executionType: FILL
        orderRamainingQuantity: 1.231513536777255612975068288506008684635162353515625
        activityType: EXECUTION
        executionLegs:
        - quantity: 1.489415909854170383397331534069962799549102783203125
          price: 7.4577447736837658709418974467553198337554931640625
          legId: 1
          mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
          time: 2000-01-23T04:56:07.000+00:00
        - quantity: 1.489415909854170383397331534069962799549102783203125
          price: 7.4577447736837658709418974467553198337554931640625
          legId: 1
          mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
          time: 2000-01-23T04:56:07.000+00:00
    FrequencyType:
      type: string
      enum:
      - minute
      - daily
      - weekly
      - monthly
    PeriodType:
      type: string
      enum:
      - day
      - month
      - year
      - ytd
    PostAccessBody:
      required:
      - client_id
      - grant_type
      type: object
      properties:
        grant_type:
          type: string
          description: The grant type of the oAuth scheme. Possible values are authorization_code,
            refresh_token
        refresh_token:
          type: string
          description: Required if using refresh token grant
        access_type:
          type: string
          description: Set to offline to receive a refresh token on an authorization_code
            grant type request. Do not set to offline on a refresh_token grant type
            request.
        code:
          type: string
          description: Required if trying to use authorization code grant
        client_id:
          type: integer
          description: OAuth User ID of your application
        redirect_uri:
          type: string
          description: Required if trying to use authorization code grant
      description: Body Parmeers for the Post Access Token Endpoint
    CandleList:
      type: object
      properties:
        candles:
          type: array
          items:
            $ref: '#/components/schemas/CandleList_candles'
        empty:
          type: boolean
        symbol:
          type: string
          description: Symbol
      description: List of Candles
      example:
        symbol: symbol
        candles:
        - volume: 2.3021358869347654518833223846741020679473876953125
          datetime: 6
          high: 1.46581298050294517310021547018550336360931396484375
          low: 5.962133916683182377482808078639209270477294921875
          close: 0.80082819046101150206595775671303272247314453125
          open: 5.63737665663332876420099637471139430999755859375
        - volume: 2.3021358869347654518833223846741020679473876953125
          datetime: 6
          high: 1.46581298050294517310021547018550336360931396484375
          low: 5.962133916683182377482808078639209270477294921875
          close: 0.80082819046101150206595775671303272247314453125
          open: 5.63737665663332876420099637471139430999755859375
        empty: true
    ErrorObject:
      type: object
      properties:
        error:
          type: string
      example:
        error: error
    EASObject:
      type: object
      properties:
        access_token:
          type: string
        refresh_token:
          type: string
        token_type:
          type: string
        expires_in:
          type: integer
          format: int32
        scope:
          type: string
        refresh_token_expires_in:
          type: integer
          format: int32
      example:
        access_token: access_token
        refresh_token_expires_in: 6
        refresh_token: refresh_token
        scope: scope
        token_type: token_type
        expires_in: 0
    Bond:
      type: object
      properties:
        bondPrice:
          type: number
          format: double
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
        exchange:
          type: string
        assetType:
          type: string
          enum:
          - BOND
    FundamentalData:
      type: object
      properties:
        symbol:
          type: string
        high52:
          type: number
          format: double
        low52:
          type: number
          format: double
        dividendAmount:
          type: number
          format: double
        dividendYield:
          type: number
          format: double
        dividendDate:
          type: string
        peRatio:
          type: number
          format: double
        pegRatio:
          type: number
          format: double
        pbRatio:
          type: number
          format: double
        prRatio:
          type: number
          format: double
        pcfRatio:
          type: number
          format: double
        grossMarginTTM:
          type: number
          format: double
        grossMarginMRQ:
          type: number
          format: double
        netProfitMarginTTM:
          type: number
          format: double
        netProfitMarginMRQ:
          type: number
          format: double
        operatingMarginTTM:
          type: number
          format: double
        operatingMarginMRQ:
          type: number
          format: double
        returnOnEquity:
          type: number
          format: double
        returnOnAssets:
          type: number
          format: double
        returnOnInvestment:
          type: number
          format: double
        quickRatio:
          type: number
          format: double
        currentRatio:
          type: number
          format: double
        interestCoverage:
          type: number
          format: double
        totalDebtToCapital:
          type: number
          format: double
        ltDebtToEquity:
          type: number
          format: double
        totalDebtToEquity:
          type: number
          format: double
        epsTTM:
          type: number
          format: double
        epsChangePercentTTM:
          type: number
          format: double
        epsChangeYear:
          type: number
          format: double
        epsChange:
          type: number
          format: double
        revChangeYear:
          type: number
          format: double
        revChangeTTM:
          type: number
          format: double
        revChangeIn:
          type: number
          format: double
        sharesOutstanding:
          type: number
          format: double
        marketCapFloat:
          type: number
          format: double
        marketCap:
          type: number
          format: double
        bookValuePerShare:
          type: number
          format: double
        shortIntToFloat:
          type: number
          format: double
        shortIntDayToCover:
          type: number
          format: double
        divGrowthRate3Year:
          type: number
          format: double
        dividendPayAmount:
          type: number
          format: double
        dividendPayDate:
          type: string
        beta:
          type: number
          format: double
        vol1DayAvg:
          type: number
          format: double
        vol10DayAvg:
          type: number
          format: double
        vol3MonthAvg:
          type: number
          format: double
    Fundamental:
      type: object
      properties:
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
        exchange:
          type: string
        assetType:
          type: string
          enum:
          - EQUITY
          - ETF
          - MUTUAL_FUND
          - UNKNOWN
        fundamental:
          $ref: '#/components/schemas/Fundamental_fundamental'
    GetQuoteResponse:
      type: object
      additionalProperties:
        type: object
        properties:
          schemas:
            oneOf:
            - $ref: '#/components/schemas/MutualFundQuote'
            - $ref: '#/components/schemas/FutureQuote'
            - $ref: '#/components/schemas/FutureOptionsQuote'
            - $ref: '#/components/schemas/IndexQuote'
            - $ref: '#/components/schemas/OptionQuote'
            - $ref: '#/components/schemas/ForexQuote'
            - $ref: '#/components/schemas/ETFQuote'
            - $ref: '#/components/schemas/EquityQuote'
        example:
          schemas: ""
    GetOptionChainResponse:
      type: object
      additionalProperties:
        type: object
        properties:
          schemas:
            oneOf:
            - $ref: '#/components/schemas/OptionChain'
            - $ref: '#/components/schemas/StrikePriceMap'
            - $ref: '#/components/schemas/OptionChainOption'
            - $ref: '#/components/schemas/Underlying'
            - $ref: '#/components/schemas/ExpirationDate'
            - $ref: '#/components/schemas/OptionDeliverable'
        example:
          schemas: ""
    WatchList:
      required:
      - watchlistItems
      type: object
      properties:
        name:
          type: string
        watchlistId:
          type: string
        accountId:
          type: string
        status:
          type: string
          enum:
          - UNCHANGED
          - CREATED
          - UPDATED
          - DELETED
        watchlistItems:
          type: array
          items:
            $ref: '#/components/schemas/WatchList_watchlistItems'
      example:
        accountId: accountId
        watchlistId: watchlistId
        name: name
        watchlistItems:
        - quantity: 6.02745618307040320615897144307382404804229736328125
          purchasedDate: {}
          commission: 0.59621339166831821554382031536079011857509613037109375
          instrument:
            symbol: symbol
            description: description
            assetType: EQUITY
          averagePrice: 0.146581298050294517310021547018550336360931396484375
          sequenceId: 0
          status: UNCHANGED
        - quantity: 6.02745618307040320615897144307382404804229736328125
          purchasedDate: {}
          commission: 0.59621339166831821554382031536079011857509613037109375
          instrument:
            symbol: symbol
            description: description
            assetType: EQUITY
          averagePrice: 0.146581298050294517310021547018550336360931396484375
          sequenceId: 0
          status: UNCHANGED
        status: UNCHANGED
    WatchListResponse:
      type: object
      additionalProperties:
        type: object
        properties:
          schema:
            $ref: '#/components/schemas/WatchList'
        example:
          schema:
            accountId: accountId
            watchlistId: watchlistId
            name: name
            watchlistItems:
            - quantity: 6.02745618307040320615897144307382404804229736328125
              purchasedDate: {}
              commission: 0.59621339166831821554382031536079011857509613037109375
              instrument:
                symbol: symbol
                description: description
                assetType: EQUITY
              averagePrice: 0.146581298050294517310021547018550336360931396484375
              sequenceId: 0
              status: UNCHANGED
            - quantity: 6.02745618307040320615897144307382404804229736328125
              purchasedDate: {}
              commission: 0.59621339166831821554382031536079011857509613037109375
              instrument:
                symbol: symbol
                description: description
                assetType: EQUITY
              averagePrice: 0.146581298050294517310021547018550336360931396484375
              sequenceId: 0
              status: UNCHANGED
            status: UNCHANGED
    SearchInstrumentResponse:
      type: object
      additionalProperties:
        type: object
        properties:
          schemas:
            discriminator:
              propertyName: assetType
              mapping:
                BOND: '#/components/schemas/Bond'
            oneOf:
            - $ref: '#/components/schemas/SearchInstrument'
            - $ref: '#/components/schemas/Bond'
            - $ref: '#/components/schemas/FundamentalData'
            - $ref: '#/components/schemas/Fundamental'
        example:
          $ref: '#/components/examples/instrumentExample'
    SearchInstrument:
      type: object
      properties:
        cusip:
          type: string
        symbol:
          type: string
        description:
          type: string
        exchange:
          type: string
        assetType:
          type: string
          enum:
          - EQUITY
          - ETF
          - FOREX
          - FUTURE
          - FUTURE_OPTION
          - INDEX
          - INDICATOR
          - MUTUAL_FUND
          - OPTION
          - UNKNOWN
      example:
        $ref: '#/components/examples/instrumentExample'
    WatchListRequest_instrument:
      type: object
      properties:
        symbol:
          type: string
        assetType:
          type: string
          enum:
          - EQUITY
          - OPTION
          - MUTUAL_FUND
          - FIXED_INCOME
          - INDEX
    WatchListRequest_watchlistItems:
      type: object
      properties:
        quantity:
          type: number
          format: double
        averagePrice:
          minimum: 0
          type: number
          format: double
        commission:
          minimum: 0
          type: number
          format: double
        purchasedDate:
          type: object
        instrument:
          $ref: '#/components/schemas/WatchListRequest_instrument'
        sequenceId:
          minimum: 0
          type: integer
          format: int32
    UserPrincipal_streamerInfo:
      type: object
      properties:
        streamerBinaryUrl:
          type: string
        streamerSocketUrl:
          type: string
        token:
          type: string
        tokenTimestamp:
          type: string
          format: date-time
        userGroup:
          type: string
        accessLevel:
          type: string
        acl:
          type: string
        appId:
          type: string
      example:
        streamerSocketUrl: streamerSocketUrl
        accessLevel: accessLevel
        streamerBinaryUrl: streamerBinaryUrl
        appId: appId
        acl: acl
        userGroup: userGroup
        tokenTimestamp: 2000-01-23T04:56:07.000+00:00
        token: token
    UserPrincipal_quotes:
      type: object
      properties:
        isNyseDelayed:
          type: boolean
          default: false
        isNasdaqDelayed:
          type: boolean
          default: false
        isOpraDelayed:
          type: boolean
          default: false
        isAmexDelayed:
          type: boolean
          default: false
        isCmeDelayed:
          type: boolean
          default: false
        isIceDelayed:
          type: boolean
          default: false
        isForexDelayed:
          type: boolean
          default: false
      example:
        isForexDelayed: false
        isOpraDelayed: false
        isAmexDelayed: false
        isNasdaqDelayed: false
        isIceDelayed: false
        isCmeDelayed: false
        isNyseDelayed: false
    UserPrincipal_streamerSubscriptionKeys:
      properties:
        schema:
          $ref: '#/components/schemas/SubscriptionKey'
      example:
        schema:
          keys:
          - key: key
          - key: key
    UserPrincipal_preferences_mutualFundTaxLotMethod:
      properties:
        schema:
          $ref: '#/components/schemas/LotMethod'
      example:
        schema: FIFO
    UserPrincipal_preferences:
      type: object
      properties:
        expressTrading:
          type: boolean
          default: false
        directOptionsRouting:
          type: boolean
          default: false
        directEquityRouting:
          type: boolean
          default: false
        defaultEquityOrderLegInstruction:
          type: string
          enum:
          - BUY
          - SELL
          - BUY_TO_COVER
          - SELL_SHORT
          - NONE
        defaultEquityOrderType:
          type: string
          enum:
          - MARKET
          - LIMIT
          - STOP
          - STOP_LIMIT
          - TRAILING_STOP
          - MARKET_ON_CLOSE
          - NONE
        defaultEquityOrderPriceLinkType:
          type: string
          enum:
          - VALUE
          - PERCENT
          - NONE
        defaultEquityOrderDuration:
          type: string
          enum:
          - DAY
          - GOOD_TILL_CANCEL
          - NONE
        defaultEquityOrderMarketSession:
          type: string
          enum:
          - AM
          - PM
          - NORMAL
          - SEAMLESS
          - NONE
        defaultEquityQuantity:
          minimum: 0
          type: integer
          format: int32
        mutualFundTaxLotMethod:
          $ref: '#/components/schemas/UserPrincipal_preferences_mutualFundTaxLotMethod'
        optionTaxLotMethod:
          $ref: '#/components/schemas/UserPrincipal_preferences_mutualFundTaxLotMethod'
        equityTaxLotMethod:
          $ref: '#/components/schemas/UserPrincipal_preferences_mutualFundTaxLotMethod'
        defaultAdvancedToolLaunch:
          type: string
          enum:
          - TA
          - "N"
          - "Y"
          - TOS
          - NONE
          - CC2
        authTokenTimeout:
          type: string
          enum:
          - FIFTY_FIVE_MINUTES
          - TWO_HOURS
          - FOUR_HOURS
          - EIGHT_HOURS
      example:
        directOptionsRouting: false
        defaultEquityOrderLegInstruction: BUY
        expressTrading: false
        authTokenTimeout: FIFTY_FIVE_MINUTES
        defaultEquityQuantity: 0
        defaultEquityOrderType: MARKET
        defaultEquityOrderDuration: DAY
        mutualFundTaxLotMethod:
          schema: FIFO
        defaultAdvancedToolLaunch: TA
        defaultEquityOrderPriceLinkType: VALUE
        directEquityRouting: false
        defaultEquityOrderMarketSession: AM
    UserPrincipal_authorizations:
      type: object
      properties:
        apex:
          type: boolean
          default: false
        levelTwoQuotes:
          type: boolean
          default: false
        stockTrading:
          type: boolean
          default: false
        marginTrading:
          type: boolean
          default: false
        streamingNews:
          type: boolean
          default: false
        optionTradingLevel:
          type: string
          enum:
          - COVERED
          - FULL
          - LONG
          - SPREAD
          - NONE
        streamerAccess:
          type: boolean
          default: false
        advancedMargin:
          type: boolean
          default: false
        scottradeAccount:
          type: boolean
          default: false
      example:
        levelTwoQuotes: false
        optionTradingLevel: COVERED
        streamerAccess: false
        marginTrading: false
        streamingNews: false
        scottradeAccount: false
        advancedMargin: false
        apex: false
        stockTrading: false
    UserPrincipal_accounts:
      type: object
      properties:
        accountId:
          type: string
        description:
          type: string
        displayName:
          type: string
        accountCdDomainId:
          type: string
        company:
          type: string
        segment:
          type: string
        surrogateIds:
          type: object
          additionalProperties:
            type: string
        preferences:
          $ref: '#/components/schemas/UserPrincipal_preferences'
        acl:
          type: string
        authorizations:
          $ref: '#/components/schemas/UserPrincipal_authorizations'
      example:
        accountId: accountId
        preferences:
          directOptionsRouting: false
          defaultEquityOrderLegInstruction: BUY
          expressTrading: false
          authTokenTimeout: FIFTY_FIVE_MINUTES
          defaultEquityQuantity: 0
          defaultEquityOrderType: MARKET
          defaultEquityOrderDuration: DAY
          mutualFundTaxLotMethod:
            schema: FIFO
          defaultAdvancedToolLaunch: TA
          defaultEquityOrderPriceLinkType: VALUE
          directEquityRouting: false
          defaultEquityOrderMarketSession: AM
        displayName: displayName
        segment: segment
        authorizations:
          levelTwoQuotes: false
          optionTradingLevel: COVERED
          streamerAccess: false
          marginTrading: false
          streamingNews: false
          scottradeAccount: false
          advancedMargin: false
          apex: false
          stockTrading: false
        description: description
        company: company
        acl: acl
        surrogateIds:
          key: surrogateIds
        accountCdDomainId: accountCdDomainId
    SubscriptionKey_keys:
      type: object
      properties:
        key:
          type: string
      example:
        key: key
    Transaction_transactionItem_instrument:
      type: object
      properties:
        symbol:
          type: string
        underlyingSymbol:
          type: string
        optionExpirationDate:
          type: string
          format: date-time
        optionStrikePrice:
          type: number
          format: double
        putCall:
          type: string
          enum:
          - PUT
          - CALL
        cusip:
          type: string
        description:
          type: string
        assetType:
          type: string
          enum:
          - EQUITY
          - MUTUAL_FUND
          - OPTION
          - FIXED_INCOME
          - CASH_EQUIVALENT
        bondMaturityDate:
          type: string
          format: date-time
        bondInterestRate:
          type: number
          format: double
      example:
        symbol: symbol
        cusip: cusip
        underlyingSymbol: underlyingSymbol
        optionStrikePrice: 1.231513536777255612975068288506008684635162353515625
        bondInterestRate: 1.024645700144157789424070870154537260532379150390625
        description: description
        bondMaturityDate: 2000-01-23T04:56:07.000+00:00
        putCall: PUT
        optionExpirationDate: 2000-01-23T04:56:07.000+00:00
        assetType: EQUITY
    Transaction_transactionItem:
      type: object
      properties:
        accountId:
          type: integer
          format: int32
        amount:
          type: number
          format: double
        price:
          type: number
          format: double
        cost:
          type: number
          format: double
        parentOrderKey:
          type: integer
          format: int32
        parentChildIndicator:
          type: string
        instruction:
          type: string
          enum:
          - BUY
          - SELL
        positionEffect:
          type: string
          enum:
          - OPENING
          - CLOSING
          - AUTOMATIC
        instrument:
          $ref: '#/components/schemas/Transaction_transactionItem_instrument'
      example:
        accountId: 9
        amount: 3.61607674925191080461672754609026014804840087890625
        cost: 4.1456080298839363962315474054776132106781005859375
        price: 2.027123023002321833274663731572218239307403564453125
        instruction: BUY
        instrument:
          symbol: symbol
          cusip: cusip
          underlyingSymbol: underlyingSymbol
          optionStrikePrice: 1.231513536777255612975068288506008684635162353515625
          bondInterestRate: 1.024645700144157789424070870154537260532379150390625
          description: description
          bondMaturityDate: 2000-01-23T04:56:07.000+00:00
          putCall: PUT
          optionExpirationDate: 2000-01-23T04:56:07.000+00:00
          assetType: EQUITY
        parentOrderKey: 7
        positionEffect: OPENING
        parentChildIndicator: parentChildIndicator
    OptionChain_underlying:
      properties:
        schema:
          $ref: '#/components/schemas/Underlying'
    OptionChain_strategy:
      properties:
        schema:
          $ref: '#/components/schemas/Strategy'
    Hours_sessionHours:
      type: object
      properties:
        additionalProperties:
          type: array
          items:
            type: string
      example:
        additionalProperties:
        - additionalProperties
        - additionalProperties
    Account_securitiesAccount:
      properties:
        schema:
          $ref: '#/components/schemas/SecuritiesAccount'
      example:
        schema:
          schema: ""
    Positions_inner:
      type: object
      properties:
        shortQuantity:
          type: number
          format: double
        averagePrice:
          type: number
          format: double
        currentDayProfitLoss:
          type: number
          format: double
        currentDayProfitLossPercentage:
          type: number
          format: double
        longQuantity:
          type: number
          format: double
        settledLongQuantity:
          type: number
          format: double
        settledShortQuantity:
          type: number
          format: double
        agedQuantity:
          type: number
          format: double
        instrument:
          properties:
            schema:
              $ref: '#/components/schemas/Instrument'
    MarginAccount_positions:
      properties:
        schema:
          $ref: '#/components/schemas/Positions'
    MarginAccount_orderStrategies:
      properties:
        schema:
          $ref: '#/components/schemas/OrderGet'
    MarginAccount_initialBalances:
      type: object
      properties:
        accruedInterest:
          type: number
          format: double
        availableFundsNonMarginableTrade:
          type: number
          format: double
        bondValue:
          type: number
          format: double
        buyingPower:
          type: number
          format: double
        cashBalance:
          type: number
          format: double
        cashAvailableForTrading:
          type: number
          format: double
        cashReceipts:
          type: number
          format: double
        dayTradingBuyingPower:
          type: number
          format: double
        dayTradingBuyingPowerCall:
          type: number
          format: double
        dayTradingEquityCall:
          type: number
          format: double
        equity:
          type: number
          format: double
        equityPercentage:
          type: number
          format: double
        liquidationValue:
          type: number
          format: double
        longMarginValue:
          type: number
          format: double
        longOptionMarketValue:
          type: number
          format: double
        longStockValue:
          type: number
          format: double
        maintenanceCall:
          type: number
          format: double
        maintenanceRequirement:
          type: number
          format: double
        margin:
          type: number
          format: double
        marginEquity:
          type: number
          format: double
        moneyMarketFund:
          type: number
          format: double
        mutualFundValue:
          type: number
          format: double
        regTCall:
          type: number
          format: double
        shortMarginValue:
          type: number
          format: double
        shortOptionMarketValue:
          type: number
          format: double
        shortStockValue:
          type: number
          format: double
        totalCash:
          type: number
          format: double
        isInCall:
          type: boolean
          default: false
        unsettledCash:
          type: number
          format: double
        pendingDeposits:
          type: number
          format: double
        marginBalance:
          type: number
          format: double
        shortBalance:
          type: number
          format: double
        accountValue:
          type: number
          format: double
    MarginAccount_currentBalances:
      properties:
        schema:
          $ref: '#/components/schemas/MarginAccountBalances'
    CashAccount_initialBalances:
      type: object
      properties:
        accruedInterest:
          type: number
          format: double
        cashAvailableForTrading:
          type: number
          format: double
        cashAvailableForWithdrawal:
          type: number
          format: double
        cashBalance:
          type: number
          format: double
        bondValue:
          type: number
          format: double
        cashReceipts:
          type: number
          format: double
        liquidationValue:
          type: number
          format: double
        longOptionMarketValue:
          type: number
          format: double
        longStockValue:
          type: number
          format: double
        moneyMarketFund:
          type: number
          format: double
        mutualFundValue:
          type: number
          format: double
        shortOptionMarketValue:
          type: number
          format: double
        shortStockValue:
          type: number
          format: double
        isInCall:
          type: boolean
          default: false
        unsettledCash:
          type: number
          format: double
        cashDebitCallValue:
          type: number
          format: double
        pendingDeposits:
          type: number
          format: double
        accountValue:
          type: number
          format: double
    CashAccount_currentBalances:
      properties:
        schema:
          $ref: '#/components/schemas/CashAccountBalances'
    OrderGet_session:
      properties:
        schema:
          $ref: '#/components/schemas/Session'
      example:
        schema: NORMAL
    OrderGet_duration:
      properties:
        schema:
          $ref: '#/components/schemas/Duration'
      example:
        schema: DAY
    OrderGet_orderType:
      properties:
        schema:
          $ref: '#/components/schemas/OrderType'
      example:
        schema: MARKET
    OrderGet_cancelTime:
      type: object
      properties:
        date:
          type: string
        shortFormat:
          type: boolean
          default: false
      example:
        date: date
        shortFormat: false
    OrderGet_instrument:
      properties:
        schema:
          $ref: '#/components/schemas/Instrument'
      example:
        schema:
          schema: ""
    OrderGet_orderLegCollection:
      type: object
      properties:
        orderLegType:
          type: string
          enum:
          - EQUITY
          - OPTION
          - INDEX
          - MUTUAL_FUND
          - CASH_EQUIVALENT
          - FIXED_INCOME
          - CURRENCY
        legId:
          type: integer
          format: int64
        instrument:
          $ref: '#/components/schemas/OrderGet_instrument'
        instruction:
          type: string
          enum:
          - BUY
          - SELL
          - BUY_TO_COVER
          - SELL_SHORT
          - BUY_TO_OPEN
          - BUY_TO_CLOSE
          - SELL_TO_OPEN
          - SELL_TO_CLOSE
          - EXCHANGE
        positionEffect:
          type: string
          enum:
          - OPENING
          - CLOSING
          - AUTOMATIC
        quantity:
          type: number
          format: double
        quantityType:
          type: string
          enum:
          - ALL_SHARES
          - DOLLARS
          - SHARES
      example:
        orderLegType: EQUITY
        quantityType: ALL_SHARES
        quantity: 9.301444243932575517419536481611430644989013671875
        instruction: BUY
        legId: 7
        instrument:
          schema:
            schema: ""
        positionEffect: OPENING
    OrderGet_orderActivityCollection:
      type: object
      properties:
        schema:
          $ref: '#/components/schemas/OrderActivity'
      example:
        schema:
          schema:
            quantity: 7.3862819483858839220147274318151175975799560546875
            executionType: FILL
            orderRamainingQuantity: 1.231513536777255612975068288506008684635162353515625
            activityType: EXECUTION
            executionLegs:
            - quantity: 1.489415909854170383397331534069962799549102783203125
              price: 7.4577447736837658709418974467553198337554931640625
              legId: 1
              mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
              time: 2000-01-23T04:56:07.000+00:00
            - quantity: 1.489415909854170383397331534069962799549102783203125
              price: 7.4577447736837658709418974467553198337554931640625
              legId: 1
              mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
              time: 2000-01-23T04:56:07.000+00:00
    Equity_assetType:
      properties:
        schema:
          $ref: '#/components/schemas/AssetType'
    OptionChainOption_putCall:
      properties:
        schema:
          $ref: '#/components/schemas/PutCall'
    OptionChainOption_optionDeliverablesList:
      properties:
        schema:
          $ref: '#/components/schemas/OptionDeliverable'
    OptionDeliverable_inner:
      type: object
      properties:
        symbol:
          type: string
        deliverableUnits:
          type: number
          format: double
        currencyType:
          type: string
          enum:
          - USD
          - CAD
          - EUR
          - JPY
        assetType:
          properties:
            schema:
              $ref: '#/components/schemas/AssetType'
    Execution_executionLegs:
      type: object
      properties:
        legId:
          type: integer
          format: int32
        quantity:
          type: number
          format: double
        mismarkedQuantity:
          type: number
          format: double
        price:
          type: number
          format: double
        time:
          type: string
          format: date-time
      example:
        quantity: 1.489415909854170383397331534069962799549102783203125
        price: 7.4577447736837658709418974467553198337554931640625
        legId: 1
        mismarkedQuantity: 6.8468526983526398765889098285697400569915771484375
        time: 2000-01-23T04:56:07.000+00:00
    CandleList_candles:
      type: object
      properties:
        close:
          type: number
          description: Close
          format: double
        datetime:
          type: integer
          description: DateTime
          format: int64
        high:
          type: number
          description: High
          format: double
        low:
          type: number
          description: Low
          format: double
        open:
          type: number
          description: Open
          format: double
        volume:
          type: number
          description: Volume
          format: double
      example:
        volume: 2.3021358869347654518833223846741020679473876953125
        datetime: 6
        high: 1.46581298050294517310021547018550336360931396484375
        low: 5.962133916683182377482808078639209270477294921875
        close: 0.80082819046101150206595775671303272247314453125
        open: 5.63737665663332876420099637471139430999755859375
    Fundamental_fundamental:
      properties:
        schema:
          $ref: '#/components/schemas/FundamentalData'
    WatchList_instrument:
      type: object
      properties:
        symbol:
          type: string
        description:
          type: string
        assetType:
          type: string
          enum:
          - EQUITY
          - OPTION
          - MUTUAL_FUND
          - FIXED_INCOME
          - INDEX
      example:
        symbol: symbol
        description: description
        assetType: EQUITY
    WatchList_watchlistItems:
      type: object
      properties:
        sequenceId:
          minimum: 0
          type: integer
          format: int32
        quantity:
          type: number
          format: double
        averagePrice:
          minimum: 0
          type: number
          format: double
        commission:
          minimum: 0
          type: number
          format: double
        purchasedDate:
          type: object
        instrument:
          $ref: '#/components/schemas/WatchList_instrument'
        status:
          type: string
          enum:
          - UNCHANGED
          - CREATED
          - UPDATED
          - DELETED
      example:
        quantity: 6.02745618307040320615897144307382404804229736328125
        purchasedDate: {}
        commission: 0.59621339166831821554382031536079011857509613037109375
        instrument:
          symbol: symbol
          description: description
          assetType: EQUITY
        averagePrice: 0.146581298050294517310021547018550336360931396484375
        sequenceId: 0
        status: UNCHANGED
  examples:
    bondExample:
      value:
        bondPrice: 11
        cusip: christopherqueen
        symbol: cdq
        descriptions: Chris Queen Madeup Bond
        exchange: CDQ
        assetType: BOND
    instrumentExample:
      value:
        cusip: 66987E206
        symbol: NG
        description: Novagold Resources Inc.
        exchange: AMEX
        assetType: EQUITY
    fundamentalDataExample:
      value:
        symbol: NG
        high52: 12.845
        low52: 4.65
        dividendAmount: 0
        dividendYield: 0
        peRatio: 0
        pegRatio: 0
        pbRatio: 21.99646
        prRatio: 0
        pcfRatio: 0
        grossMarginTTM: 0
        grossMarginMRQ: 0
        netProfitMarginTTM: 0
        netProfitMarginMRQ: 0
        operatingMarginTTM: 0
        operatingMarginMRQ: 0
        returnOnEquity: 0
        returnOnAssets: 0
        returnOnInvestment: 0
        quickRatio: 0
        currentRatio: 79.54602
        interestCoverage: 0,
        totalDebtToCapital: 44.61743
        ltDebtToEquity: 80.56223
        totalDebtToEquity: 80.56223
        epsTTM: 0
        epsChangePercentTTM: 7.09258
        epsChangeYear: 0
        epsChange: 0
        revChangeYear: 0
        revChangeTTM: 0
        revChangeIn: 0
        sharesOutstanding: 328671632
        marketCapFloat: 239.4534
        marketCap: 2855.913
        bookValuePerShare: 0
        shortIntToFloat: 0
        shortIntDayToCover: 0
        divGrowthRate3Year: 0
        dividendPayAmount: 0
        dividendPayDate: 0
        beta: 0.51493
        vol1DayAvg: 3357300
        vol10DayAvg: 3357303
        vol3MonthAvg: 77925210
    fundamentalExample:
      value:
        NG:
          fundamental:
            symbol: NG
            high52: 12.845
            low52: 4.65
            dividendAmount: 0
            dividendYield: 0
            peRatio: 0
            pegRatio: 0
            pbRatio: 21.99646
            prRatio: 0
            pcfRatio: 0
            grossMarginTTM: 0
            grossMarginMRQ: 0
            netProfitMarginTTM: 0
            netProfitMarginMRQ: 0
            operatingMarginTTM: 0
            operatingMarginMRQ: 0
            returnOnEquity: 0
            returnOnAssets: 0
            returnOnInvestment: 0
            quickRatio: 0
            currentRatio: 79.54602
            interestCoverage: 0,
            totalDebtToCapital: 44.61743
            ltDebtToEquity: 80.56223
            totalDebtToEquity: 80.56223
            epsTTM: 0
            epsChangePercentTTM: 7.09258
            epsChangeYear: 0
            epsChange: 0
            revChangeYear: 0
            revChangeTTM: 0
            revChangeIn: 0
            sharesOutstanding: 328671632
            marketCapFloat: 239.4534
            marketCap: 2855.913
            bookValuePerShare: 0
            shortIntToFloat: 0
            shortIntDayToCover: 0
            divGrowthRate3Year: 0
            dividendPayAmount: 0
            dividendPayDate: 0
            beta: 0.51493
            vol1DayAvg: 3357300
            vol10DayAvg: 3357303
            vol3MonthAvg: 77925210'
          cusip: 66987E206
          symbol: NG
          description: Novagold Resources Inc.
          exchange: AMEX
          assetType: EQUITY
  securitySchemes:
    application:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://auth.tdameritrade.com/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost&client_id=YHJUQFCHRMJ7XODGVGGPINB05SCG2H45%40AMER.OAUTHAP
          tokenUrl: /oauth2/token
          scopes: {}
    bearerAuth:
      type: http
      scheme: bearer
