> ## Documentation Index
> Fetch the complete documentation index at: https://developers.betdex.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch historical won, lost or voided orders by wallet

> Fetch historical (won, lost or voided) orders for the given wallet, filtered by query type (settlement date or event start date). Optionally filter by market. Pagination is by offset using the selected queryType timestamp (settledAt or eventExpectedStartTime) and id as the primary and secondary offsets. Fetch the initial page without any offsets set, and use returned _next_offset values iteratively until _next_offset is null, or _count is 0.



## OpenAPI

````yaml https://docs.api.monacoprotocol.xyz/api/v1/exchange-openapi-general.json get /orders/historical
openapi: 3.1.0
info:
  title: BetDEX General Integration API
  description: >-
    A RESTful API that allows you to interact with the BetDEX Exchange. Provides
    endpoints for managing Events, Markets, Sessions, Wallets and Orders. To
    interact with the API, a client must have an App Id and an API Key to
    authenticate and create a session.
  version: '0.1'
servers:
  - url: https://sandbox.api.btdx.io/
    description: Sandbox API Server
  - url: https://prod.api.btdx.io/
    description: Production API Server
security: []
tags:
  - name: API Key Management
  - name: App Management
  - name: Currencies
  - name: Event Categories
  - name: Event Groups
  - name: Event Subcategories
  - name: Events
  - name: External Reference Sources
  - name: Heartbeat Management
  - name: Market Prices
  - name: Market Types
  - name: Markets
  - name: Orders
  - name: Participants
  - name: Session Management
  - name: Status
  - name: Trades
  - name: Wallet API Key Management
  - name: Wallets
paths:
  /orders/historical:
    get:
      tags:
        - Orders
      summary: Fetch historical won, lost or voided orders by wallet
      description: >-
        Fetch historical (won, lost or voided) orders for the given wallet,
        filtered by query type (settlement date or event start date). Optionally
        filter by market. Pagination is by offset using the selected queryType
        timestamp (settledAt or eventExpectedStartTime) and id as the primary
        and secondary offsets. Fetch the initial page without any offsets set,
        and use returned _next_offset values iteratively until _next_offset is
        null, or _count is 0.
      operationId: getOrdersHistorical
      parameters:
        - name: authorization
          in: header
          required: true
          schema:
            type: string
        - name: walletId
          in: query
          required: true
          schema:
            type: string
        - name: queryType
          in: query
          required: true
          schema:
            type: string
            enum:
              - SettledDate
              - EventStartDate
        - name: from
          in: query
          required: true
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: true
          schema:
            type: string
            format: date-time
        - name: marketId
          in: query
          required: false
          schema:
            type: string
        - name: offset
          in: query
          description: Value to offset the current page request by (inclusive)
          schema:
            type: string
            format: date-time
        - name: secondaryOffset
          in: query
          description: >-
            Secondary offset value, i.e., if offset value is non-unique
            (exclusive)
          schema:
            type: integer
            format: int64
        - name: limit
          in: query
          description: Maximum number of elements to retrieve
          schema:
            type: integer
        - name: sort
          in: query
          description: |
            Sorting criteria in the format: asc|desc. "

            Default sort order is ascending.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OffsetPageOrderHistoricalResponse'
        '401':
          description: Session invalid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/OffsetPageOrderHistoricalResponse'
