> ## 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.

# Create order requests (Coming soon)

> Submit a request to create multiple orders and get back an acknowledgement response containing the orders' ID's immediately. Orders with status of Pending will be created immediately in order to generate IDs; Any in-play/BIR delay, as well as initial matching will be performed asynchronously. The order IDs, and/or any errors, will be ordered in the response in the same order as in the request. Updates about orders created via this method maybe found as OrderUpdate messages through the StreamAPI and/or by calling GET /orders/{id} with the returned IDs



## OpenAPI

````yaml https://docs.api.monacoprotocol.xyz/api/v1/exchange-openapi-general.json post /order-requests/batch
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:
  /order-requests/batch:
    post:
      tags:
        - Orders
      summary: Create order requests (Coming soon)
      description: >-
        Submit a request to create multiple orders and get back an
        acknowledgement response containing the orders' ID's immediately. Orders
        with status of Pending will be created immediately in order to generate
        IDs; Any in-play/BIR delay, as well as initial matching will be
        performed asynchronously. The order IDs, and/or any errors, will be
        ordered in the response in the same order as in the request. Updates
        about orders created via this method maybe found as OrderUpdate messages
        through the StreamAPI and/or by calling GET /orders/{id} with the
        returned IDs
      operationId: createOrderRequests
      parameters:
        - name: authorization
          in: header
          description: Header with the accessToken for the current session
          required: true
          schema:
            type: string
          example: Bearer eyJ0eXAiOiJ...bjV7AtDgA
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchCreateOrderRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BatchIDResponse'
        '400':
          description: Request invalid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BatchIDResponse'
        '401':
          description: Session invalid
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/BatchIDResponse'
components:
  schemas:
    BatchCreateOrderRequest:
      type: object
      properties:
        requests:
          type: array
          description: list of individual order requests
          items:
            $ref: '#/components/schemas/CreateOrderRequest'
          maxItems: 50
          minItems: 1
      required:
        - requests
    BatchIDResponse:
      type: object
      properties:
        _meta:
          $ref: '#/components/schemas/Meta'
        ids:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/OrderFailure'
              - $ref: '#/components/schemas/OrderID'
    CreateOrderRequest:
      type: object
      properties:
        walletId:
          type: string
        marketId:
          type: string
        side:
          type: string
          enum:
            - For
            - Against
        outcomeId:
          type: string
        price:
          type: number
        stake:
          type: number
        keepWhenInPlay:
          type: boolean
          description: >-
            Optional - whether to keep unmatched portion of the order when its
            market enters InPlay (only relevant if the market has
            eventStartAction: CancelUnmatchedLiquidity) - default is false
        matchBehavior:
          type: string
          description: |
            Optional - How any unmatched portion of an order is treated:
            <ul>
                <li>RetainUnmatched - unmatched portion persists as an offer (default)</li>
                <li>CancelUnmatched - unmatched portion is cancelled</li>
            </ul>
          enum:
            - RetainUnmatched
            - CancelUnmatched
        reference:
          type: string
        commissionRateId:
          type: string
          description: >
            Optional - to use a different commission rate for this order than
            your app's

            default commission rate. If omitted or set to null, the app's
            default

            commission rate will be used (if it has one).
      required:
        - keepWhenInPlay
        - marketId
        - outcomeId
        - price
        - side
        - stake
        - walletId
    Meta:
      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
        _page:
          $ref: '#/components/schemas/PageMeta'
    OrderFailure:
      allOf:
        - $ref: '#/components/schemas/OrderResult'
        - type: object
          properties:
            errorCode:
              type: string
              description: >
                Order operation error code describing type of an error. Possible
                values:

                MARKET_NOT_FOUND,

                INVALID_MARKET_STATUS,

                SUSPENDED_MARKET,

                MARKET_OUTCOME_NOT_FOUND,

                COMMISSION_RATE_NOT_FOUND,

                WALLET_NOT_FOUND,

                WALLET_INSUFFICIENT_CREDIT,

                WALLET_ACCOUNT_NOT_FOUND,

                WALLET_ACCOUNT_INSUFFICIENT_CREDIT,

                MARKET_POSITION_NOT_FOUND,

                ORDER_ALREADY_EXISTS,

                INTERRUPTED
            errorMessage:
              type: string
              description: Order operation error detailed message
        - $ref: '#/components/schemas/OrderIDResult'
      description: Order operation error
      required:
        - errorCode
    OrderID:
      allOf:
        - $ref: '#/components/schemas/OrderIDResult'
        - type: object
          properties:
            id:
              type: string
    PageMeta:
      type: object
      properties:
        _pageNumber:
          type: integer
          format: int32
        _pageSize:
          type: integer
          format: int32
        _totalElements:
          type: integer
          format: int64
        _totalPages:
          type: integer
          format: int32
    OrderResult:
      type: object
    OrderIDResult:
      type: object

````