{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "FixedPriceOrderTransaction",
  "description": "A FixedPriceOrderTransaction represents the creation of a Fixed Price Order in the user's account. A Fixed Price Order is an Order that is filled immediately at a specified price.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The Transaction's Identifier.",
      "format": "String representation of the numerical OANDA-assigned TransactionID"
    },
    "time": {
      "type": "string",
      "description": "The date/time when the Transaction was created.",
      "format": "The RFC 3339 representation is a string conforming to https://tools.ietf.org/rfc/rfc3339.txt. The Unix representation is a string representing the number of seconds since the Unix Epoch (January 1st, 1970 at UTC). The value is a fractional number, where the fractional part represents a fraction of a second (up to nine decimal places)."
    },
    "userID": {
      "type": "integer",
      "description": "The ID of the user that initiated the creation of the Transaction."
    },
    "accountID": {
      "type": "string",
      "description": "The ID of the Account the Transaction was created for.",
      "format": "\"-\"-delimited string with format \"{siteID}-{divisionID}-{userID}-{accountNumber}\""
    },
    "batchID": {
      "type": "string",
      "description": "The ID of the \"batch\" that the Transaction belongs to. Transactions in the same batch are applied to the Account simultaneously.",
      "format": "String representation of the numerical OANDA-assigned TransactionID"
    },
    "requestID": {
      "type": "string",
      "description": "The Request ID of the request which generated the transaction."
    },
    "type": {
      "type": "string",
      "description": "The Type of the Transaction. Always set to \"FIXED_PRICE_ORDER\" in a FixedPriceOrderTransaction.",
      "enum": [
        "CREATE",
        "CLOSE",
        "REOPEN",
        "CLIENT_CONFIGURE",
        "CLIENT_CONFIGURE_REJECT",
        "TRANSFER_FUNDS",
        "TRANSFER_FUNDS_REJECT",
        "MARKET_ORDER",
        "MARKET_ORDER_REJECT",
        "FIXED_PRICE_ORDER",
        "LIMIT_ORDER",
        "LIMIT_ORDER_REJECT",
        "STOP_ORDER",
        "STOP_ORDER_REJECT",
        "MARKET_IF_TOUCHED_ORDER",
        "MARKET_IF_TOUCHED_ORDER_REJECT",
        "TAKE_PROFIT_ORDER",
        "TAKE_PROFIT_ORDER_REJECT",
        "STOP_LOSS_ORDER",
        "STOP_LOSS_ORDER_REJECT",
        "TRAILING_STOP_LOSS_ORDER",
        "TRAILING_STOP_LOSS_ORDER_REJECT",
        "ORDER_FILL",
        "ORDER_CANCEL",
        "ORDER_CANCEL_REJECT",
        "ORDER_CLIENT_EXTENSIONS_MODIFY",
        "ORDER_CLIENT_EXTENSIONS_MODIFY_REJECT",
        "TRADE_CLIENT_EXTENSIONS_MODIFY",
        "TRADE_CLIENT_EXTENSIONS_MODIFY_REJECT",
        "MARGIN_CALL_ENTER",
        "MARGIN_CALL_EXTEND",
        "MARGIN_CALL_EXIT",
        "DELAYED_TRADE_CLOSURE",
        "DAILY_FINANCING",
        "RESET_RESETTABLE_PL"
      ]
    },
    "instrument": {
      "type": "string",
      "description": "The Fixed Price Order's Instrument.",
      "format": "A string containing the base currency and quote currency delimited by a \"_\"."
    },
    "units": {
      "type": "string",
      "description": "The quantity requested to be filled by the Fixed Price Order. A posititive number of units results in a long Order, and a negative number of units results in a short Order.",
      "format": "A decimal number encoded as a string. The amount of precision provided depends on what the number represents."
    },
    "price": {
      "type": "string",
      "description": "The price specified for the Fixed Price Order. This price is the exact price that the Fixed Price Order will be filled at.",
      "format": "A decimal number encodes as a string. The amount of precision provided depends on the Instrument."
    },
    "positionFill": {
      "type": "string",
      "description": "Specification of how Positions in the Account are modified when the Order is filled.",
      "enum": [
        "OPEN_ONLY",
        "REDUCE_FIRST",
        "REDUCE_ONLY",
        "DEFAULT"
      ]
    },
    "tradeState": {
      "type": "string",
      "description": "The state that the trade resulting from the Fixed Price Order should be set to."
    },
    "reason": {
      "type": "string",
      "description": "The reason that the Fixed Price Order was created",
      "enum": [
        "PLATFORM_ACCOUNT_MIGRATION"
      ]
    },
    "clientExtensions": {
      "$ref": "#/definitions/ClientExtensions"
    },
    "takeProfitOnFill": {
      "$ref": "#/definitions/TakeProfitDetails"
    },
    "stopLossOnFill": {
      "$ref": "#/definitions/StopLossDetails"
    },
    "trailingStopLossOnFill": {
      "$ref": "#/definitions/TrailingStopLossDetails"
    },
    "tradeClientExtensions": {
      "$ref": "#/definitions/ClientExtensions"
    }
  }
}