components:
  schemas:
    OffsetPageOrderHistoricalResponse:
      type: object
      properties:
        _meta:
          $ref: '#/components/schemas/OffsetPageMetaInstantLong'
        documents:
          $ref: '#/components/schemas/OrdersSettledResponseDocuments'
    OffsetPageMetaInstantLong:
      type: object
      properties:
        _primary_document:
          type: string
          enum:
            - apiKeys
            - apps
            - categories
            - commissionRates
            - currencies
            - depositAddresses
            - depositRequests
            - events
            - eventGroups
            - externalReferences
            - externalReferenceSources
            - heartbeats
            - ids
            - markets
            - marketOutcomes
            - marketPositions
            - marketTypes
            - orders
            - participants
            - prices
            - priceLadders
            - sessions
            - statuses
            - subcategories
            - trades
            - transactions
            - wallets
            - walletMetrics
            - withdrawalRequests
        _count:
          type: integer
          format: int32
        _offset:
          $ref: '#/components/schemas/OffsetRequestInstantLong'
        _next_offset:
          $ref: '#/components/schemas/OffsetRequestInstantLong'
    OrdersSettledResponseDocuments:
      type: object
      properties:
        orders:
          type: array
          items:
            $ref: '#/components/schemas/OrderSettled'
        markets:
          type: array
          items:
            $ref: '#/components/schemas/MarketSummary'
        events:
          type: array
          items:
            $ref: '#/components/schemas/EventSummary'
        trades:
          type: array
          items:
            $ref: '#/components/schemas/TradeSummary'
        eventGroups:
          type: array
          items:
            $ref: '#/components/schemas/EventGroupSummary'
        subcategories:
          type: array
          items:
            $ref: '#/components/schemas/SubcategorySummary'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategorySummary'
    OffsetRequestInstantLong:
      type: object
      properties:
        offset:
          type: string
          format: date-time
        secondaryOffset:
          type: integer
          format: int64
        limit:
          type: integer
          format: int32
        sort:
          type: string
          enum:
            - ASC
            - DESC
    OrderSettled:
      type: object
      properties:
        id:
          type: string
        appId:
          type: string
        market:
          $ref: '#/components/schemas/DocumentReference'
        walletId:
          type: string
        side:
          type: string
          enum:
            - For
            - Against
        outcomeId:
          type: string
        outcomeTitle:
          type: string
        price:
          type: number
        stake:
          type: number
        stakeUnmatched:
          type: number
        stakeVoided:
          type: number
        keepWhenInPlay:
          type: boolean
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
        commissionRateId:
          type: string
        reference:
          type: string
        status:
          type: string
          description: |
            The status of an order can be one of the following
            <ul>
                <li> Cancelled - The order was not matched and has been cancelled either on request or automatically</li>
                <li> Failed - A pending order was persisted but then failed to be fully created</li>
                <li> Matched - The order has been matched, either fully, or partially where the remaining unmatched stake has been cancelled, either on request or automatically</li>
                <li> PartiallyMatched - The order has been partially matched, and the remaining unmatched portion might still be matched</li>
                <li> Pending - An order has been persisted but has not yet been processed</li>
                <li> Unmatched - The order has not yet been matched, and the remaining unmatched portion might still be matched</li>
                <li> Won - The market has been settled and this previously Matched order has been deemed to have Won</li>
                <li> Lost - The market has been settled and this previously Matched order has been deemed to have Lost</li>
                <li> Voided - The market has been voided so this order has been voided</li>
            </ul>
          enum:
            - Cancelled
            - Failed
            - Matched
            - PartiallyMatched
            - Pending
            - Unmatched
            - Won
            - Lost
            - Voided
        matchBehavior:
          type: string
          enum:
            - RetainUnmatched
            - CancelUnmatched
        cancellationReason:
          type: string
        settledAt:
          type: string
          format: date-time
        eventExpectedStartTime:
          type: string
          format: date-time
    MarketSummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        inPlayStatus:
          type: string
          enum:
            - NotApplicable
            - PrePlay
            - InPlay
        published:
          type: boolean
        suspended:
          type: boolean
        status:
          type: string
          enum:
            - Initializing
            - Open
            - Locking
            - Locked
            - Settling
            - Settled
            - Voiding
            - Voided
            - Closed
        lockAt:
          type: string
          format: date-time
        settledAt:
          type: string
          format: date-time
        event:
          $ref: '#/components/schemas/DocumentReference'
    EventSummary:
      type: object
      properties:
        id:
          type: string
        eventGroup:
          $ref: '#/components/schemas/DocumentReference'
        name:
          type: string
        code:
          type: string
        expectedStartTime:
          type: string
          format: date-time
        active:
          type: boolean
    TradeSummary:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/DocumentReference'
        id:
          type: string
        price:
          type: number
        stake:
          type: number
        profitLoss:
          type: number
          description: |2
               Profit or Loss for the trade, calculated as follows:<br>
               'For' trades
               <ul>
                   <li> Winning trade; profitLoss = stake * (price-1) </li>
                   <li> Losing trade, profitLoss = (stake * -1)  </li>
                   <li> Voided trade, profitLoss = 0 </li>
               </ul>
               'Against' trades
              <ul>
                   <li> Winning trade, profitLoss = stake </li>
                   <li> Losing trade, profitLoss = stake * (price-1) * (-1) </li>
                   <li> Voided trade, profitLoss = 0 </li>
               </ul>
        createdAt:
          type: string
          format: date-time
    EventGroupSummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        subcategory:
          $ref: '#/components/schemas/DocumentReference'
    SubcategorySummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        category:
          $ref: '#/components/schemas/DocumentReference'
    CategorySummary:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    DocumentReference:
      type: object
      properties:
        _ref:
          type: string
        _ids:
          type: array
          items:
            type: string

````