{
  "swagger": "2.0",
  "info": {
    "title": "connamara/ep3/v1beta1/accounts_api.proto",
    "version": "1"
  },
  "tags": [
    {
      "name": "AccountsAPI"
    },
    {
      "name": "MarketDataAPI"
    },
    {
      "name": "MarketDataSubscriptionAPI"
    },
    {
      "name": "OrderAPI"
    },
    {
      "name": "OrderEntryAPI"
    },
    {
      "name": "PositionAPI"
    },
    {
      "name": "QuoteAPI"
    },
    {
      "name": "QuoteEntryAPI"
    }
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json",
    "application/x-ndjson"
  ],
  "paths": {
    "/api/v1/cancel_order": {
      "post": {
        "summary": "CancelOrder requests cancellation of a working order.",
        "operationId": "OrderEntryAPI_CancelOrder",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1CancelOrderResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to cancel an existing order with the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CancelOrderRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/cancel_order_list": {
      "post": {
        "summary": "CancelOrderList requests cancellation of a list of working orders.",
        "operationId": "OrderEntryAPI_CancelOrderList",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1CancelOrderListResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to cancel multiple existing orders with the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CancelOrderListRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/cancel_replace_order": {
      "post": {
        "summary": "CancelReplaceOrder requests modification of a working order.",
        "operationId": "OrderEntryAPI_CancelReplaceOrder",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1CancelReplaceOrderResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to update an existing order with the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/connamaraep3v1beta1CancelReplaceOrderRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/cancel_replace_order_list": {
      "post": {
        "summary": "CancelReplaceOrderList requests modification of a list of working orders.",
        "operationId": "OrderEntryAPI_CancelReplaceOrderList",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1CancelReplaceOrderListResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to update multiple existing orders with the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CancelReplaceOrderListRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/create_account_balance_subscription": {
      "post": {
        "summary": "CreateAccountBalanceSubscription creates a subscription for currency balances in an account.",
        "operationId": "PositionAPI_CreateAccountBalanceSubscription",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1CreateAccountBalanceSubscriptionResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1CreateAccountBalanceSubscriptionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to start a balance subscription to get snapshots and updates for this session.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CreateAccountBalanceSubscriptionRequest"
            }
          }
        ],
        "tags": [
          "PositionAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/create_market_data_subscription": {
      "post": {
        "summary": "CreateMarketDataSubscription creates a subscription for market data.",
        "operationId": "MarketDataSubscriptionAPI_CreateMarketDataSubscription",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1CreateMarketDataSubscriptionResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1CreateMarketDataSubscriptionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CreateMarketDataSubscriptionRequest"
            }
          }
        ],
        "tags": [
          "MarketDataSubscriptionAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/create_order_subscription": {
      "post": {
        "summary": "CreateOrderSubscription creates a subscription for working orders and updates.",
        "operationId": "OrderEntryAPI_CreateOrderSubscription",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1CreateOrderSubscriptionResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1CreateOrderSubscriptionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to start an order subscription to get snapshots and updates for this session.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CreateOrderSubscriptionRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/create_position_subscription": {
      "post": {
        "summary": "CreatePositionSubscription creates a subscription for positions.",
        "operationId": "PositionAPI_CreatePositionSubscription",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1CreatePositionSubscriptionResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1CreatePositionSubscriptionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to start a position subscription to get snapshots and updates for this session.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CreatePositionSubscriptionRequest"
            }
          }
        ],
        "tags": [
          "PositionAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/create_quote": {
      "post": {
        "summary": "CreateQuote inserts a quote into the exchange.",
        "operationId": "QuoteEntryAPI_CreateQuote",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1CreateQuoteResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to insert a quote into the exchange.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CreateQuoteRequest"
            }
          }
        ],
        "tags": [
          "QuoteEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/create_quote_subscription": {
      "post": {
        "summary": "CreateQuoteSubscription creates a subscription for working quotes and requests.",
        "operationId": "QuoteEntryAPI_CreateQuoteSubscription",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1CreateQuoteSubscriptionResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1CreateQuoteSubscriptionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to start a quote subscription to get snapshots and updates for this session.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CreateQuoteSubscriptionRequest"
            }
          }
        ],
        "tags": [
          "QuoteEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/create_request_for_quote": {
      "post": {
        "summary": "CreateRequestForQuote inserts a request for quote into the exchange.",
        "operationId": "QuoteEntryAPI_CreateRequestForQuote",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1CreateRequestForQuoteResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to insert a request for quote into the exchange.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1CreateRequestForQuoteRequest"
            }
          }
        ],
        "tags": [
          "QuoteEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/delete_quote": {
      "post": {
        "summary": "DeleteQuote deletes a quote from the exchange.",
        "operationId": "QuoteEntryAPI_DeleteQuote",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1DeleteQuoteResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to delete a quote from the exchange.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1DeleteQuoteRequest"
            }
          }
        ],
        "tags": [
          "QuoteEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/download_executions": {
      "post": {
        "summary": "DownloadExecutions searches for exchange executions using the given details to filter and returns the executions as a csv file stream.",
        "operationId": "OrderAPI_DownloadExecutions",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1DownloadExecutionsResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1DownloadExecutionsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to download executions filtered using the given details as a csv.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1DownloadExecutionsRequest"
            }
          }
        ],
        "tags": [
          "OrderAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/download_orders": {
      "post": {
        "summary": "DownloadOrders searches for exchange orders using the given details to filter and returns the orders as a csv file stream.",
        "operationId": "OrderAPI_DownloadOrders",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1DownloadOrdersResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1DownloadOrdersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to download orders filtered using the given details as a csv.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1DownloadOrdersRequest"
            }
          }
        ],
        "tags": [
          "OrderAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/download_trades": {
      "post": {
        "summary": "DownloadTrades searches for exchange trades using the given details to filter and returns the trades as a csv file stream.",
        "operationId": "OrderAPI_DownloadTrades",
        "responses": {
          "200": {
            "description": "A successful response.(streaming responses)",
            "schema": {
              "type": "object",
              "properties": {
                "result": {
                  "$ref": "#/definitions/v1beta1DownloadTradesResponse"
                },
                "error": {
                  "$ref": "#/definitions/rpcStatus"
                }
              },
              "title": "Stream result of v1beta1DownloadTradesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to download trades filtered using the given details as a csv.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1DownloadTradesRequest"
            }
          }
        ],
        "tags": [
          "OrderAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/x-ndjson"
        ]
      }
    },
    "/api/v1/get_account_balance": {
      "post": {
        "summary": "GetAccountBalance gets the balance for currency in an account.",
        "operationId": "PositionAPI_GetAccountBalance",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1GetAccountBalanceResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to get the balance of the given account in the given currency.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1GetAccountBalanceRequest"
            }
          }
        ],
        "tags": [
          "PositionAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/get_instrument_metadata": {
      "post": {
        "summary": "GetInstrumentMetadata returns miscellaneous instrument metadata.",
        "operationId": "MarketDataAPI_GetInstrumentMetadata",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1GetInstrumentMetadataResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1GetInstrumentMetadataRequest"
            }
          }
        ],
        "tags": [
          "MarketDataAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/get_open_orders": {
      "post": {
        "summary": "GetOpenOrders returns a snapshot of working orders.",
        "operationId": "OrderEntryAPI_GetOpenOrders",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1GetOpenOrdersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to get open orders.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1GetOpenOrdersRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/get_trade_stats": {
      "post": {
        "summary": "GetTradeStats gets aggregated trade data for a given period of time.",
        "operationId": "OrderAPI_GetTradeStats",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1GetTradeStatsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1GetTradeStatsRequest"
            }
          }
        ],
        "tags": [
          "OrderAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/get_who_am_i": {
      "post": {
        "summary": "GetWhoAmI returns the user information of the caller.",
        "operationId": "AccountsAPI_GetWhoAmI",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1GetWhoAmIResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to get the user information of the caller.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1GetWhoAmIRequest"
            }
          }
        ],
        "tags": [
          "AccountsAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/insert_order": {
      "post": {
        "summary": "InsertOrder inserts orders into the exchange and returns the exchange assigned order ID.",
        "operationId": "OrderEntryAPI_InsertOrder",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1InsertOrderResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to insert an order with the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/connamaraep3v1beta1InsertOrderRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/insert_order_cross": {
      "post": {
        "summary": "InsertOrderCross creates a new order cross and returns the exchange assigned order IDs.",
        "operationId": "OrderEntryAPI_InsertOrderCross",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1InsertOrderCrossResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to insert orders for a cross with the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/connamaraep3v1beta1InsertOrderCrossRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/insert_order_list": {
      "post": {
        "summary": "InsertOrderList inserts a list of orders into the exchange and returns the exchange assigned order IDs.",
        "operationId": "OrderEntryAPI_InsertOrderList",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1InsertOrderListResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to insert multiple orders with the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1InsertOrderListRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_account_balances": {
      "post": {
        "summary": "ListAccountBalances lists the currency balances in an account.",
        "operationId": "PositionAPI_ListAccountBalances",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListAccountBalancesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to list the balances of a given account for all currencies.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListAccountBalancesRequest"
            }
          }
        ],
        "tags": [
          "PositionAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_account_positions": {
      "post": {
        "summary": "ListAccountPositions lists the positions within an account.",
        "operationId": "PositionAPI_ListAccountPositions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListAccountPositionsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to list the positions of a given account.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListAccountPositionsRequest"
            }
          }
        ],
        "tags": [
          "PositionAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_accounts": {
      "post": {
        "summary": "ListAccounts returns the accounts that the user may use to trade.",
        "operationId": "AccountsAPI_ListAccounts",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListAccountsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to list the accounts belonging to the specified user.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListAccountsRequest"
            }
          }
        ],
        "tags": [
          "AccountsAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_dealers": {
      "post": {
        "summary": "ListDealers returns the whitelist of firms that are able to receive a request for quote that I send.",
        "operationId": "QuoteEntryAPI_ListDealers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListDealersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to get the whitelist of firms that are able to receive a request for quote that I send.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListDealersRequest"
            }
          }
        ],
        "tags": [
          "QuoteEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_instruments": {
      "post": {
        "summary": "ListInstruments returns a list of instruments matching the request.",
        "operationId": "MarketDataAPI_ListInstruments",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListInstrumentsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListInstrumentsRequest"
            }
          }
        ],
        "tags": [
          "MarketDataAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_requesters": {
      "post": {
        "summary": "ListRequesters returns the whitelist of firms that are able to send a request for quote to my firm.",
        "operationId": "QuoteEntryAPI_ListRequesters",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListRequestersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to get the whitelist of firms that are able to send a request for quote to my firm.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListRequestersRequest"
            }
          }
        ],
        "tags": [
          "QuoteEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_symbols": {
      "post": {
        "summary": "ListSymbols returns a list of symbols on the exchange.",
        "operationId": "MarketDataAPI_ListSymbols",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListSymbolsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListSymbolsRequest"
            }
          }
        ],
        "tags": [
          "MarketDataAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/list_users": {
      "post": {
        "summary": "ListUsers returns the users that the user may trade on behalf of.",
        "operationId": "AccountsAPI_ListUsers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1ListUsersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to list the users that the user may trade on behalf of.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1ListUsersRequest"
            }
          }
        ],
        "tags": [
          "AccountsAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/pass_quote": {
      "post": {
        "summary": "PassQuote passes on a quote from the exchange.",
        "operationId": "QuoteEntryAPI_PassQuote",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1PassQuoteResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to pass on a quote from the exchange.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1PassQuoteRequest"
            }
          }
        ],
        "tags": [
          "QuoteEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/preview_order": {
      "post": {
        "summary": "PreviewOrder creates an order and assigns attributes but does not insert the order into the exchange.",
        "operationId": "OrderEntryAPI_PreviewOrder",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1PreviewOrderResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1PreviewOrderRequest"
            }
          }
        ],
        "tags": [
          "OrderEntryAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/search_executions": {
      "post": {
        "summary": "SearchExecutions searches for exchange executions using the given details to filter and returns a list of the found executions.",
        "operationId": "OrderAPI_SearchExecutions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1SearchExecutionsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to search for executions filtered using the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1SearchExecutionsRequest"
            }
          }
        ],
        "tags": [
          "OrderAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/search_orders": {
      "post": {
        "summary": "SearchOrders searches for exchange orders using the given details to filter and returns a list of the found orders.",
        "operationId": "OrderAPI_SearchOrders",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1SearchOrdersResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to search for orders filtered using the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1SearchOrdersRequest"
            }
          }
        ],
        "tags": [
          "OrderAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/search_quotes": {
      "post": {
        "summary": "SearchQuotes lists all quotes matching the request.",
        "operationId": "QuoteAPI_SearchQuotes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1SearchQuotesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1SearchQuotesRequest"
            }
          }
        ],
        "tags": [
          "QuoteAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/search_request_for_quotes": {
      "post": {
        "summary": "SearchRequestForQuotes lists all request for quotes matching the request.",
        "operationId": "QuoteAPI_SearchRequestForQuotes",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1SearchRequestForQuotesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1SearchRequestForQuotesRequest"
            }
          }
        ],
        "tags": [
          "QuoteAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    },
    "/api/v1/search_trades": {
      "post": {
        "summary": "SearchTrades searches for exchange trades using the given details to filter and returns a list of the found trades.",
        "operationId": "OrderAPI_SearchTrades",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1beta1SearchTradesResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "Request to search for trades filtered using the given details.",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1beta1SearchTradesRequest"
            }
          }
        ],
        "tags": [
          "OrderAPI"
        ],
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ]
      }
    }
  },
  "definitions": {
    "CreateAccountBalanceSubscriptionResponseBalanceEntry": {
      "type": "object",
      "properties": {
        "account": {
          "type": "string",
          "title": "Account is the fully qualified resource names of the account (ie: \"firms/[firmid]/accounts/[accountid]\")"
        },
        "currency": {
          "type": "string",
          "description": "ISO currency code of the fiat currency associated with this balance entry."
        },
        "balance": {
          "$ref": "#/definitions/v1beta1GetAccountBalanceResponse",
          "description": "The balance of the account and currency pair."
        }
      },
      "description": "BalanceEntry is the current state of an individual balance entry in the system."
    },
    "CreateMarketDataSubscriptionResponseBookEntry": {
      "type": "object",
      "properties": {
        "px": {
          "type": "string",
          "format": "int64"
        },
        "qty": {
          "type": "string",
          "format": "int64"
        },
        "symbol_sub_type": {
          "type": "string"
        }
      },
      "description": "BookEntry lists a price and volume for a given record in a market data update."
    },
    "GetAccountBalanceResponseSecurityEntry": {
      "type": "object",
      "properties": {
        "balance": {
          "type": "string",
          "description": "Amount of the security held in the account."
        },
        "market_value": {
          "type": "string",
          "description": "The actual mark to market value of the security."
        },
        "haircut": {
          "type": "string",
          "format": "int64",
          "description": "The haircut value of a single unit of the security ID in units of basis points (100 basis points is 1%)."
        },
        "notional_value": {
          "type": "string",
          "description": "Represents the notional value of the security, which is the balance multiplied by the market value."
        },
        "available_value": {
          "type": "string",
          "description": "Represents the available collateral value of the security, which is the balance multiplied by the market value less the haircut percentage."
        }
      },
      "description": "SecurityEntry describes the detailed valuation of a security with respect to the market price and adjustments applied to augment a base currency's collateral."
    },
    "connamaraep3v1beta1CancelReject": {
      "type": "object",
      "properties": {
        "order_id": {
          "type": "string",
          "title": "Maps to exchange assigned ID for the order that could not be canceled or replaced"
        },
        "reject_reason": {
          "$ref": "#/definitions/v1beta1CxlRejReason",
          "title": "Reason for the cancel or cancel reject"
        },
        "text": {
          "type": "string",
          "title": "Free format text"
        },
        "is_replace": {
          "type": "boolean",
          "title": "Set if this cancel reject was for a replace or not"
        },
        "clord_id": {
          "type": "string",
          "title": "Client assigned ID for the order"
        },
        "transact_time": {
          "type": "string",
          "format": "date-time"
        }
      },
      "description": "CancelReject denotes a cancel or replace request that was rejected."
    },
    "connamaraep3v1beta1CancelReplaceOrderRequest": {
      "type": "object",
      "properties": {
        "order_id": {
          "type": "string",
          "description": "Exchange assigned ID for the order to be replaced (required)."
        },
        "clord_id": {
          "type": "string",
          "description": "Client assigned ID for the cancel replace order."
        },
        "symbol": {
          "type": "string",
          "description": "Desired instrument's symbol (required)."
        },
        "price": {
          "type": "string",
          "format": "int64",
          "description": "Desired limit price for the replaced order (required for limit and stop limit orders)."
        },
        "order_qty": {
          "type": "string",
          "format": "int64",
          "description": "Desired order quantity for the replaced order."
        },
        "time_in_force": {
          "$ref": "#/definitions/v1beta1TimeInForce",
          "description": "Desired Time in Force for the replaced order."
        },
        "stop_price": {
          "type": "string",
          "format": "int64",
          "description": "Desired stop price for the replaced order (required for stop and stop limit orders)."
        },
        "min_qty": {
          "type": "string",
          "format": "int64",
          "description": "Desired minimum quantity for the replaced order (optional for IOC time in force)."
        },
        "all_or_none": {
          "type": "boolean",
          "description": "A flag that if set indicates that either all of the order quantity should be filled, or none of it (partial fills will not be allowed)."
        },
        "participate_dont_initiate": {
          "type": "boolean",
          "description": "A flag that if set indicates that immediate match is not desired."
        },
        "symbol_sub_type": {
          "type": "string",
          "description": "The sub type of the instrument symbol."
        },
        "strict_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates this particular order must be filled at the exact limit price specified without price improvement."
        },
        "good_till_time": {
          "type": "string",
          "format": "date-time",
          "description": "The time at which this order shall expire if the time in force is set as good till time."
        },
        "best_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates that the price of a limit order shall be set to the price at the top of the book on the same side as this order."
        },
        "immediately_executable_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates that the price of a limit order shall be set to the price at the top of the book on the opposing side as this order, thus able to immediately match."
        },
        "manual_order_indicator": {
          "$ref": "#/definitions/v1beta1ManualOrderIndicator",
          "description": "If present, designates the manual order indicator."
        },
        "clord_link_id": {
          "type": "string",
          "title": "Client assigned group ID for the order"
        }
      },
      "description": "Request to update an existing order with the given details."
    },
    "connamaraep3v1beta1Execution": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "Exchange assigned ID for this execution"
        },
        "order": {
          "$ref": "#/definitions/connamaraep3v1beta1Order",
          "title": "The Order the time of this execution"
        },
        "last_shares": {
          "type": "string",
          "format": "int64"
        },
        "last_px": {
          "type": "string",
          "format": "int64"
        },
        "type": {
          "$ref": "#/definitions/v1beta1ExecutionType"
        },
        "text": {
          "type": "string",
          "title": "Free format text"
        },
        "order_reject_reason": {
          "$ref": "#/definitions/v1beta1OrdRejectReason",
          "title": "For optional use if exec type is rejected"
        },
        "transact_time": {
          "type": "string",
          "format": "date-time"
        },
        "leg_prices": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1LegPrice"
          },
          "title": "if a fill on a multi leg instrument, contains the derived leg prices at the time of execution"
        },
        "trade_id": {
          "type": "string",
          "title": "if a fill, the trade id for this transaction"
        },
        "aggressor": {
          "type": "boolean",
          "title": "if a fill, true if this execution belongs to aggressor order, false if belongs to passive order"
        },
        "commission_notional_collected": {
          "type": "string",
          "format": "int64",
          "description": "The notional value of commissions collected as part of the execution, it is unscaled so one must apply the parent instrument price and fractional quantity scales to get the exact decimal value."
        },
        "unsolicited_cancel_reason": {
          "$ref": "#/definitions/v1beta1UnsolicitedCxlReason",
          "title": "For optional use if exec type is canceled and a reason is provided"
        },
        "trace_id": {
          "type": "string",
          "title": "if present, contains the exchange trace identifier that resulted in this execution"
        },
        "commission_spread_px": {
          "type": "string",
          "format": "int64",
          "description": "The price at which a commission spread order filled at from the viewpoint of the firm that placed the order. For all other orders, this field matches the last_px."
        },
        "transact_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "The trade date when this transactional event occurred."
        },
        "previous_best_bid_price": {
          "type": "string",
          "format": "int64",
          "description": "The previous national best bid price in effect at the event timestamp. If the event changed the NBBO,\nthis is the national best bid price before the change effected by the event. Must be 0 if unknown."
        },
        "previous_best_bid_quantity": {
          "type": "string",
          "format": "int64",
          "description": "The previous national best bid quantity in effect at the event timestamp. If the event changed the NBBO,\nthis is the national best bid quantity before the change effected by the event. Must be 0 if unknown."
        },
        "previous_best_offer_price": {
          "type": "string",
          "format": "int64",
          "description": "The previous national best offer price in effect at the event timestamp. If the event changed the NBBO,\nthis is the national best offer price before the change effected by the event. Must be 0 if unknown."
        },
        "previous_best_offer_quantity": {
          "type": "string",
          "format": "int64",
          "description": "The previous national best offer quantity in effect at the event timestamp. If the event changed the NBBO,\nthis is the national best offer quantity before the change effected by the event. Must be 0 if unknown."
        }
      },
      "description": "Execution denotes a state change for an order in the exchange."
    },
    "connamaraep3v1beta1InsertOrderCrossRequest": {
      "type": "object",
      "properties": {
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1InsertOrderRequest"
          },
          "description": "A list of orders to insert (Only supports 2 orders at a time)."
        },
        "cross_type": {
          "$ref": "#/definitions/v1beta1CrossType",
          "description": "The cross type of the order (required)."
        },
        "cross_id": {
          "type": "string",
          "description": "Client assigned free-form ID for the cross (required)."
        },
        "cross_prioritized_side": {
          "$ref": "#/definitions/v1beta1Side",
          "description": "The side of the cross which is prioritized. The order with side specified must not have IOC time in force (required)."
        },
        "block_trade_indicator": {
          "type": "boolean",
          "description": "A flag that if set indicates that this cross represents a block trade."
        },
        "transaction_booked_time": {
          "type": "string",
          "format": "date-time",
          "description": "The time at which the order was booked."
        }
      },
      "description": "Request to insert orders for a cross with the given details."
    },
    "connamaraep3v1beta1InsertOrderRequest": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/v1beta1OrderType",
          "description": "The type of the order (required)."
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side",
          "description": "The side of the order (required)."
        },
        "order_qty": {
          "type": "string",
          "format": "int64",
          "description": "The quantity to be ordered (One of order_qty and cash_order_qty must be set. If set, must be > 0)."
        },
        "symbol": {
          "type": "string",
          "description": "The symbol of the instrument to be ordered (required for all orders)."
        },
        "price": {
          "type": "string",
          "format": "int64",
          "description": "Integer representation of limit price (required for limit and stop limit orders)."
        },
        "time_in_force": {
          "$ref": "#/definitions/v1beta1TimeInForce",
          "description": "The time in force of the order. Absence of this field is interpreted as DAY."
        },
        "clord_id": {
          "type": "string",
          "description": "Client assigned ID for the order."
        },
        "account": {
          "type": "string",
          "description": "The trading account for this order."
        },
        "stop_price": {
          "type": "string",
          "format": "int64",
          "description": "Integer representation of stop price (required for stop and stop limit orders)."
        },
        "min_qty": {
          "type": "string",
          "format": "int64",
          "description": "Minimum order quantity to fill at once. Matches for fills under this amount will not be made (optional for IOC time in force)."
        },
        "self_match_prevention_id": {
          "type": "string",
          "description": "Client assigned Self Match Prevention ID (required to use the optional Self Match Prevention functionality)."
        },
        "quote": {
          "type": "string",
          "description": "If set, the quote to accept."
        },
        "all_or_none": {
          "type": "boolean",
          "description": "A flag that if set indicates that either all of the order quantity should be filled, or none of it (partial fills will not be allowed)."
        },
        "session_id": {
          "type": "string",
          "description": "Client assigned Session ID (required to use the optional Cancel on Disconnect functionality)."
        },
        "user": {
          "type": "string",
          "description": "The participant for which an agent is submitting the order (an agent must set this field, ignored otherwise)."
        },
        "client_account_id": {
          "type": "string",
          "description": "Client assigned free-form account ID for the order."
        },
        "client_participant_id": {
          "type": "string",
          "description": "Client assigned free-form participant ID for the order."
        },
        "participate_dont_initiate": {
          "type": "boolean",
          "description": "A flag that if set indicates that immediate match is not desired."
        },
        "cash_order_qty": {
          "type": "string",
          "format": "int64",
          "description": "Fixed point decimal representation of the total cash order qty.\n(One of order_qty and cash_order_qty must be set. If set, must be > 0 and order_type must be MARKET_TO_LIMIT)."
        },
        "symbol_sub_type": {
          "type": "string",
          "description": "The sub type of the instrument symbol."
        },
        "strict_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates this particular order must be filled at the exact limit price specified without price improvement."
        },
        "good_till_time": {
          "type": "string",
          "format": "date-time",
          "description": "The time at which this order shall expire (required for time_in_force of GOOD_TILL_TIME, ignored otherwise)."
        },
        "best_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates that the price of a limit order shall be set to the price at the top of the book on the same side as this order."
        },
        "immediately_executable_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates that the price of a limit order shall be set to the price at the top of the book on the opposing side as this order, thus able to immediately match."
        },
        "trigger_method": {
          "$ref": "#/definitions/v1beta1ConditionTriggerMethod",
          "description": "The price condition trigger method used for this order, for example, a stop order can select the price it uses for triggering insertion onto the book."
        },
        "self_match_prevention_instruction": {
          "$ref": "#/definitions/v1beta1SelfMatchPreventionInstruction",
          "description": "If present, determines the behavior for order self match prevention upon insertion. If not provided, default behavior is that resting orders will remain on the book while incoming orders will be rejected."
        },
        "order_capacity": {
          "$ref": "#/definitions/v1beta1OrderCapacity",
          "description": "If present, designates the order capacity."
        },
        "ignore_price_validity_checks": {
          "type": "boolean",
          "description": "A flag that if set indicates that this order is exempt from instrument level price, order, and total notional limits. Only allowed in case of market sell orders to support liquidation."
        },
        "manual_order_indicator": {
          "$ref": "#/definitions/v1beta1ManualOrderIndicator",
          "description": "If present, designates the manual order indicator."
        },
        "commission_override_basis_points": {
          "type": "string",
          "description": "If present and an eligible singular commission with allow_order_entry_override is present for the order, assigns basis points to this value."
        },
        "commission_override_flat_fee": {
          "type": "string",
          "description": "If present and an eligible singular commission with allow_order_entry_override is present for the order, assigns flat fee to this value."
        },
        "clord_link_id": {
          "type": "string",
          "title": "Client assigned group ID for the order"
        },
        "visible_qty": {
          "type": "string",
          "format": "int64",
          "description": "The visible quantity of the order. A non-zero value in this field indicates that the order is an iceberg order."
        }
      },
      "description": "Request to insert an order with the given details."
    },
    "connamaraep3v1beta1Instrument": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string",
          "title": "unique identifier for this instrument"
        },
        "tick_size": {
          "type": "number",
          "format": "double"
        },
        "base_currency": {
          "type": "string"
        },
        "multiplier": {
          "type": "number",
          "format": "double"
        },
        "minimum_trade_qty": {
          "type": "string",
          "format": "int64"
        },
        "start_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "expiration_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "termination_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "trading_schedule": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1TradingHours"
          }
        },
        "description": {
          "type": "string",
          "title": "description of the instrument"
        },
        "clearing_house": {
          "type": "string",
          "title": "name of the clearing house that clears the instrument"
        },
        "minimum_unaffiliated_firms": {
          "type": "string",
          "format": "int64",
          "title": "minimum number of unaffiliated firms required when submitting request for quotes"
        },
        "interest_rate_swap_attributes": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributes"
        },
        "custom_attributes": {
          "$ref": "#/definitions/protobufAny"
        },
        "forward_rate_agreement_swap_attributes": {
          "$ref": "#/definitions/v1beta1ForwardRateAgreementSwapAttributes"
        },
        "json_attributes": {
          "type": "string"
        },
        "future_attributes": {
          "$ref": "#/definitions/v1beta1FutureAttributes"
        },
        "option_attributes": {
          "$ref": "#/definitions/v1beta1OptionAttributes"
        },
        "multileg_attributes": {
          "$ref": "#/definitions/v1beta1MultilegAttributes"
        },
        "forward_starting_interest_rate_swap_attributes": {
          "$ref": "#/definitions/v1beta1ForwardStartingInterestRateSwapAttributes"
        },
        "basis_swap_attributes": {
          "$ref": "#/definitions/v1beta1BasisSwapAttributes"
        },
        "event_attributes": {
          "$ref": "#/definitions/v1beta1EventAttributes"
        },
        "overnight_index_swap_attributes": {
          "$ref": "#/definitions/v1beta1OvernightIndexSwapAttributes"
        },
        "single_period_swap_attributes": {
          "$ref": "#/definitions/v1beta1SinglePeriodSwapAttributes"
        },
        "non_deliverable_forward_attributes": {
          "$ref": "#/definitions/v1beta1NonDeliverableForwardAttributes"
        },
        "forex_attributes": {
          "$ref": "#/definitions/v1beta1ForexAttributes"
        },
        "zero_coupon_inflation_swap_attributes": {
          "$ref": "#/definitions/v1beta1ZeroCouponInflationSwapAttributes"
        },
        "non_tradable": {
          "type": "boolean",
          "title": "Set if the instrument should be non-tradable, as in the case of an index"
        },
        "product_id": {
          "type": "string",
          "title": "Product ID for this instrument"
        },
        "price_limit": {
          "$ref": "#/definitions/v1beta1PriceLimit",
          "title": "Price limits for this instrument"
        },
        "order_size_limit": {
          "$ref": "#/definitions/v1beta1OrderSizeLimit",
          "title": "Order size limits for this instrument"
        },
        "cross_order_resting_duration": {
          "type": "string",
          "title": "Amount of time an order from a cross should rest in the book before matching"
        },
        "expiration_time": {
          "$ref": "#/definitions/v1beta1TimeOfDay",
          "title": "Expiration time of this instrument"
        },
        "trade_settlement_period": {
          "type": "string",
          "format": "int64",
          "title": "number of days required to settle a trade of this instrument"
        },
        "holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "holiday calendars assigned to the instrument"
        },
        "fractional_qty_scale": {
          "type": "string",
          "format": "int64",
          "title": "The scale applied to an instruments quantity in order to represent fractional shares"
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "title": "Miscellaneous metadata to be stored with the instrument"
        },
        "state": {
          "$ref": "#/definitions/connamaraep3v1beta1InstrumentState",
          "title": "The current state for the tradable instrument at the time of the query"
        },
        "position_limit": {
          "type": "string",
          "format": "int64"
        },
        "last_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "Last trade date of the instrument."
        },
        "last_trade_time": {
          "$ref": "#/definitions/v1beta1TimeOfDay",
          "description": "Last trade time of the instrument. If not provided, defaults to one second before midnight on the last trade date."
        },
        "price_scale": {
          "type": "string",
          "format": "int64",
          "title": "The scale applied to an instruments price in order to represent prices as fixed point decimals"
        },
        "block_trade_threshold": {
          "$ref": "#/definitions/v1beta1BlockTradeThreshold",
          "description": "If set, overrides the exchange minimum thresholds required to mark an order cross as a block trade."
        },
        "trade_day_roll_schedule": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1TradeDayRoll"
          },
          "description": "If set, contains the rules that define when trade days roll to the next trade day."
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "The creation timestamp of the Instrument"
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "The update timestamp of the Instrument"
        },
        "delete_time": {
          "type": "string",
          "format": "date-time",
          "title": "The deletion timestamp of the Instrument"
        },
        "start_time": {
          "$ref": "#/definitions/v1beta1TimeOfDay",
          "description": "The time at which the instrument will start trading, represented in the exchange time zone. If not provided, use the schedule as defined."
        },
        "trade_day_roll_convention": {
          "$ref": "#/definitions/v1beta1TradeDayRollConvention",
          "description": "If set, contains the convention for what date is assigned when rolling to the next trade day past the roll time."
        },
        "security_id": {
          "type": "string",
          "description": "The security identifier for the instrument."
        },
        "security_id_source": {
          "$ref": "#/definitions/v1beta1SecurityIDSource",
          "description": "The class or source of the security_id value. Required if security_id is set."
        },
        "market_order_protection_basis_points": {
          "type": "string",
          "format": "int64",
          "description": "The price tolerance for orders that derive their price from the market, represented in basis points, that prevents matching at prices more than X bps from the instrument reference price."
        }
      },
      "description": "Instrument is an asset that can be trading on the exchange platform."
    },
    "connamaraep3v1beta1InstrumentState": {
      "type": "string",
      "enum": [
        "INSTRUMENT_STATE_CLOSED",
        "INSTRUMENT_STATE_OPEN",
        "INSTRUMENT_STATE_PREOPEN",
        "INSTRUMENT_STATE_SUSPENDED",
        "INSTRUMENT_STATE_EXPIRED",
        "INSTRUMENT_STATE_TERMINATED",
        "INSTRUMENT_STATE_HALTED",
        "INSTRUMENT_STATE_MATCH_AND_CLOSE_AUCTION"
      ],
      "default": "INSTRUMENT_STATE_CLOSED",
      "description": "InstrumentState denotes the current state of an instrument."
    },
    "connamaraep3v1beta1Order": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "Exchange assigned ID for the order"
        },
        "type": {
          "$ref": "#/definitions/v1beta1OrderType"
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side"
        },
        "order_qty": {
          "type": "string",
          "format": "int64"
        },
        "symbol": {
          "type": "string"
        },
        "clord_id": {
          "type": "string",
          "title": "Client assigned ID for the order"
        },
        "time_in_force": {
          "$ref": "#/definitions/v1beta1TimeInForce",
          "title": "Absence of this field is interpreted as DAY"
        },
        "account": {
          "type": "string",
          "title": "Account is the trading account for this order"
        },
        "cum_qty": {
          "type": "string",
          "format": "int64",
          "title": "Cumulative filled order qty"
        },
        "avg_px": {
          "type": "string",
          "format": "int64",
          "title": "Average fill price"
        },
        "leaves_qty": {
          "type": "string",
          "format": "int64",
          "title": "Remaining working qty"
        },
        "state": {
          "$ref": "#/definitions/v1beta1OrderState"
        },
        "participant": {
          "type": "string",
          "title": "Participant that placed this order"
        },
        "price": {
          "type": "string",
          "format": "int64",
          "title": "Integer price representation (for limit, stop limit)"
        },
        "insert_time": {
          "type": "string",
          "format": "date-time",
          "title": "The time this order was inserted into the book or the time the order was replaced in the book"
        },
        "stop_price": {
          "type": "string",
          "format": "int64",
          "title": "Integer stop price representation (for stop, stop limit)"
        },
        "min_qty": {
          "type": "string",
          "format": "int64",
          "title": "Minimum quantity (optional for IOC time in force)"
        },
        "create_time": {
          "type": "string",
          "format": "date-time",
          "title": "The time this order was created"
        },
        "all_or_none": {
          "type": "boolean",
          "title": "Set if all or none of the order qty should be filled"
        },
        "cross_id": {
          "type": "string",
          "title": "Client assigned Order Cross ID"
        },
        "host_cross_id": {
          "type": "string",
          "title": "Exchange generated Host Cross ID"
        },
        "submitting_participant": {
          "type": "string",
          "title": "If this order is being submitted on behalf of another entity, set to the agent submitter"
        },
        "client_account_id": {
          "type": "string",
          "title": "Client assigned free-form account ID for the order"
        },
        "client_participant_id": {
          "type": "string",
          "title": "Client assigned free-form participant ID for the order"
        },
        "parent_order_id": {
          "type": "string",
          "title": "The parent order this order is the child of"
        },
        "commissions_basis_points": {
          "type": "string",
          "title": "The total basis points associated with all commissions on this order"
        },
        "participate_dont_initiate": {
          "type": "boolean",
          "title": "Set if immediate match is not desired"
        },
        "cash_order_qty": {
          "type": "string",
          "format": "int64",
          "title": "Fixed point decimal representation of the total cash order qty"
        },
        "symbol_sub_type": {
          "type": "string",
          "title": "The sub type of the instrument symbol"
        },
        "strict_limit": {
          "type": "boolean",
          "title": "Set if this particular order must be filled at the exact limit price specified without price improvement"
        },
        "risk_check_time": {
          "type": "string",
          "format": "date-time",
          "title": "The time at which this order was risk checked"
        },
        "collateral_memo": {
          "type": "string",
          "title": "The risk status given by the position risk check"
        },
        "priority_weight": {
          "type": "string",
          "format": "int64",
          "title": "Relative priority among the same price level"
        },
        "good_till_time": {
          "type": "string",
          "format": "date-time",
          "title": "The time at which this order shall expire if the time in force is set as good till time"
        },
        "context": {
          "$ref": "#/definitions/v1beta1OrderContext",
          "title": "Context may contain additional meta data regarding the order"
        },
        "best_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates that the price of a limit order shall be set to the price at the top of the book on the same side as this order."
        },
        "immediately_executable_limit": {
          "type": "boolean",
          "description": "A flag that if set indicates that the price of a limit order shall be set to the price at the top of the book on the opposing side as this order, thus able to immediately match."
        },
        "block_trade_indicator": {
          "type": "boolean",
          "description": "A flag that if set indicates that this order is part of a block trade."
        },
        "last_trade_id": {
          "type": "string",
          "title": "Set to the last, most recent trade ID that this order was party to"
        },
        "trigger_method": {
          "$ref": "#/definitions/v1beta1ConditionTriggerMethod",
          "description": "The price condition trigger method used for this order, for example, a stop order can select the price it uses for triggering insertion onto the book."
        },
        "price_to_quantity_filled": {
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "format": "int64"
          },
          "title": "Denotes the quantity filled at each price point over the life of the order"
        },
        "commission_notional_total_collected": {
          "type": "string",
          "format": "int64",
          "description": "The total notional value of all commissions collected on the order so far, it is unscaled so one must apply the parent instrument price and fractional quantity scales to get the exact decimal value."
        },
        "self_match_prevention_instruction": {
          "$ref": "#/definitions/v1beta1SelfMatchPreventionInstruction",
          "description": "If present, determines the behavior for order self match prevention upon insertion. If not provided, default behavior is that resting orders will remain on the book while incoming orders will be rejected."
        },
        "order_capacity": {
          "$ref": "#/definitions/v1beta1OrderCapacity",
          "description": "If present, designates the order capacity."
        },
        "ignore_price_validity_checks": {
          "type": "boolean",
          "description": "A flag that if set indicates that this order is exempt from instrument level price, order, and total notional limits. Only allowed in case of market sell orders to support liquidation."
        },
        "transaction_booked_time": {
          "type": "string",
          "format": "date-time",
          "description": "In the context of an order cross, the time at which the order was booked."
        },
        "last_transact_time": {
          "type": "string",
          "format": "date-time",
          "description": "The most recent time this order was updated in any capacity."
        },
        "price_scale": {
          "type": "string",
          "format": "int64",
          "description": "The price scale of the order assigned from the associated instrument for convenience in scaling display values."
        },
        "fractional_quantity_scale": {
          "type": "string",
          "format": "int64",
          "description": "The fractional quantity scale of the order assigned from the associated instrument for convenience in scaling display values."
        },
        "maker_commissions_basis_points": {
          "type": "string",
          "description": "The total basis points associated with all commissions on this order if it executes on the passive side of a trade."
        },
        "manual_order_indicator": {
          "$ref": "#/definitions/v1beta1ManualOrderIndicator",
          "description": "If present, designates the manual order indicator."
        },
        "clord_link_id": {
          "type": "string",
          "title": "Client assigned group ID for the order"
        },
        "visible_qty": {
          "type": "string",
          "format": "int64",
          "description": "The visible quantity of the order. A non-zero value in this field indicates that the order is an iceberg order."
        },
        "short_intent": {
          "type": "boolean",
          "title": "Intent to short"
        }
      },
      "description": "Order indicates an order received by the exchange."
    },
    "connamaraep3v1beta1Quote": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "Exchange assigned ID for this quote"
        },
        "name": {
          "type": "string",
          "title": "Exchange assigned resource name for this quote"
        },
        "client_id": {
          "type": "string",
          "title": "Client assigned ID for this quote"
        },
        "quote_request_id": {
          "type": "string",
          "title": "Exchange assigned ID for the quote request that this quote references"
        },
        "price": {
          "type": "string",
          "format": "int64",
          "title": "Desired price for the quote in integer representation"
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side"
        },
        "order_qty": {
          "type": "string",
          "format": "int64"
        },
        "symbol": {
          "type": "string"
        },
        "expiration_time": {
          "type": "string",
          "format": "date-time",
          "title": "Timestamp at which this quote will expire"
        },
        "account": {
          "type": "string",
          "title": "Account is the trading account for this quote"
        },
        "user": {
          "type": "string",
          "title": "The market participant that created this quote"
        },
        "firm": {
          "type": "string",
          "title": "The firm that created this quote"
        },
        "status": {
          "$ref": "#/definitions/v1beta1QuoteStatus",
          "title": "The status of the quote"
        },
        "clord_id": {
          "type": "string",
          "title": "Client assigned ID for the order"
        },
        "insert_time": {
          "type": "string",
          "format": "date-time",
          "title": "The time this quote was inserted into the exchange"
        },
        "submitting_user": {
          "type": "string",
          "title": "The agent participant that created this quote on behalf of the designated user"
        },
        "symbol_sub_type": {
          "type": "string",
          "title": "The sub type of the instrument symbol"
        }
      },
      "description": "Quote is a quote sent to and from the RFQ Exchange."
    },
    "connamaraep3v1beta1QuoteCancel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Exchange assigned resource name for the quote to cancel"
        },
        "symbol": {
          "type": "string"
        }
      },
      "description": "QuoteCancel is a request to cancel a quote in the RFQ Exchange."
    },
    "connamaraep3v1beta1QuotePass": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Exchange assigned resource name for the quote to pass"
        },
        "symbol": {
          "type": "string"
        }
      },
      "description": "QuotePass is a request to pass on a quote in the RFQ Exchange."
    },
    "connamaraep3v1beta1QuoteReject": {
      "type": "object",
      "properties": {
        "request_for_quote": {
          "$ref": "#/definitions/connamaraep3v1beta1RequestForQuote"
        },
        "quote": {
          "$ref": "#/definitions/connamaraep3v1beta1Quote"
        },
        "quote_cancel": {
          "$ref": "#/definitions/connamaraep3v1beta1QuoteCancel"
        },
        "quote_accept": {
          "$ref": "#/definitions/v1beta1QuoteAccept"
        },
        "quote_pass": {
          "$ref": "#/definitions/connamaraep3v1beta1QuotePass"
        },
        "reject_reason": {
          "$ref": "#/definitions/v1beta1QuoteRejectReason"
        },
        "text": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        }
      },
      "description": "QuoteReject is a reject for a message sent to the RFQ Exchange."
    },
    "connamaraep3v1beta1RequestForQuote": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "Exchange assigned ID for the quote request"
        },
        "name": {
          "type": "string",
          "title": "Exchange assigned resource name for the quote request"
        },
        "client_id": {
          "type": "string",
          "title": "Client assigned ID for this quote request"
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side"
        },
        "order_qty": {
          "type": "string",
          "format": "int64"
        },
        "symbol": {
          "type": "string"
        },
        "expiration_time": {
          "type": "string",
          "format": "date-time",
          "title": "Timestamp at which this quote will expire"
        },
        "account": {
          "type": "string",
          "title": "Account is the trading account for this quote request"
        },
        "user": {
          "type": "string",
          "title": "The market participant that created this quote request"
        },
        "firms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Whitelist of targeted firms that this quote request will target"
        },
        "insert_time": {
          "type": "string",
          "format": "date-time",
          "title": "The time this request was inserted into the exchange"
        },
        "status": {
          "$ref": "#/definitions/v1beta1QuoteStatus",
          "title": "The status of the request"
        },
        "firm": {
          "type": "string",
          "title": "The firm that created this quote request"
        },
        "submitting_user": {
          "type": "string",
          "title": "The agent participant that created this quote request on behalf of the designated user"
        },
        "symbol_sub_type": {
          "type": "string",
          "title": "The sub type of the instrument symbol"
        },
        "cash_order_qty": {
          "type": "string",
          "format": "int64",
          "title": "Fixed point decimal representation of the total cash order qty"
        }
      },
      "description": "RequestForQuote is a quote request into the RFQ Exchange."
    },
    "connamaraep3v1beta1Trade": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "Exchange assigned ID for this trade"
        },
        "aggressor": {
          "$ref": "#/definitions/connamaraep3v1beta1Execution",
          "title": "Execution for the incoming order included in the trade"
        },
        "passive": {
          "$ref": "#/definitions/connamaraep3v1beta1Execution",
          "title": "Execution for the resting order included in the trade"
        },
        "trade_type": {
          "$ref": "#/definitions/v1beta1TradeType",
          "title": "Type of trade specified"
        },
        "state": {
          "$ref": "#/definitions/v1beta1TradeState",
          "title": "State of trade specified"
        },
        "reporting_counterparty": {
          "$ref": "#/definitions/v1beta1Side",
          "title": "Reporting counterparty for this trade"
        },
        "text": {
          "type": "string",
          "description": "Additional detail regarding the status of the trade. May be empty."
        },
        "trade_link_id": {
          "type": "string",
          "description": "Exchange assigned ID for a group of trades that all executed within the same underlying transactional event in the platform."
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Metadata attached to this trade."
        }
      },
      "description": "Trade is an execution grouping reflecting a trade between two orders in the system."
    },
    "ep3instrumentsv1beta1InstrumentState": {
      "type": "string",
      "enum": [
        "INSTRUMENT_STATE_PENDING",
        "INSTRUMENT_STATE_CLOSED",
        "INSTRUMENT_STATE_OPEN",
        "INSTRUMENT_STATE_PREOPEN",
        "INSTRUMENT_STATE_SUSPENDED",
        "INSTRUMENT_STATE_EXPIRED",
        "INSTRUMENT_STATE_TERMINATED",
        "INSTRUMENT_STATE_HALTED",
        "INSTRUMENT_STATE_MATCH_AND_CLOSE_AUCTION"
      ],
      "default": "INSTRUMENT_STATE_PENDING",
      "description": "InstrumentState of the Instrument.\n\n - INSTRUMENT_STATE_PENDING: The instrument is still pending.\n - INSTRUMENT_STATE_CLOSED: The instrument is closed. No trading can occur.\n - INSTRUMENT_STATE_OPEN: The instrument is open and is available for full trading.\n - INSTRUMENT_STATE_PREOPEN: The instrument is available to place orders and modify them before the opening, but no matching will occur until the open.\n - INSTRUMENT_STATE_SUSPENDED: The instrument has temporarily suspended trading. In this state, no orders can be placed or modified, but they can be cancelled.\n - INSTRUMENT_STATE_EXPIRED: The instrument has expired.\n - INSTRUMENT_STATE_TERMINATED: The instrument has been terminated.\n - INSTRUMENT_STATE_HALTED: The instrument has halted trading.\nThis state is similar to the suspended state in that no orders can be placed or modified,\nbut orders cannot be cancelled unlike the suspended state which allows cancellation.\n - INSTRUMENT_STATE_MATCH_AND_CLOSE_AUCTION: The instrument is available to place orders and modify them just as in pre open, but no matching will occur until this state has been exited."
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n  value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n  URL, or have them precompiled into a binary to avoid any\n  lookup. Therefore, binary compatibility needs to be preserved\n  on changes to types. (Use versioned type names to manage\n  breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics."
        }
      },
      "additionalProperties": {},
      "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n    Foo foo = ...;\n    Any any;\n    any.PackFrom(foo);\n    ...\n    if (any.UnpackTo(&foo)) {\n      ...\n    }\n\nExample 2: Pack and unpack a message in Java.\n\n    Foo foo = ...;\n    Any any = Any.pack(foo);\n    ...\n    if (any.is(Foo.class)) {\n      foo = any.unpack(Foo.class);\n    }\n    // or ...\n    if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n      foo = any.unpack(Foo.getDefaultInstance());\n    }\n\n Example 3: Pack and unpack a message in Python.\n\n    foo = Foo(...)\n    any = Any()\n    any.Pack(foo)\n    ...\n    if any.Is(Foo.DESCRIPTOR):\n      any.Unpack(foo)\n      ...\n\n Example 4: Pack and unpack a message in Go\n\n     foo := &pb.Foo{...}\n     any, err := anypb.New(foo)\n     if err != nil {\n       ...\n     }\n     ...\n     foo := &pb.Foo{}\n     if err := any.UnmarshalTo(foo); err != nil {\n       ...\n     }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n    package google.profile;\n    message Person {\n      string first_name = 1;\n      string last_name = 2;\n    }\n\n    {\n      \"@type\": \"type.googleapis.com/google.profile.Person\",\n      \"firstName\": <string>,\n      \"lastName\": <string>\n    }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n    {\n      \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n      \"value\": \"1.212s\"\n    }"
    },
    "rpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          }
        }
      }
    },
    "v1beta1BasisSwapAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "effective_date_offset": {
          "type": "integer",
          "format": "int32"
        },
        "effective_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "maturity_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "swap_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "maturity date calculated by date adjustments server"
        },
        "leg1_float_rate_reset_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "leg2_float_rate_reset_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency"
        },
        "leg1_float_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | SemiAnnual | Annually"
        },
        "leg2_float_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency"
        },
        "leg1_float_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "leg2_float_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod"
        },
        "leg1_float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "ACT/360 | ACT/365.FIXED"
        },
        "leg2_float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention"
        },
        "leg1_float_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "leg2_float_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention"
        },
        "leg1_float_reset_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "leg2_float_reset_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention"
        },
        "leg1_float_reset_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "Restricted to only enum values: CalculationPeriodStartDate | CalculationPeriodEndDate"
        },
        "leg2_float_reset_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo"
        },
        "leg1_float_fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "leg2_float_fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention"
        },
        "leg1_float_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "leg2_float_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "leg1_first_float_reset_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "leg2_first_float_reset_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "leg1_first_float_fixing_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "leg2_first_float_fixing_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "leg1_floating_rate_index": {
          "type": "string",
          "title": "1M USD LIBOR | 3M USD LIBOR | 6M USD LIBOR | 3M EURIBOR | 6M EURIBOR | 3M GDP LIBOR | 6M GDP LIBOR |\n3M CDOR | 6M NIBOR | 3M JPY LIBOR | 6M JPY LIBOR | 6M CNF LIBOR | 3M BBSW | 6M BBSW | 3M STIBOR | 6M CIBOR2"
        },
        "leg2_floating_rate_index": {
          "type": "string"
        },
        "leg1_floating_rate_index_tenor": {
          "type": "string",
          "description": "1M | 3M | 6M | 1Y | etc..."
        },
        "leg2_floating_rate_index_tenor": {
          "type": "string"
        },
        "leg1_float_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "leg2_float_roll_convention": {
          "type": "string"
        },
        "leg1_float_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "leg2_float_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "leg1_float_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "leg2_float_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo"
        },
        "leg1_float_fixing_dates_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "leg2_float_fixing_dates_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType"
        },
        "leg1_float_fixing_dates_offset": {
          "type": "integer",
          "format": "int32"
        },
        "leg2_float_fixing_dates_offset": {
          "type": "integer",
          "format": "int32"
        },
        "float_first_unadjusted_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "unadjusted_maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "roll_and_payment_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "usually only 1 calendar but can be 2.\nNew York | London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "forward_starting_period": {
          "type": "integer",
          "format": "int32",
          "title": "in units given by forward starting period time period"
        },
        "forward_starting_period_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "leg1_float_payment_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the payment is offset\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "leg2_float_payment_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the payment is offset\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "payment_date_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "leg2_index_tenor_omit": {
          "type": "boolean",
          "title": "Flag that determines if the indexTenor fields will be omitted from certain adapter code"
        },
        "leg1_index_tenor_omit": {
          "type": "boolean",
          "title": "Flag that determines if the indexTenor fields will be omitted from certain adapter code"
        }
      },
      "description": "BasisSwapAttributes are attributes that define an Basis Swap tradable instrument."
    },
    "v1beta1BlockTradeThreshold": {
      "type": "object",
      "properties": {
        "minimum_quantity": {
          "type": "string",
          "format": "int64",
          "description": "The minimum quantity that must be provided for an order cross to be marked as a block trade in units of fractional_qty_scale. Either this threshold or the minimum notional criteria must be met for a valid block trade."
        },
        "minimum_notional": {
          "type": "string",
          "format": "int64",
          "description": "The minimum notional that must be provided for an order cross to be marked as a block trade in units of the price_scale multiplied by the fractional_qty_scale. For example, given a price_scale of 100 and a fractional_qty_scale of 10, the minimum_notional should be in units of 100 * 10 = 1000. So if a Minimum Notional of 50 USD is desired, the minimum_notional integer should be set to 50 * 1000 = 50000. Either this threshold or the minimum quantity criteria must be met for a valid block trade."
        }
      },
      "description": "BlockTradeThreshold describes the minimum values required to mark an order cross as a block trade."
    },
    "v1beta1CalculationMethod": {
      "type": "string",
      "enum": [
        "CALCULATION_METHOD_UNDEFINED",
        "CALCULATION_METHOD_MONTH_OVER_MONTH",
        "CALCULATION_METHOD_YEAR_OVER_YEAR",
        "CALCULATION_METHOD_VALUE",
        "CALCULATION_METHOD_QUARTER_OVER_QUARTER"
      ],
      "default": "CALCULATION_METHOD_UNDEFINED",
      "description": "CalculationMethod of the event.\n\n - CALCULATION_METHOD_UNDEFINED: The undefined default value.\n - CALCULATION_METHOD_MONTH_OVER_MONTH: Indicates the outcome data value (e.g. 1.5%) used to resolve an event (e.g. May 2022 CPI) was calculated by the data source (e.g. Bureau of Labor Statistics) as a month-over-month change.\n - CALCULATION_METHOD_YEAR_OVER_YEAR: Indicates the outcome data value (e.g. 1.5%) used to resolve an event (e.g. May 2022 CPI) was calculated by the data source (e.g. Bureau of Labor Statistics) as a year-over-year change.\n - CALCULATION_METHOD_VALUE: Indicates a single outcome data value is used to resolve the event (e.g. \"Donald Trump\" or \"12 inches of rain\"), with no comparison to a prior data value required.\n - CALCULATION_METHOD_QUARTER_OVER_QUARTER: Indicates the outcome data value (e.g. 1.5%) used to resolve an event (e.g. May 2022 CPI) was calculated by the data source (e.g. Bureau of Labor Statistics) as a quarter-over-quarter change."
    },
    "v1beta1CancelOrderListRequest": {
      "type": "object",
      "properties": {
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1CancelOrderRequest"
          },
          "description": "A list of requests to cancel orders."
        }
      },
      "description": "Request to cancel multiple existing orders with the given details."
    },
    "v1beta1CancelOrderListResponse": {
      "type": "object",
      "properties": {
        "responses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1CancelOrderResponse"
          },
          "description": "A list of responses to cancelled orders."
        }
      }
    },
    "v1beta1CancelOrderRequest": {
      "type": "object",
      "properties": {
        "order_id": {
          "type": "string",
          "description": "Exchange assigned ID for the order to be cancelled (required)."
        },
        "clord_id": {
          "type": "string",
          "description": "Client assigned ID for the order cancel."
        },
        "symbol": {
          "type": "string",
          "description": "The instrument symbol for the order (required)."
        },
        "symbol_sub_type": {
          "type": "string",
          "description": "The sub type of the instrument symbol."
        }
      },
      "description": "Request to cancel an existing order with the given details."
    },
    "v1beta1CancelOrderResponse": {
      "type": "object"
    },
    "v1beta1CancelReplaceOrderListRequest": {
      "type": "object",
      "properties": {
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1CancelReplaceOrderRequest"
          },
          "description": "A list of requests to update orders."
        }
      },
      "description": "Request to update multiple existing orders with the given details."
    },
    "v1beta1CancelReplaceOrderListResponse": {
      "type": "object",
      "properties": {
        "responses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1CancelReplaceOrderResponse"
          },
          "description": "A list of responses to updated orders."
        }
      }
    },
    "v1beta1CancelReplaceOrderResponse": {
      "type": "object"
    },
    "v1beta1ConditionTriggerMethod": {
      "type": "string",
      "enum": [
        "CONDITION_TRIGGER_METHOD_UNDEFINED",
        "CONDITION_TRIGGER_METHOD_LAST_PRICE",
        "CONDITION_TRIGGER_METHOD_SETTLEMENT_PRICE"
      ],
      "default": "CONDITION_TRIGGER_METHOD_UNDEFINED",
      "description": "ConditionTriggerMethod is the methodology used to trigger an order for insertion onto the book.\n\n - CONDITION_TRIGGER_METHOD_UNDEFINED: An unset value for the trigger method must be used when the order type is not meant to trigger (a limit order for instance) or uses the default last price method for orders that do trigger (a stop order for instance).\n - CONDITION_TRIGGER_METHOD_LAST_PRICE: Trigger the order using the last trade price on the book.\n - CONDITION_TRIGGER_METHOD_SETTLEMENT_PRICE: Trigger the order using the settlement price on the book."
    },
    "v1beta1CreateAccountBalanceSubscriptionRequest": {
      "type": "object",
      "properties": {
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A set of fully qualified resource names of the accounts to filter upon in the subscription (ie: \"firms/[firmid]/accounts/[accountid]\") (optional)."
        }
      },
      "description": "Request to start a balance subscription to get snapshots and updates for this session."
    },
    "v1beta1CreateAccountBalanceSubscriptionResponse": {
      "type": "object",
      "properties": {
        "heartbeat": {
          "$ref": "#/definitions/v1beta1Heartbeat"
        },
        "snapshot": {
          "$ref": "#/definitions/v1beta1CreateAccountBalanceSubscriptionResponseSnapshot"
        },
        "update": {
          "$ref": "#/definitions/v1beta1CreateAccountBalanceSubscriptionResponseUpdate"
        }
      }
    },
    "v1beta1CreateAccountBalanceSubscriptionResponseSnapshot": {
      "type": "object",
      "properties": {
        "balances": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/CreateAccountBalanceSubscriptionResponseBalanceEntry"
          },
          "description": "A list of balances contained in the snapshot."
        }
      },
      "description": "Snapshot is the current state of balances in the system that is returned after the initial subscription request."
    },
    "v1beta1CreateAccountBalanceSubscriptionResponseUpdate": {
      "type": "object",
      "properties": {
        "balances": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/CreateAccountBalanceSubscriptionResponseBalanceEntry"
          },
          "description": "A list of balances contained in the Update message."
        }
      },
      "description": "Update is the current state of balances in the system that is streamed once a balance updates."
    },
    "v1beta1CreateMarketDataSubscriptionRequest": {
      "type": "object",
      "properties": {
        "symbols": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "unaggregated": {
          "type": "boolean"
        },
        "depth": {
          "type": "integer",
          "format": "int32"
        },
        "snapshot_only": {
          "type": "boolean"
        }
      }
    },
    "v1beta1CreateMarketDataSubscriptionResponse": {
      "type": "object",
      "properties": {
        "heartbeat": {
          "$ref": "#/definitions/v1beta1Heartbeat"
        },
        "update": {
          "$ref": "#/definitions/v1beta1CreateMarketDataSubscriptionResponseUpdate"
        }
      }
    },
    "v1beta1CreateMarketDataSubscriptionResponseUpdate": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string"
        },
        "bids": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/CreateMarketDataSubscriptionResponseBookEntry"
          }
        },
        "offers": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/CreateMarketDataSubscriptionResponseBookEntry"
          }
        },
        "state": {
          "$ref": "#/definitions/connamaraep3v1beta1InstrumentState"
        },
        "stats": {
          "$ref": "#/definitions/v1beta1InstrumentStats"
        },
        "transact_time": {
          "type": "string",
          "format": "date-time"
        },
        "book_hidden": {
          "type": "boolean"
        },
        "transact_trade_date": {
          "$ref": "#/definitions/v1beta1Date"
        }
      },
      "description": "Update is streamed on a market data update."
    },
    "v1beta1CreateOrderSubscriptionRequest": {
      "type": "object",
      "properties": {
        "symbols": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of symbols to filter upon and return in streamed responses.\nThis field is optional."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of accounts to filter upon and return in streamed responses.\nThis field is optional."
        },
        "snapshot_only": {
          "type": "boolean",
          "description": "If true, only return the current set of snapshots for working orders and do not keep an open subscription."
        }
      },
      "description": "Request to start an order subscription to get snapshots and updates for this session."
    },
    "v1beta1CreateOrderSubscriptionResponse": {
      "type": "object",
      "properties": {
        "heartbeat": {
          "$ref": "#/definitions/v1beta1Heartbeat"
        },
        "snapshot": {
          "$ref": "#/definitions/v1beta1CreateOrderSubscriptionResponseSnapshot"
        },
        "update": {
          "$ref": "#/definitions/v1beta1CreateOrderSubscriptionResponseUpdate"
        },
        "session_id": {
          "type": "string",
          "description": "ID of the session this subscription belongs to."
        },
        "processed_sent_time": {
          "type": "string",
          "format": "date-time",
          "description": "The time at which this message was processed and sent by the gateway, useful for calculating real world networking latency."
        }
      }
    },
    "v1beta1CreateOrderSubscriptionResponseSnapshot": {
      "type": "object",
      "properties": {
        "orders": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Order"
          },
          "description": "A list of orders contained in the snapshot."
        }
      },
      "description": "Snapshot is the current state of working orders."
    },
    "v1beta1CreateOrderSubscriptionResponseUpdate": {
      "type": "object",
      "properties": {
        "executions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Execution"
          },
          "description": "A list of executions involving working orders, or new orders after subscription."
        },
        "cancel_reject": {
          "$ref": "#/definitions/connamaraep3v1beta1CancelReject",
          "description": "A rejection response when the event triggering the update was rejected."
        }
      },
      "description": "Update(s) are modifications to working orders, or new orders after subscription."
    },
    "v1beta1CreatePositionSubscriptionRequest": {
      "type": "object",
      "properties": {
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A set of fully qualified resource names of the accounts to filter upon in the subscription (ie: \"firms/[firmid]/accounts/[accountid]\") (optional)."
        }
      },
      "description": "Request to start a position subscription to get snapshots and updates for this session."
    },
    "v1beta1CreatePositionSubscriptionResponse": {
      "type": "object",
      "properties": {
        "heartbeat": {
          "$ref": "#/definitions/v1beta1Heartbeat"
        },
        "snapshot": {
          "$ref": "#/definitions/v1beta1CreatePositionSubscriptionResponseSnapshot"
        },
        "update": {
          "$ref": "#/definitions/v1beta1CreatePositionSubscriptionResponseUpdate"
        }
      }
    },
    "v1beta1CreatePositionSubscriptionResponseSnapshot": {
      "type": "object",
      "properties": {
        "positions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1Position"
          },
          "description": "A list of positions contained in the snapshot."
        }
      },
      "description": "Snapshot is the current state of positions in the system that is returned after the initial subscription request."
    },
    "v1beta1CreatePositionSubscriptionResponseUpdate": {
      "type": "object",
      "properties": {
        "positions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1Position"
          },
          "description": "A list of positions contained in the Update message."
        }
      },
      "description": "Update is the current state of positions in the system that is streamed once a position updates."
    },
    "v1beta1CreateQuoteRequest": {
      "type": "object",
      "properties": {
        "parent": {
          "type": "string",
          "description": "Exchange assigned ID for the parent quote request that this quote references (required)."
        },
        "quote": {
          "$ref": "#/definitions/connamaraep3v1beta1Quote",
          "description": "The quote to be generated (required)."
        }
      },
      "description": "Request to insert a quote into the exchange."
    },
    "v1beta1CreateQuoteResponse": {
      "type": "object"
    },
    "v1beta1CreateQuoteSubscriptionRequest": {
      "type": "object",
      "description": "Request to start a quote subscription to get snapshots and updates for this session."
    },
    "v1beta1CreateQuoteSubscriptionResponse": {
      "type": "object",
      "properties": {
        "heartbeat": {
          "$ref": "#/definitions/v1beta1Heartbeat"
        },
        "snapshot": {
          "$ref": "#/definitions/v1beta1CreateQuoteSubscriptionResponseSnapshot"
        },
        "update": {
          "$ref": "#/definitions/v1beta1CreateQuoteSubscriptionResponseUpdate"
        }
      }
    },
    "v1beta1CreateQuoteSubscriptionResponseSnapshot": {
      "type": "object",
      "properties": {
        "request_for_quotes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1RequestForQuote"
          },
          "description": "List of RFQs contained in the snapshot."
        },
        "quotes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Quote"
          },
          "description": "List of quotes contained in the snapshot."
        }
      },
      "description": "Snapshot is the current state of quotes and requests in the system that is returned on the initial subscription request."
    },
    "v1beta1CreateQuoteSubscriptionResponseUpdate": {
      "type": "object",
      "properties": {
        "request_for_quotes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1RequestForQuote"
          },
          "description": "List of RFQs contained in the update."
        },
        "quotes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Quote"
          },
          "description": "List of quotes contained in the update."
        },
        "rejects": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1QuoteReject"
          },
          "description": "List of quote rejects contained in the update."
        }
      },
      "description": "Update(s) are the creation of new or modification of existing quotes and requests after subscription."
    },
    "v1beta1CreateRequestForQuoteRequest": {
      "type": "object",
      "properties": {
        "request_for_quote": {
          "$ref": "#/definitions/connamaraep3v1beta1RequestForQuote",
          "description": "The RFQ to be generated."
        }
      },
      "description": "Request to insert a request for quote into the exchange."
    },
    "v1beta1CreateRequestForQuoteResponse": {
      "type": "object"
    },
    "v1beta1CrossType": {
      "type": "string",
      "enum": [
        "CROSS_TYPE_UNDEFINED",
        "CROSS_TYPE_ALL_OR_NONE"
      ],
      "default": "CROSS_TYPE_UNDEFINED",
      "description": "CrossType specifies the type of order cross. Must be set when inserting a cross.\n\n - CROSS_TYPE_ALL_OR_NONE: Cross order will either fill all of the order quantity or none of it"
    },
    "v1beta1CxlRejReason": {
      "type": "string",
      "enum": [
        "CXL_REJ_REASON_EXCHANGE_OPTION",
        "CXL_REJ_REASON_UNKNOWN_ORDER",
        "CXL_REJ_REASON_EXCHANGE_CLOSED",
        "CXL_REJ_REASON_INCORRECT_QUANTITY",
        "CXL_REJ_REASON_INVALID_PRICE_INCREMENT",
        "CXL_REJ_REASON_PRICE_OUT_OF_BOUNDS",
        "CXL_REJ_REASON_INSUFFICIENT_CREDIT_LIMIT"
      ],
      "default": "CXL_REJ_REASON_EXCHANGE_OPTION",
      "description": "CxlRejReason is a code to identify the reason for cancel rejection."
    },
    "v1beta1Date": {
      "type": "object",
      "properties": {
        "year": {
          "type": "integer",
          "format": "int32",
          "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year."
        },
        "month": {
          "type": "integer",
          "format": "int32",
          "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day."
        },
        "day": {
          "type": "integer",
          "format": "int32",
          "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant."
        }
      },
      "description": "Date represents a whole or partial calendar date."
    },
    "v1beta1DayOfWeek": {
      "type": "string",
      "enum": [
        "DAY_OF_WEEK_UNSPECIFIED",
        "DAY_OF_WEEK_MONDAY",
        "DAY_OF_WEEK_TUESDAY",
        "DAY_OF_WEEK_WEDNESDAY",
        "DAY_OF_WEEK_THURSDAY",
        "DAY_OF_WEEK_FRIDAY",
        "DAY_OF_WEEK_SATURDAY",
        "DAY_OF_WEEK_SUNDAY"
      ],
      "default": "DAY_OF_WEEK_UNSPECIFIED",
      "description": "DayOfWeek represents a day of week.\n\n - DAY_OF_WEEK_UNSPECIFIED: The unspecified day-of-week.\n - DAY_OF_WEEK_MONDAY: The day-of-week of Monday.\n - DAY_OF_WEEK_TUESDAY: The day-of-week of Tuesday.\n - DAY_OF_WEEK_WEDNESDAY: The day-of-week of Wednesday.\n - DAY_OF_WEEK_THURSDAY: The day-of-week of Thursday.\n - DAY_OF_WEEK_FRIDAY: The day-of-week of Friday.\n - DAY_OF_WEEK_SATURDAY: The day-of-week of Saturday.\n - DAY_OF_WEEK_SUNDAY: The day-of-week of Sunday."
    },
    "v1beta1DeleteQuoteRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Exchange assigned ID for the quote to be deleted."
        }
      },
      "description": "Request to delete a quote from the exchange."
    },
    "v1beta1DeleteQuoteResponse": {
      "type": "object"
    },
    "v1beta1DownloadExecutionsRequest": {
      "type": "object",
      "properties": {
        "start_time": {
          "type": "string",
          "format": "date-time",
          "description": "Start time for the executions to be fetched."
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "description": "End time for the executions to be fetched."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource account names to filter upon (ie: \"firms/[firmid]/accounts/[accountid]\")."
        }
      },
      "description": "Request to download executions filtered using the given details as a csv."
    },
    "v1beta1DownloadExecutionsResponse": {
      "type": "object",
      "properties": {
        "filechunk": {
          "type": "string",
          "description": "bytes array of file stream."
        }
      }
    },
    "v1beta1DownloadOrdersRequest": {
      "type": "object",
      "properties": {
        "start_time": {
          "type": "string",
          "format": "date-time",
          "description": "Start time for the orders to be fetched."
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "description": "End time for the orders to be fetched."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource account names to filter upon (ie: \"firms/[firmid]/accounts/[accountid]\")."
        }
      },
      "description": "Request to download orders filtered using the given details as a csv."
    },
    "v1beta1DownloadOrdersResponse": {
      "type": "object",
      "properties": {
        "filechunk": {
          "type": "string",
          "description": "bytes array of file stream."
        }
      }
    },
    "v1beta1DownloadTradesRequest": {
      "type": "object",
      "properties": {
        "start_time": {
          "type": "string",
          "format": "date-time",
          "description": "Start time for the trades to be fetched."
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "description": "End time for the trades to be fetched."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource account names to filter upon (ie: \"firms/[firmid]/accounts/[accountid]\")."
        }
      },
      "description": "Request to download trades filtered using the given details as a csv."
    },
    "v1beta1DownloadTradesResponse": {
      "type": "object",
      "properties": {
        "filechunk": {
          "type": "string",
          "description": "bytes array of file stream."
        }
      }
    },
    "v1beta1EventAttributes": {
      "type": "object",
      "properties": {
        "sub_types": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1HedgeMarket"
          },
          "description": "sub_types describe the instrument sub type price adjustment models."
        },
        "position_accountability_value": {
          "type": "string",
          "format": "int64",
          "description": "Soft maximum number of contracts an account can have open interest in for a given Product before exchange personnel should begin reviewing the account’s positions. Used for alerting only. EP3 will not reject orders that would cause the Position Accountability Value to be exceeded."
        },
        "underlying_event_specification": {
          "type": "string",
          "description": "The legal language describing how the market outcome and expiration is determined."
        },
        "question": {
          "type": "string",
          "title": "The exact question that describes the conditions for an affirmative outcome of the event. Example: Will the May 2022 CPI be greater than 1.5%?"
        },
        "source_agency": {
          "type": "string",
          "description": "Source of the resulting outcome."
        },
        "payout_value": {
          "type": "string",
          "format": "int64",
          "description": "The value of the payout."
        },
        "strike_value": {
          "type": "string",
          "description": "Determines the threshold by which an event is said to have happened."
        },
        "evaluation_type": {
          "type": "string",
          "description": "Type of evaluation to be used when interpreting strike_value."
        },
        "time_specifier": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "Date for approximate time of event happening."
        },
        "event_id": {
          "type": "string",
          "description": "The common/shared ID across EP3 event instruments that describes the underlying market conditions for an event."
        },
        "event_display_name": {
          "type": "string",
          "description": "The common/shared display name across EP3 event instruments that describes the underlying market conditions for an event."
        },
        "strike_unit": {
          "type": "string",
          "description": "Describes what the strike_value (which is a string in the proto) represents in a business sense. Likely to be \"string\", \"integer\", \"decimal\", or \"percentage\".\nFor example a strike_value of \"1.5\" and a strike_unit of \"percentage\" means that the strike is 1.5%."
        },
        "calculation_method": {
          "$ref": "#/definitions/v1beta1CalculationMethod",
          "description": "For strike_units of \"percentage\", this indicates if the outcome data value (e.g. 1.5%) used to resolve an event (e.g. May 2022 CPI) was calculated by the data source (e.g. Bureau of Labor Statistics) as a month-over-month change or a year-over-year change.\nFor all other strike_units (string, integer, decimal), this will be set to \"CALCULATION_METHOD_VALUE\", indicating a single outcome data value is used to resolve an event (e.g. \"Donald Trump\" or \"12 inches of rain\"), with no comparison to a prior data value required."
        },
        "position_limit": {
          "type": "string",
          "format": "int64",
          "description": "Hard maximum number of contracts an account can have open interest in for a given Product. Used for alerting only. EP3 will not reject orders that would cause the Position Limit to be exceeded."
        },
        "source_agency_url": {
          "type": "string",
          "description": "The website of the Source Agency."
        },
        "expected_payout_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "The expected date that settlement payouts will be given to the holders of the event contract with the correct outcome."
        },
        "expected_payout_time": {
          "$ref": "#/definitions/v1beta1TimeOfDay",
          "description": "The expected time that settlement payouts will be given to the holders of the event contract with the correct outcome."
        },
        "strike_evaluation_lower_limit": {
          "type": "string",
          "description": "The lower limit of values to consider valid for evaluation in comparison to the strike value."
        },
        "strike_evaluation_upper_limit": {
          "type": "string",
          "description": "The upper limit of values to consider valid for evaluation in comparison to the strike value."
        },
        "payout_type": {
          "$ref": "#/definitions/v1beta1PayoutType",
          "description": "Determines if the instrument is binary or continuous."
        },
        "payout_lower_bound": {
          "type": "string",
          "format": "int64",
          "description": "The lower limit of the payout if the event instrument is continuous."
        },
        "payout_upper_bound": {
          "type": "string",
          "format": "int64",
          "description": "The upper limit of the payout if the event instrument is continuous."
        },
        "frequency_type": {
          "type": "string",
          "description": "The frequency type of the product (\"W\", \"M\", \"Q\")."
        },
        "settlement_fee": {
          "type": "string",
          "format": "int64",
          "description": "The settlement fee charged to all accounts that hold a position to expiration regardless of win or loss, factored into margin requirement calculation. This field is optional but conditionally required if SettlementFeeDestinationAccount is defined."
        },
        "settlement_fee_destination_account": {
          "type": "string",
          "description": "The fully qualified resource name of the destination account that will receive settlement fees upon resolution of this instrument. This field is optional but conditionally required if SettlementFee is defined."
        },
        "event_outcome": {
          "$ref": "#/definitions/v1beta1EventOutcome",
          "description": "The relationship of instruments and their outcomes within an event."
        },
        "strike_description": {
          "type": "string",
          "description": "A description of what the strike value represents. Examples: Fahrenheit, USD, COVID cases."
        },
        "directional_event_outcome_ordinal_rank": {
          "type": "integer",
          "format": "int32",
          "description": "The ordinal rank of instruments with 1 being easiest to achieve and higher values being more difficult outcomes, required if and only if the event outcome is directional in nature and must be unique among instruments within the event."
        }
      },
      "description": "EventAttributes are attributes that define an Event tradable instrument."
    },
    "v1beta1EventOutcome": {
      "type": "string",
      "enum": [
        "EVENT_OUTCOME_INDEPENDENT",
        "EVENT_OUTCOME_MUTUALLY_EXCLUSIVE",
        "EVENT_OUTCOME_DIRECTIONAL"
      ],
      "default": "EVENT_OUTCOME_INDEPENDENT",
      "description": "Event Outcome for the instrument.\n\n - EVENT_OUTCOME_INDEPENDENT: The default behavior indicating the outcome of each instrument associated to this event can resolve independently of any other.\n - EVENT_OUTCOME_MUTUALLY_EXCLUSIVE: Only one instrument in the set of all instruments associated to this event may resolve to YES, and all others must resolve to NO.\n - EVENT_OUTCOME_DIRECTIONAL: The set of instruments associated to this event are ranked by their strike value such that resolution to YES at one strike means other strikes that are in the money also resolve to YES implicitly."
    },
    "v1beta1ExecutionType": {
      "type": "string",
      "enum": [
        "EXECUTION_TYPE_NEW",
        "EXECUTION_TYPE_PARTIAL_FILL",
        "EXECUTION_TYPE_FILL",
        "EXECUTION_TYPE_CANCELED",
        "EXECUTION_TYPE_REPLACE",
        "EXECUTION_TYPE_REJECTED",
        "EXECUTION_TYPE_EXPIRED",
        "EXECUTION_TYPE_DONE_FOR_DAY"
      ],
      "default": "EXECUTION_TYPE_NEW",
      "description": "ExecutionType denotes the execution type."
    },
    "v1beta1FIXOrderContext": {
      "type": "object",
      "properties": {
        "begin_string": {
          "type": "string"
        },
        "target_comp_id": {
          "type": "string"
        },
        "sender_comp_id": {
          "type": "string"
        },
        "orig_clord_id": {
          "type": "string"
        },
        "security_type": {
          "type": "string"
        },
        "target_sub_id": {
          "type": "string"
        },
        "target_location_id": {
          "type": "string"
        },
        "sender_sub_id": {
          "type": "string"
        },
        "sender_location_id": {
          "type": "string"
        },
        "on_behalf_of_comp_id": {
          "type": "string"
        },
        "on_behalf_of_sub_id": {
          "type": "string"
        }
      },
      "description": "FIXOrderContext is the context set for orders sent via the FIX API."
    },
    "v1beta1FirmType": {
      "type": "string",
      "enum": [
        "FIRM_TYPE_UNDEFINED",
        "FIRM_TYPE_PARTICIPANT",
        "FIRM_TYPE_SUPERVISOR",
        "FIRM_TYPE_CLEARING_MEMBER",
        "FIRM_TYPE_CLEARING_HOUSE",
        "FIRM_TYPE_AGENT"
      ],
      "default": "FIRM_TYPE_UNDEFINED",
      "description": "FirmType of the exchange firm."
    },
    "v1beta1ForexAttributes": {
      "type": "object",
      "properties": {
        "base_currency": {
          "type": "string",
          "description": "The first currency in a currency pair. For example, the base_currency of GBP/USD is GBP.\nWhen an order is placed, the quantity on the order will be in terms of the base_currency.\nFor example, if an order to buy 10 GBP/USD is filled, the buyer will receive 10 GBP.\nNOTE: This ForexAttributes base_currency should not be confused with the InstrumentAttributes base_currency.\nThe InstrumentAttributes base_currency was created before Forex instruments existed in EP3, and therefore it should not be interpreted in a Forex context.\nRather, it simply represents the currency in which trading is \"based on\".\nFor example, for an Equity instrument where prices are quoted in USD, the InstrumentAttributes base_currency would simply be USD.\nTo avoid confusion, in the EP3 Admin UI, the InstrumentAttributes base_currency is simply displayed as \"Currency\"."
        },
        "quote_currency": {
          "type": "string",
          "description": "The second currency in a currency pair. For example, the quote_currency of GBP/USD is USD.\nWhen an order is placed, the price on the order will be in terms of the quote_currency.\nFor example, if an order to buy GBP/USD at a price of \"1.20\" is filled, the buyer will pay 1.20 USD for each GBP received.\nNOTE: Even for Forex instruments, the InstrumentAttributes base_currency is still a required field because downstream components depend on this field being populated.\nAnd it is actually the ForexAttributes quote_currency field that is equivalent to the the InstrumentAttributes base_currency, as these both represent the currency that prices are quoted in.\nAs such, EP3 validates when creating a Forex instrument that the ForexAttributes quote_currency equals the InstrumentAttributes base_currency."
        }
      },
      "description": "ForexAttributes are attributes that define a Foreign Exchange (Forex) instrument."
    },
    "v1beta1ForwardRateAgreementSwapAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "forward_starting_period": {
          "type": "integer",
          "format": "int32",
          "title": "in units given by forward starting period time period"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "swap_effective_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "swap effective date calculated by date adjustments server"
        },
        "effective_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "maturity date calculated by date adjustments server"
        },
        "maturity_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "fixed_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "30/360 | ACT/360 | ACT/365.FIXED"
        },
        "fixed_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "fixed_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "ACT/360 | ACT/365.FIXED"
        },
        "float_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "float_fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "floating_rate_index": {
          "type": "string",
          "title": "1M USD LIBOR | 3M USD LIBOR | 6M USD LIBOR | 3M EURIBOR | 6M EURIBOR | 3M GDP LIBOR | 6M GDP LIBOR |\n3M CDOR | 6M NIBOR | 3M JPY LIBOR | 6M JPY LIBOR | 6M CNF LIBOR | 3M BBSW | 6M BBSW | 3M STIBOR | 6M CIBOR2"
        },
        "float_fixing_dates_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "float_fixing_dates_offset": {
          "type": "integer",
          "format": "int32"
        },
        "float_fixing_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "calculation_period_number_of_days": {
          "type": "integer",
          "format": "int32"
        },
        "unadjusted_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "unadjusted_maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "floating_rate_index_tenor": {
          "type": "string",
          "description": "1M | 3M | 6M | 1Y | etc..."
        },
        "roll_and_payment_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "usually only 1 calendar but can be 2.\nNew York | London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "forward_starting_period_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        }
      },
      "description": "ForwardRateAgreementSwapAttributes are attributes that define an Forward Rate Agreement Swap tradable instrument."
    },
    "v1beta1ForwardStartingInterestRateSwapAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "swap_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "effective_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "maturity_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "roll_and_payment_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "usually only 1 calendar but can be 2.\nNew York | London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "fixed_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | SemiAnnual | Annually"
        },
        "fixed_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "fixed_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "30/360 | ACT/360 | ACT/365.FIXED"
        },
        "fixed_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "ACT/360 | ACT/365.FIXED"
        },
        "float_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "float_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | Semiannually"
        },
        "float_rate_reset_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "float_reset_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "first_float_reset_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "first_float_fixing_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "floating_rate_index": {
          "type": "string",
          "title": "1M USD LIBOR | 3M USD LIBOR | 6M USD LIBOR | 3M EURIBOR | 6M EURIBOR | 3M GDP LIBOR | 6M GDP LIBOR |\n3M CDOR | 6M NIBOR | 3M JPY LIBOR | 6M JPY LIBOR | 6M CNF LIBOR | 3M BBSW | 6M BBSW | 3M STIBOR | 6M CIBOR2"
        },
        "float_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "fixed_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "float_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "fixed_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "float_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "fixed_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "float_fixing_dates_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "float_fixing_dates_offset": {
          "type": "integer",
          "format": "int32"
        },
        "floating_rate_index_tenor": {
          "type": "string",
          "description": "1M | 3M | 6M | 1Y | etc..."
        },
        "unadjusted_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "unadjusted_maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "effective_date_offset": {
          "type": "integer",
          "format": "int32"
        },
        "float_reset_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "Restricted to only enum values: CalculationPeriodStartDate | CalculationPeriodEndDate"
        },
        "float_fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "forward_starting_period": {
          "type": "integer",
          "format": "int32",
          "title": "in units given by forward starting period time period"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "forward_starting_period_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        }
      },
      "description": "ForwardStartingInterestRateSwapAttributes are attributes that define a Forward Starting Interest Rate Swap tradable instrument."
    },
    "v1beta1FutureAttributes": {
      "type": "object",
      "properties": {
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "maturity_date is the maturity date of the derivative contract"
        }
      },
      "description": "FutureAttributes are attributes that define a Future tradable instrument."
    },
    "v1beta1GetAccountBalanceRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Fully qualified resource name of the account to get the balance for (ie: \"firms/[firmid]/accounts/[accountid]\") (required)."
        },
        "currency": {
          "type": "string",
          "description": "ISO currency code of the fiat currency for which to get the balance (ie: \"USD\") (required)."
        },
        "symbol_for_buying_power": {
          "type": "string",
          "title": "Optional field used to return the calculated buying power on an account specifically for trading on that symbol"
        }
      },
      "description": "Request to get the balance of the given account in the given currency."
    },
    "v1beta1GetAccountBalanceResponse": {
      "type": "object",
      "properties": {
        "balance": {
          "type": "string",
          "description": "Fixed point decimal fiat currency balance, not including any security values."
        },
        "capital_requirement": {
          "type": "string",
          "description": "Required amount of fiat currency balance that must be held in an account and cannot be used for trading."
        },
        "excess_capital": {
          "type": "string",
          "description": "Amount of excess capital in the balance beyond the requirement, factoring in all security valuations."
        },
        "buying_power": {
          "type": "string",
          "description": "Amount of unencumbered capital available for trading, factoring in all security valuations as well as any open orders."
        },
        "securities": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/GetAccountBalanceResponseSecurityEntry"
          },
          "description": "Map of securities mapped by ID to their detailed valuation with respect to the market price and adjustments applied."
        },
        "total_security_notional_value": {
          "type": "string",
          "description": "Aggregate notional value of all securities."
        },
        "total_security_available_value": {
          "type": "string",
          "description": "Aggregate available collateral value of all securities."
        },
        "open_orders": {
          "type": "string",
          "description": "Aggregate total notional value of open orders."
        },
        "alternate_capital_requirement_currency": {
          "type": "string",
          "description": "If exists, the alternate currency used for capital requirement."
        },
        "alternate_capital_requirement": {
          "type": "string",
          "description": "The fixed amount of capital requirement in the alternate capital requirement currency."
        },
        "unsettled_funds": {
          "type": "string",
          "description": "Aggregate total notional value of unsettled funds not yet available to trade."
        },
        "margin_requirement": {
          "type": "string",
          "description": "Aggregate margin requirement for each Event Instrument."
        },
        "update_time": {
          "type": "string",
          "format": "date-time",
          "title": "Time at which the last balance change was made"
        }
      }
    },
    "v1beta1GetInstrumentMetadataRequest": {
      "type": "object"
    },
    "v1beta1GetInstrumentMetadataResponse": {
      "type": "object",
      "properties": {
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "v1beta1GetOpenOrdersRequest": {
      "type": "object",
      "properties": {
        "symbols": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of symbols to filter upon and return in the response.\nThis field is optional."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of accounts to filter upon and return in the response.\nThis field is optional."
        }
      },
      "description": "Request to get open orders."
    },
    "v1beta1GetOpenOrdersResponse": {
      "type": "object",
      "properties": {
        "orders": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Order"
          },
          "description": "A snapshot list of the current working orders."
        }
      }
    },
    "v1beta1GetTradeStatsRequest": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string",
          "description": "Symbol to filter upon."
        },
        "start_time": {
          "type": "string",
          "format": "date-time",
          "description": "Start time for the trade data time window."
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "description": "End time for the trade data time window."
        },
        "bars": {
          "type": "integer",
          "format": "int32",
          "description": "Number of individual bars to include for the given time window."
        },
        "start_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "Start trade date for the trade data time window."
        },
        "end_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "End trade date for the trade data time window."
        }
      }
    },
    "v1beta1GetTradeStatsResponse": {
      "type": "object",
      "properties": {
        "stats": {
          "$ref": "#/definitions/v1beta1TradeStats",
          "description": "The stats calculated in the given time window."
        },
        "bars": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1TradeStats"
          },
          "description": "The stats calculated in the given time window, split into individual time slices."
        },
        "bar_start_time": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date-time"
          },
          "description": "The start of the time window corresponding to the same index as the `bars` array."
        },
        "bar_end_time": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "date-time"
          },
          "description": "The end of the time window corresponding to the same index as the `bars` array."
        }
      }
    },
    "v1beta1GetWhoAmIRequest": {
      "type": "object",
      "description": "Request to get the user information of the caller."
    },
    "v1beta1GetWhoAmIResponse": {
      "type": "object",
      "properties": {
        "user": {
          "type": "string",
          "description": "Fully qualified resource name for the user (ie: \"firms/[firmid]/users/[userid]\")."
        },
        "user_display_name": {
          "type": "string",
          "description": "Display name for the user."
        },
        "firm": {
          "type": "string",
          "description": "Fully qualified resource name for the firm associated with the user (ie: \"firms/[firmid]\")."
        },
        "firm_display_name": {
          "type": "string",
          "description": "Display name for the firm associated with the user."
        },
        "audience": {
          "type": "string",
          "description": "The claim string for the user to verify whether the user is entitled to perform audience specific requests."
        },
        "firm_type": {
          "$ref": "#/definitions/v1beta1FirmType",
          "description": "The type of the firm associated with the user."
        }
      }
    },
    "v1beta1Heartbeat": {
      "type": "object",
      "description": "Heartbeat can be sent on a streaming RPC call to keep the line open."
    },
    "v1beta1HedgeMarket": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string",
          "description": "Symbol describes the market that a parent order shall hedge into."
        },
        "buy_price_increment": {
          "type": "string",
          "format": "int64",
          "description": "If an incoming order is a buy, then increment the price in ticks by this value for the hedge."
        },
        "sell_price_increment": {
          "type": "string",
          "format": "int64",
          "description": "If an incoming order is a sell, then increment the price in ticks by this value for the hedge."
        },
        "buy_scale": {
          "type": "string",
          "format": "int64",
          "description": "If an incoming order is a buy, then multiply the price scale by this value for the hedge. If zero, then no scale applied."
        },
        "sell_scale": {
          "type": "string",
          "format": "int64",
          "description": "If an incoming order is a sell, then multiply the price scale by this value for the hedge. If zero, then no scale applied."
        },
        "opposing_side": {
          "type": "boolean",
          "description": "If set, orders submitted against the parent symbol shall appear on the opposite side in the hedge market."
        },
        "buy_quantity_ratio": {
          "type": "string",
          "format": "int64",
          "description": "If an incoming order is a buy, then multiply the quantity by this value for the hedge. If zero, then not applied."
        },
        "sell_quantity_ratio": {
          "type": "string",
          "format": "int64",
          "description": "If an incoming order is a buy, then multiply the quantity by this value for the hedge. If zero, then not applied."
        },
        "strict_limit": {
          "type": "boolean",
          "description": "If set, orders submitted against the parent symbol shall be mandated as strict limit orders in the hedge market."
        }
      },
      "description": "HedgeMarket defines what markets to hedge into and by what price model."
    },
    "v1beta1InsertOrderCrossResponse": {
      "type": "object",
      "properties": {
        "responses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1InsertOrderResponse"
          },
          "description": "A list of responses to inserted orders."
        }
      }
    },
    "v1beta1InsertOrderListRequest": {
      "type": "object",
      "properties": {
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1InsertOrderRequest"
          },
          "description": "A list of orders to insert."
        }
      },
      "description": "Request to insert multiple orders with the given details."
    },
    "v1beta1InsertOrderListResponse": {
      "type": "object",
      "properties": {
        "responses": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1InsertOrderResponse"
          },
          "description": "A list of responses to inserted orders."
        }
      }
    },
    "v1beta1InsertOrderResponse": {
      "type": "object",
      "properties": {
        "order_id": {
          "type": "string",
          "description": "The exchange assigned ID for the order."
        }
      }
    },
    "v1beta1InstrumentStats": {
      "type": "object",
      "properties": {
        "open_px": {
          "type": "string",
          "format": "int64"
        },
        "close_px": {
          "type": "string",
          "format": "int64"
        },
        "low_px": {
          "type": "string",
          "format": "int64"
        },
        "high_px": {
          "type": "string",
          "format": "int64"
        },
        "last_trade_px": {
          "type": "string",
          "format": "int64"
        },
        "indicative_open_px": {
          "type": "string",
          "format": "int64"
        },
        "settlement_px": {
          "type": "string",
          "format": "int64"
        },
        "shares_traded": {
          "type": "string",
          "format": "int64"
        },
        "notional_traded": {
          "type": "string",
          "format": "int64"
        },
        "last_trade_qty": {
          "type": "string",
          "format": "int64"
        },
        "open_interest": {
          "type": "string",
          "format": "int64"
        },
        "settlement_preliminary_flag": {
          "type": "boolean"
        },
        "open_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "close_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "high_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "low_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "last_trade_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "indicative_open_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "settlement_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "open_interest_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "notional_set_time": {
          "type": "string",
          "format": "date-time"
        },
        "settlement_price_calculation_method": {
          "$ref": "#/definitions/v1beta1SettlementPriceCalculationMethod"
        },
        "trading_reference_px": {
          "type": "string",
          "format": "int64",
          "description": "Optional trading reference price to be used instead of settlement price as the basis for relative price limits."
        },
        "trading_reference_set_time": {
          "type": "string",
          "format": "date-time",
          "description": "Time at which the trading reference price was set."
        },
        "settlement_price_calculation_text_value": {
          "type": "string",
          "description": "Optional, free-form text regarding how the settlement price was calculated. For example, this could be the exact outcome of the underlying event that was used to settle a binary instrument."
        }
      },
      "description": "InstrumentStats are a collection of stats on an instrument."
    },
    "v1beta1InstrumentType": {
      "type": "string",
      "enum": [
        "INSTRUMENT_TYPE_UNSET",
        "INSTRUMENT_TYPE_DEFAULT",
        "INSTRUMENT_TYPE_FUTURE",
        "INSTRUMENT_TYPE_OPTION",
        "INSTRUMENT_TYPE_MULTILEG",
        "INSTRUMENT_TYPE_IRS",
        "INSTRUMENT_TYPE_FRA",
        "INSTRUMENT_TYPE_FSIRS",
        "INSTRUMENT_TYPE_BASIS",
        "INSTRUMENT_TYPE_EVENT",
        "INSTRUMENT_TYPE_OIS",
        "INSTRUMENT_TYPE_SPS",
        "INSTRUMENT_TYPE_NDF",
        "INSTRUMENT_TYPE_FOREX",
        "INSTRUMENT_TYPE_ZCIS",
        "INSTRUMENT_TYPE_XCCY"
      ],
      "default": "INSTRUMENT_TYPE_UNSET",
      "description": "InstrumentType of the Instrument.\n\n - INSTRUMENT_TYPE_UNSET: Instrument type is unset.\n - INSTRUMENT_TYPE_DEFAULT: Instrument type is default and does not contain any special type attributes.\n - INSTRUMENT_TYPE_FUTURE: Instrument is a Future.\n - INSTRUMENT_TYPE_OPTION: Instrument is an Option.\n - INSTRUMENT_TYPE_MULTILEG: Instrument is a Multileg.\n - INSTRUMENT_TYPE_IRS: Instrument is an Interest Rate Swap.\n - INSTRUMENT_TYPE_FRA: Instrument is a Forward Rate Agreement Swap.\n - INSTRUMENT_TYPE_FSIRS: Instrument is a Forward Starting Interest Rate Swap.\n - INSTRUMENT_TYPE_BASIS: Instrument is a Basis Swap.\n - INSTRUMENT_TYPE_EVENT: Instrument is an Event Swap.\n - INSTRUMENT_TYPE_OIS: Instrument is an Overnight Index Swap.\n - INSTRUMENT_TYPE_SPS: Instrument is a Single Period Swap.\n - INSTRUMENT_TYPE_NDF: Instrument is a Non-Deliverable Forward.\n - INSTRUMENT_TYPE_FOREX: Instrument is a Foreign Exchange (Forex) Market.\n - INSTRUMENT_TYPE_ZCIS: Instrument is a Zero Coupon Inflation Swap.\n - INSTRUMENT_TYPE_XCCY: Instrument is a Cross Currency Basis Swap."
    },
    "v1beta1InterestRateSwapAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "swap_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "effective_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "maturity_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "roll_and_payment_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "usually only 1 calendar but can be 2.\nNew York | London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "fixed_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | SemiAnnual | Annually"
        },
        "fixed_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "fixed_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "30/360 | ACT/360 | ACT/365.FIXED"
        },
        "fixed_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "ACT/360 | ACT/365.FIXED"
        },
        "float_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "float_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | Semiannually"
        },
        "float_rate_reset_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "float_reset_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "first_float_reset_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "first_float_fixing_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "floating_rate_index": {
          "type": "string",
          "title": "1M USD LIBOR | 3M USD LIBOR | 6M USD LIBOR | 3M EURIBOR | 6M EURIBOR | 3M GDP LIBOR | 6M GDP LIBOR |\n3M CDOR | 6M NIBOR | 3M JPY LIBOR | 6M JPY LIBOR | 6M CNF LIBOR | 3M BBSW | 6M BBSW | 3M STIBOR | 6M CIBOR2"
        },
        "float_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "fixed_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "float_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "fixed_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "float_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "fixed_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "float_fixing_dates_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "float_fixing_dates_offset": {
          "type": "integer",
          "format": "int32"
        },
        "floating_rate_index_tenor": {
          "type": "string",
          "description": "1M | 3M | 6M | 1Y | etc..."
        },
        "unadjusted_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "unadjusted_maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "effective_date_offset": {
          "type": "integer",
          "format": "int32"
        },
        "float_reset_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "Restricted to only enum values: CalculationPeriodStartDate | CalculationPeriodEndDate"
        },
        "float_fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        }
      },
      "description": "InterestRateSwapAttributes are attributes that define an Interest Rate Swap tradable instrument."
    },
    "v1beta1InterestRateSwapAttributesBusinessDayConvention": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_MODIFIED_FOLLOWING",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_FOLLOWING",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_FRN",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_PRECEDING",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_MODIFIED_PRECEDING",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_NEAREST",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_NONE",
        "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_NOTAPPLICABLE"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_UNDEFINED",
      "description": "InterestRateSwapAttributesBusinessDayConvention defines the business day convention rules for IRS instruments.\n\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_MODIFIED_FOLLOWING: Modified Following\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_FOLLOWING: Following\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_FRN: FRN\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_PRECEDING: Preceding\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_MODIFIED_PRECEDING: ModPreceding\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_NEAREST: Nearest\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_NONE: None\n - INTEREST_RATE_SWAP_ATTRIBUTES_BUSINESS_DAY_CONVENTION_NOTAPPLICABLE: NotApplicable"
    },
    "v1beta1InterestRateSwapAttributesCompoundingMethod": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_COMPOUNDING_METHOD_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_COMPOUNDING_METHOD_NONE",
        "INTEREST_RATE_SWAP_ATTRIBUTES_COMPOUNDING_METHOD_FLAT"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_COMPOUNDING_METHOD_UNDEFINED",
      "description": "InterestRateSwapAttributesCompoundingMethod defines the compounding method rules for IRS instruments."
    },
    "v1beta1InterestRateSwapAttributesDateRelativeTo": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_DATE_RELATIVE_TO_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DATE_RELATIVE_TO_CALCULATION_PERIOD_START_DATE",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DATE_RELATIVE_TO_CALCULATION_PERIOD_END_DATE",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DATE_RELATIVE_TO_LAST_PRICING_DATE",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DATE_RELATIVE_TO_RESET_DATE",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DATE_RELATIVE_TO_VALUATION_DATE"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_DATE_RELATIVE_TO_UNDEFINED",
      "description": "InterestRateSwapAttributesDateRelativeTo defines payment date relative to rules for IRS instruments."
    },
    "v1beta1InterestRateSwapAttributesDayCountConvention": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_30_360",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_ACT_360",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_ACT_365_FIXED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_ONE_TO_ONE"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_UNDEFINED",
      "description": "InterestRateSwapAttributesDayCountConvention defines day/year counting rules for IRS instruments.\n\n - INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_30_360: 30/360\n - INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_ACT_360: ACT/360\n - INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_ACT_365_FIXED: ACT/365.FIXED\n - INTEREST_RATE_SWAP_ATTRIBUTES_DAY_COUNT_CONVENTION_ONE_TO_ONE: 1/1"
    },
    "v1beta1InterestRateSwapAttributesDayType": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_BUSINESS",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_CALENDAR",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_COMMODITY_BUSINESS",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_CURRENCY_BUSINESS",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_EXCHANGE_BUSINESS",
        "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_SCHEDULED_TRADING_DAY"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_DAY_TYPE_UNDEFINED",
      "description": "InterestRateSwapAttributesDayType defines day type rules for IRS instruments."
    },
    "v1beta1InterestRateSwapAttributesExchangeRateQuoteBasis": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_EXCHANGE_RATE_QUOTE_BASIS_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_EXCHANGE_RATE_QUOTE_BASIS_CURRENCY_1_PER_CURRENCY_2",
        "INTEREST_RATE_SWAP_ATTRIBUTES_EXCHANGE_RATE_QUOTE_BASIS_CURRENCY_2_PER_CURRENCY_1"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_EXCHANGE_RATE_QUOTE_BASIS_UNDEFINED",
      "description": "InterestRateSwapAttributesExchangeRateQuoteBasis defines the method used for the Exchange Rate Quote.\n\n - INTEREST_RATE_SWAP_ATTRIBUTES_EXCHANGE_RATE_QUOTE_BASIS_CURRENCY_1_PER_CURRENCY_2: The Rate is quoted as Currency 1 Per Currency 2\n - INTEREST_RATE_SWAP_ATTRIBUTES_EXCHANGE_RATE_QUOTE_BASIS_CURRENCY_2_PER_CURRENCY_1: The Rate is quoted as Currency 2 Per Currency 1"
    },
    "v1beta1InterestRateSwapAttributesFrequency": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_MONTHLY",
        "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_QUARTERLY",
        "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_SEMI_ANNUALLY",
        "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_ANNUALLY",
        "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_DAILY",
        "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_TERM"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_FREQUENCY_UNDEFINED",
      "description": "InterestRateSwapAttributesFrequency defines the frequencies for payment rules for IRS instruments."
    },
    "v1beta1InterestRateSwapAttributesSideConvention": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_SIDE_CONVENTION_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_SIDE_CONVENTION_BUY",
        "INTEREST_RATE_SWAP_ATTRIBUTES_SIDE_CONVENTION_SELL"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_SIDE_CONVENTION_UNDEFINED",
      "description": "InterestRateSwapAttributesSideConvention defines the side conventions for IRS instruments.\n\n - INTEREST_RATE_SWAP_ATTRIBUTES_SIDE_CONVENTION_BUY: Pay Fixed\n - INTEREST_RATE_SWAP_ATTRIBUTES_SIDE_CONVENTION_SELL: Receive Fixed"
    },
    "v1beta1InterestRateSwapAttributesTimePeriod": {
      "type": "string",
      "enum": [
        "INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_UNDEFINED",
        "INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_YEARS",
        "INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_MONTHS",
        "INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_DAYS"
      ],
      "default": "INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_UNDEFINED",
      "description": "InterestRateSwapAttributesTimePeriod defines time period rules for IRS instruments.\n\n - INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_YEARS: Associated period is in years.\n - INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_MONTHS: Associated period is in months.\n - INTEREST_RATE_SWAP_ATTRIBUTES_TIME_PERIOD_DAYS: Associated period is in days."
    },
    "v1beta1LegAttributes": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string",
          "description": "symbol is the instrument id of the individual leg."
        },
        "ratio": {
          "type": "string",
          "format": "int64",
          "description": "ratio is the multiplier of trade quantity that must align with the other legs."
        },
        "opposing_side": {
          "type": "boolean",
          "description": "opposing_side describes if this leg should have a side opposite the other legs."
        }
      },
      "description": "LegAttributes are attributes that define a leg of a Multileg tradable instrument."
    },
    "v1beta1LegPrice": {
      "type": "object",
      "properties": {
        "symbol": {
          "type": "string",
          "title": "The symbol of the leg"
        },
        "anchor": {
          "type": "boolean",
          "title": "Indicates that this entry is used as the anchor price"
        },
        "px": {
          "type": "string",
          "format": "int64",
          "title": "The price of the leg"
        },
        "qty": {
          "type": "string",
          "format": "int64",
          "title": "The quantity of the leg"
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side",
          "title": "The side of the leg"
        },
        "reference_px": {
          "type": "string",
          "format": "int64",
          "title": "The reference price of the leg used in the calculation of the derived price"
        }
      },
      "description": "LegPrice indicates a price for a leg as part of a multi leg instrument."
    },
    "v1beta1ListAccountBalancesRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Fully qualified resource name of the account to get the balances for (ie: \"firms/[firmid]/accounts/[accountid]\") (required)."
        },
        "symbol_for_buying_power": {
          "type": "string",
          "title": "Optional field used to return the calculated buying power on an account specifically for trading on that symbol"
        }
      },
      "description": "Request to list the balances of a given account for all currencies."
    },
    "v1beta1ListAccountBalancesResponse": {
      "type": "object",
      "properties": {
        "balances": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/v1beta1GetAccountBalanceResponse"
          },
          "description": "Map of account balances with the currency of the balance as the key."
        }
      }
    },
    "v1beta1ListAccountPositionsRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Fully qualified resource name of the account to get the positions for (ie: \"firms/[firmid]/accounts/[accountid]\") (required)."
        },
        "symbol": {
          "type": "string",
          "description": "Symbol to filter against within the account (optional)."
        }
      },
      "description": "Request to list the positions of a given account."
    },
    "v1beta1ListAccountPositionsResponse": {
      "type": "object",
      "properties": {
        "positions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1Position"
          },
          "description": "List of positions within the given account."
        },
        "available_position": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "int64"
          },
          "description": "Actual available position that can be used to trade for the corresponding index, factoring in any open orders and otherwise encumbered positions."
        }
      }
    },
    "v1beta1ListAccountsRequest": {
      "type": "object",
      "properties": {
        "user": {
          "type": "string",
          "description": "Fully qualified resource name for the user whos accounts to list (ie: \"firms/[firmid]/users/[userid]\").\nIf left empty, lists all accounts."
        }
      },
      "description": "Request to list the accounts belonging to the specified user."
    },
    "v1beta1ListAccountsResponse": {
      "type": "object",
      "properties": {
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of fully qualified resource names for the accounts found (ie: \"firms/[firmid]/accounts/[accountid]\")."
        },
        "display_names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of display names for the accounts found."
        }
      }
    },
    "v1beta1ListDealersRequest": {
      "type": "object",
      "description": "Request to get the whitelist of firms that are able to receive a request for quote that I send."
    },
    "v1beta1ListDealersResponse": {
      "type": "object",
      "properties": {
        "firms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource names for the whitelisted firms (ie: \"firms/[firmid]\")."
        },
        "display_names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of display names for the whitelisted firms."
        }
      }
    },
    "v1beta1ListInstrumentsRequest": {
      "type": "object",
      "properties": {
        "page_size": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of Instruments to return in a response.\nThis field is optional."
        },
        "page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `ListInstruments`\nthat indicates where this listing should continue from.\nThis field is optional."
        },
        "symbols": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of symbols to filter upon and return in a response.\nThis field is optional."
        },
        "product_id": {
          "type": "string",
          "title": "If set, filter returned instruments belonging to product"
        },
        "tradable_filter": {
          "$ref": "#/definitions/v1beta1TradableFilter",
          "description": "Used to filter instruments by the non_tradable instrument attribute."
        },
        "states": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/connamaraep3v1beta1InstrumentState"
          },
          "description": "The instrument states to filter upon."
        },
        "type": {
          "$ref": "#/definitions/v1beta1InstrumentType",
          "description": "The instrument types to filter upon."
        }
      }
    },
    "v1beta1ListInstrumentsResponse": {
      "type": "object",
      "properties": {
        "instruments": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Instrument"
          }
        },
        "next_page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `ListInstruments`\nthat indicates from where listing should continue.\nThis field is optional."
        },
        "eof": {
          "type": "boolean",
          "title": "Eof is true if no more instruments given the filtering criteria are available at this time"
        }
      }
    },
    "v1beta1ListRequestersRequest": {
      "type": "object",
      "description": "Request to get the whitelist of firms that are able to send a request for quote to my firm."
    },
    "v1beta1ListRequestersResponse": {
      "type": "object",
      "properties": {
        "firms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource names for the whitelisted firms (ie: \"firms/[firmid]\")."
        },
        "display_names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of display names for the whitelisted firms."
        }
      }
    },
    "v1beta1ListSymbolsRequest": {
      "type": "object"
    },
    "v1beta1ListSymbolsResponse": {
      "type": "object",
      "properties": {
        "symbols": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "v1beta1ListUsersRequest": {
      "type": "object",
      "description": "Request to list the users that the user may trade on behalf of."
    },
    "v1beta1ListUsersResponse": {
      "type": "object",
      "properties": {
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of fully qualified resource names for users found (ie: \"firms/[firmid]/users/[userid]\")."
        },
        "display_names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of display names for the users found."
        },
        "firms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of fully qualified resource names for the firms associated with the users found (ie: \"firms/[firmid]\")."
        },
        "firms_display_names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of display names for the firms associated with the users found."
        }
      }
    },
    "v1beta1ManualOrderIndicator": {
      "type": "string",
      "enum": [
        "MANUAL_ORDER_INDICATOR_UNDEFINED",
        "MANUAL_ORDER_INDICATOR_MANUAL",
        "MANUAL_ORDER_INDICATOR_AUTOMATED"
      ],
      "default": "MANUAL_ORDER_INDICATOR_UNDEFINED",
      "description": "ManualOrderIndicator designates the manual or automated nature of an order.\n\n - MANUAL_ORDER_INDICATOR_UNDEFINED: An unset value for the manual order indicator.\n - MANUAL_ORDER_INDICATOR_MANUAL: The order was initially received via manual entry.\n - MANUAL_ORDER_INDICATOR_AUTOMATED: The order was initially received electronically."
    },
    "v1beta1MultilegAttributes": {
      "type": "object",
      "properties": {
        "legs": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1beta1LegAttributes"
          },
          "description": "legs describe the underlying instruments that make up the overall strategy."
        }
      },
      "description": "MultilegAttributes are attributes that define a Multileg tradable instrument."
    },
    "v1beta1NonDeliverableForwardAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "forward_starting_period": {
          "type": "integer",
          "format": "int32",
          "title": "in units given by forward starting period time period"
        },
        "forward_starting_period_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "currency_1": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "currency_2": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "exchanged_currency_1": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "exchanged_currency_2": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "valuation_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "fixing_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "exchange_rate_currency_1": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "exchange_rate_currency_2": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "exchange_rate_quote_basis": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesExchangeRateQuoteBasis",
          "title": "Currency1PerCurrency2 Currency2PerCurrency1"
        },
        "fixing_quote_basis": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesExchangeRateQuoteBasis",
          "title": "Currency1PerCurrency2 Currency2PerCurrency1"
        },
        "settlement_currency": {
          "type": "string",
          "title": "USD"
        },
        "fixing_currency_1": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "fixing_currency_2": {
          "type": "string",
          "title": "AUD | BRL | CAD | CHF | CLP | CNY | COP | DKK | EUR | GBP | HKD | IDR | INR | JPY | KRW | MXN | MYT | NZD | NOK | PEN | PHP | RUB | SEK | SGD | TWD | ZAR"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "valuation_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "valuation_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "fixing_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "unadjusted_valuation_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "unadjusted_fixing_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "fixing_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the valuation date is offset from the fixing date\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "currency_instrument_name": {
          "type": "string",
          "title": "Name used in the lookup of the currency rate price instrument"
        }
      },
      "description": "NonDeliverableForwardAttributes are attributes that define an Non Deliverable Forward tradable instrument."
    },
    "v1beta1OptionAttributes": {
      "type": "object",
      "properties": {
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "maturity_date is the maturity date of the derivative contract"
        },
        "put_or_call": {
          "$ref": "#/definitions/v1beta1PutOrCall",
          "title": "put_or_call determines if the contract is a put or call"
        },
        "strike_price": {
          "type": "string",
          "format": "int64",
          "title": "Integer strike price representation"
        }
      },
      "description": "OptionAttributes are attributes that define a Option tradable instrument."
    },
    "v1beta1OrdRejectReason": {
      "type": "string",
      "enum": [
        "ORD_REJECT_REASON_EXCHANGE_OPTION",
        "ORD_REJECT_REASON_UNKNOWN_SYMBOL",
        "ORD_REJECT_REASON_EXCHANGE_CLOSED",
        "ORD_REJECT_REASON_INCORRECT_QUANTITY",
        "ORD_REJECT_REASON_INVALID_PRICE_INCREMENT",
        "ORD_REJECT_REASON_INCORRECT_ORDER_TYPE",
        "ORD_REJECT_REASON_PRICE_OUT_OF_BOUNDS",
        "ORD_REJECT_REASON_NO_LIQUIDITY",
        "ORD_REJECT_REASON_INSUFFICIENT_CREDIT_LIMIT"
      ],
      "default": "ORD_REJECT_REASON_EXCHANGE_OPTION",
      "description": "OrdRejectReason is the code to identify reason for order rejection."
    },
    "v1beta1OrderCapacity": {
      "type": "string",
      "enum": [
        "ORDER_CAPACITY_UNDEFINED",
        "ORDER_CAPACITY_AGENCY",
        "ORDER_CAPACITY_PRINCIPAL",
        "ORDER_CAPACITY_PROPRIETARY",
        "ORDER_CAPACITY_INDIVIDUAL",
        "ORDER_CAPACITY_RISKLESS_PRINCIPAL",
        "ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER"
      ],
      "default": "ORDER_CAPACITY_UNDEFINED",
      "description": "OrderCapacity designates the capacity of the party placing an order.\n\n - ORDER_CAPACITY_UNDEFINED: An unset value for the order capacity.\n - ORDER_CAPACITY_AGENCY: Firm is acting to match a customer order with another participant in the market in an agency capacity.\n - ORDER_CAPACITY_PRINCIPAL: Firm is trading with its own inventory and capital in a principal capacity.\n - ORDER_CAPACITY_PROPRIETARY: Firm is trading with its own inventory and capital in a proprietary capacity.\n - ORDER_CAPACITY_INDIVIDUAL: An individual is trading with their own inventory and capital.\n - ORDER_CAPACITY_RISKLESS_PRINCIPAL: Firm is placing a principal order that is party to an offsetting transaction.\n - ORDER_CAPACITY_AGENT_FOR_OTHER_MEMBER: Firm is acting to match a customer order with another participant in the market on behalf of another member."
    },
    "v1beta1OrderContext": {
      "type": "object",
      "properties": {
        "any_context": {
          "$ref": "#/definitions/protobufAny"
        },
        "fix_context": {
          "$ref": "#/definitions/v1beta1FIXOrderContext"
        },
        "validation_contexts": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          },
          "description": "ValidationContexts are an optional collection of free-form contexts that shall be checked upon order insertion or modification."
        },
        "service_name": {
          "type": "string",
          "description": "ServiceName is an optional string that contains the name of the service through which this order was submitted."
        }
      },
      "description": "OrderContext contains additional meta data regarding an order."
    },
    "v1beta1OrderSizeLimit": {
      "type": "object",
      "properties": {
        "low": {
          "type": "string",
          "format": "int64"
        },
        "high": {
          "type": "string",
          "format": "int64"
        },
        "low_set": {
          "type": "boolean"
        },
        "high_set": {
          "type": "boolean"
        },
        "total_notional_low": {
          "type": "string",
          "format": "int64"
        },
        "total_notional_high": {
          "type": "string",
          "format": "int64"
        },
        "total_notional_low_set": {
          "type": "boolean"
        },
        "total_notional_high_set": {
          "type": "boolean"
        }
      },
      "description": "OrderSizeLimit describes optional order size limits on an instrument."
    },
    "v1beta1OrderState": {
      "type": "string",
      "enum": [
        "ORDER_STATE_NEW",
        "ORDER_STATE_PARTIALLY_FILLED",
        "ORDER_STATE_FILLED",
        "ORDER_STATE_CANCELED",
        "ORDER_STATE_REPLACED",
        "ORDER_STATE_REJECTED",
        "ORDER_STATE_EXPIRED",
        "ORDER_STATE_PENDING_NEW",
        "ORDER_STATE_PENDING_REPLACE",
        "ORDER_STATE_PENDING_CANCEL",
        "ORDER_STATE_PENDING_RISK"
      ],
      "default": "ORDER_STATE_NEW",
      "description": "OrderState denotes the current order state.\n\n - ORDER_STATE_PENDING_NEW: Order received by exchange at edges of the system but has not been processed by matching engine.\n - ORDER_STATE_PENDING_REPLACE: Cancel Replace request received by exchange at edges of the system but has not been processed by matching engine.\n - ORDER_STATE_PENDING_CANCEL: Cancel request received by exchange at edges of the system but has not been processed by matching engine.\n - ORDER_STATE_PENDING_RISK: Order is pending risk approval"
    },
    "v1beta1OrderStateFilter": {
      "type": "string",
      "enum": [
        "ORDER_STATE_FILTER_UNDEFINED",
        "ORDER_STATE_FILTER_OPEN",
        "ORDER_STATE_FILTER_CLOSED",
        "ORDER_STATE_FILTER_NEW",
        "ORDER_STATE_FILTER_PARTIALLY_FILLED",
        "ORDER_STATE_FILTER_FILLED",
        "ORDER_STATE_FILTER_CANCELED",
        "ORDER_STATE_FILTER_REPLACED",
        "ORDER_STATE_FILTER_REJECTED",
        "ORDER_STATE_FILTER_EXPIRED",
        "ORDER_STATE_FILTER_PENDING_RISK"
      ],
      "default": "ORDER_STATE_FILTER_UNDEFINED",
      "description": "OrderStateFilter describes a filter for searching orders that are open or closed."
    },
    "v1beta1OrderType": {
      "type": "string",
      "enum": [
        "ORDER_TYPE_UNDEFINED",
        "ORDER_TYPE_MARKET_TO_LIMIT",
        "ORDER_TYPE_LIMIT",
        "ORDER_TYPE_STOP",
        "ORDER_TYPE_STOP_LIMIT"
      ],
      "default": "ORDER_TYPE_UNDEFINED",
      "description": "OrderType indicates the type of an order.\n\n - ORDER_TYPE_MARKET_TO_LIMIT: An order that executes at the current best price.\nIf only partially filled, the remainder is cancelled and reinserted as a LIMIT order\nwith the price equal to the price at which the filled portion of the order executed\n - ORDER_TYPE_LIMIT: An order that will fill only at the specified price or better\n - ORDER_TYPE_STOP: An order that will become active as a MARKET_TO_LIMIT order once a trade has occured at the specified stop price\n - ORDER_TYPE_STOP_LIMIT: An order that will become active as a LIMIT order once a trade has occured at the specified stop price"
    },
    "v1beta1OvernightIndexSwapAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "swap_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "effective_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "maturity_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "fixed_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "usually only 1 calendar but can be 2.\nNew York | London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "fixed_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | SemiAnnual | Annually"
        },
        "fixed_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "fixed_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "30/360 | ACT/360 | ACT/365.FIXED"
        },
        "fixed_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "ACT/360 | ACT/365.FIXED"
        },
        "float_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "float_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | Semiannually"
        },
        "float_rate_reset_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "float_reset_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "first_float_reset_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "first_float_fixing_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "floating_rate_index": {
          "type": "string",
          "title": "1M USD LIBOR | 3M USD LIBOR | 6M USD LIBOR | 3M EURIBOR | 6M EURIBOR | 3M GDP LIBOR | 6M GDP LIBOR |\n3M CDOR | 6M NIBOR | 3M JPY LIBOR | 6M JPY LIBOR | 6M CNF LIBOR | 3M BBSW | 6M BBSW | 3M STIBOR | 6M CIBOR2"
        },
        "float_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "fixed_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "float_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "fixed_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "float_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "fixed_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "float_fixing_dates_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "float_fixing_dates_offset": {
          "type": "integer",
          "format": "int32"
        },
        "floating_rate_index_tenor": {
          "type": "string",
          "description": "1M | 3M | 6M | 1Y | etc..."
        },
        "unadjusted_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "unadjusted_maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "effective_date_offset": {
          "type": "integer",
          "format": "int32"
        },
        "float_reset_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "Restricted to only enum values: CalculationPeriodStartDate | CalculationPeriodEndDate"
        },
        "float_fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "forward_starting_period": {
          "type": "integer",
          "format": "int32",
          "title": "in units given by forward starting period time period"
        },
        "fixed_payment_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the payment is offset\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "float_payment_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the payment is offset\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "payment_date_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "forward_starting_period_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        }
      },
      "description": "OvernightIndexSwapAttributes are attributes that define an Overnight Index Swap tradable instrument."
    },
    "v1beta1PassQuoteRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Exchange assigned ID for the quote to pass on."
        }
      },
      "description": "Request to pass on a quote from the exchange."
    },
    "v1beta1PassQuoteResponse": {
      "type": "object"
    },
    "v1beta1PayoutType": {
      "type": "string",
      "enum": [
        "PAYOUT_TYPE_BINARY",
        "PAYOUT_TYPE_CONTINUOUS"
      ],
      "default": "PAYOUT_TYPE_BINARY",
      "description": "Payout Type for the instrument.\n\n - PAYOUT_TYPE_BINARY: The payout is either 0 or the Payout Value.\n - PAYOUT_TYPE_CONTINUOUS: The payout can be anything between the Payout Lower Bound and Payout Upper Bound."
    },
    "v1beta1Position": {
      "type": "object",
      "properties": {
        "account": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "net_position": {
          "type": "string",
          "format": "int64"
        },
        "qty_bought": {
          "type": "string",
          "format": "int64"
        },
        "qty_sold": {
          "type": "string",
          "format": "int64"
        },
        "cost": {
          "type": "string",
          "format": "int64"
        },
        "realized": {
          "type": "string",
          "format": "int64"
        },
        "bod_position": {
          "type": "string",
          "format": "int64"
        },
        "expired": {
          "type": "boolean"
        },
        "symbol_sub_type": {
          "type": "string"
        },
        "update_time": {
          "type": "string",
          "format": "date-time"
        }
      },
      "description": "Position represents a position for a given account and symbol."
    },
    "v1beta1PreviewOrderRequest": {
      "type": "object",
      "properties": {
        "request": {
          "$ref": "#/definitions/connamaraep3v1beta1InsertOrderRequest",
          "description": "The order insertion to preview."
        }
      }
    },
    "v1beta1PreviewOrderResponse": {
      "type": "object",
      "properties": {
        "preview_order": {
          "$ref": "#/definitions/connamaraep3v1beta1Order",
          "description": "The order that would be inserted onto the exchange."
        }
      }
    },
    "v1beta1PriceLimit": {
      "type": "object",
      "properties": {
        "low": {
          "type": "string",
          "format": "int64"
        },
        "high": {
          "type": "string",
          "format": "int64"
        },
        "low_set": {
          "type": "boolean"
        },
        "high_set": {
          "type": "boolean"
        },
        "relative_low": {
          "type": "number",
          "format": "double"
        },
        "relative_high": {
          "type": "number",
          "format": "double"
        },
        "relative_low_set": {
          "type": "boolean"
        },
        "relative_high_set": {
          "type": "boolean"
        }
      },
      "description": "PriceLimit describes optional price limits on an instrument."
    },
    "v1beta1PutOrCall": {
      "type": "string",
      "enum": [
        "PUT_OR_CALL_UNDEFINED",
        "PUT_OR_CALL_PUT",
        "PUT_OR_CALL_CALL"
      ],
      "default": "PUT_OR_CALL_UNDEFINED",
      "description": "PutOrCall represents if an option type is a put or call.\n\n - PUT_OR_CALL_UNDEFINED: The undefined default value\n - PUT_OR_CALL_PUT: Gives the holder the right to sell the underlying\n - PUT_OR_CALL_CALL: Gives the holder the right to buy the underlying"
    },
    "v1beta1QuoteAccept": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "title": "Exchange assigned resource name for the quote to accept"
        },
        "clord_id": {
          "type": "string",
          "title": "Client assigned ID for the order"
        },
        "symbol": {
          "type": "string"
        }
      },
      "description": "QuoteAccept is a request to accept a quote in the RFQ Exchange."
    },
    "v1beta1QuoteRejectReason": {
      "type": "string",
      "enum": [
        "QUOTE_REJECT_REASON_UNDEFINED",
        "QUOTE_REJECT_REASON_OTHER",
        "QUOTE_REJECT_REASON_UNKNOWN_SYMBOL",
        "QUOTE_REJECT_REASON_EXCHANGE_CLOSED"
      ],
      "default": "QUOTE_REJECT_REASON_UNDEFINED",
      "description": "QuoteRejectReason indicates the reason behind a quote or request reject.\n\n - QUOTE_REJECT_REASON_UNDEFINED: Default undefined state.\n - QUOTE_REJECT_REASON_OTHER: Quote reject reason is due to an action different than the other specific enum values in this definition.\n - QUOTE_REJECT_REASON_UNKNOWN_SYMBOL: Quote was rejected due to an unknown exchange symbol.\n - QUOTE_REJECT_REASON_EXCHANGE_CLOSED: Quote was rejected due to the exchange being closed."
    },
    "v1beta1QuoteStatus": {
      "type": "string",
      "enum": [
        "QUOTE_STATUS_UNDEFINED",
        "QUOTE_STATUS_PENDING",
        "QUOTE_STATUS_ACCEPTED",
        "QUOTE_STATUS_DELETED",
        "QUOTE_STATUS_EXPIRED",
        "QUOTE_STATUS_PASSED",
        "QUOTE_STATUS_DONE_AWAY",
        "QUOTE_STATUS_PENDING_RISK",
        "QUOTE_STATUS_REJECTED"
      ],
      "default": "QUOTE_STATUS_UNDEFINED",
      "description": "QuoteStatus indicates the status of a quote.\n\n - QUOTE_STATUS_UNDEFINED: Default undefined state.\n - QUOTE_STATUS_PENDING: Quote is pending and awaiting a decision by the RFQ sender to choose which quote they want to take.\n - QUOTE_STATUS_ACCEPTED: Quote is accepted. A quote is accepted when the RFQ sender chooses this quote to fulfill its request.\n - QUOTE_STATUS_DELETED: Quote is deleted. When the party that has sent the original quote cancels it, the quote becomes deleted.\n - QUOTE_STATUS_EXPIRED: Quote is expired. A quote that has passed its expiration time becomes expired.\n - QUOTE_STATUS_PASSED: Quote is passed. A quote is passed when the user chose not to accept this quote.\n - QUOTE_STATUS_DONE_AWAY: Quote is done away. A quote is done away when another quote has been accepted instead of this one.\n - QUOTE_STATUS_PENDING_RISK: quote is pending risk approval\n - QUOTE_STATUS_REJECTED: quote is rejected by the exchange"
    },
    "v1beta1SearchExecutionsRequest": {
      "type": "object",
      "properties": {
        "page_size": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of fills to return in a response.\nThis field is optional."
        },
        "page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `SearchExecutionsRequest`.\nthat indicates where this listing should continue from.\nThis field is optional."
        },
        "order_id": {
          "type": "string",
          "description": "Exchange assigned order ID of the order to filter upon."
        },
        "clord_id": {
          "type": "string",
          "description": "Client assigned order ID to filter upon."
        },
        "start_time": {
          "type": "string",
          "format": "date-time",
          "description": "Start time for the orders to be fetched."
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "description": "End time for the orders to be fetched."
        },
        "symbol": {
          "type": "string",
          "description": "Instrument symbol to filter upon."
        },
        "types": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1beta1ExecutionType"
          },
          "description": "Execution types to filter upon."
        },
        "newest_first": {
          "type": "boolean",
          "description": "A flag that if set indicates that executions found should be sorted from most recent to oldest."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource account names to filter upon (ie: \"firms/[firmid]/accounts/[accountid]\")."
        },
        "client_account_id": {
          "type": "string",
          "description": "Client account ID to filter upon."
        },
        "client_participant_id": {
          "type": "string",
          "description": "Client participant ID to filter upon."
        },
        "parent_order_id": {
          "type": "string",
          "description": "Parent order ID to filter upon."
        },
        "symbol_sub_type": {
          "type": "string",
          "description": "Symbol sub type to filter upon."
        },
        "exec_ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Execution IDs to filter upon."
        },
        "start_transact_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "Start transaction trade date for the executions to be fetched."
        },
        "end_transact_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "End transaction trade date for the executions to be fetched."
        }
      },
      "description": "Request to search for executions filtered using the given details."
    },
    "v1beta1SearchExecutionsResponse": {
      "type": "object",
      "properties": {
        "executions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Execution"
          },
          "description": "List of executions found."
        },
        "next_page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `SearchExecutions`.\nthat indicates from where listing should continue.\nThis field is optional."
        },
        "eof": {
          "type": "boolean",
          "description": "A flag that if set indicates the end of file has been reached and there are no further pages."
        }
      }
    },
    "v1beta1SearchOrdersRequest": {
      "type": "object",
      "properties": {
        "page_size": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of orders to return in a response.\nThis field is optional."
        },
        "page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `SearchOrdersRequest`.\nthat indicates where this listing should continue from.\nThis field is optional."
        },
        "order_id": {
          "type": "string",
          "description": "Exchange assigned order ID of the order to filter upon."
        },
        "clord_id": {
          "type": "string",
          "description": "Client assigned order ID to filter upon."
        },
        "start_time": {
          "type": "string",
          "format": "date-time",
          "description": "Start time for the orders to be fetched."
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "description": "End time for the orders to be fetched."
        },
        "symbol": {
          "type": "string",
          "description": "Instrument symbol to filter upon."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource account names to filter upon (ie: \"firms/[firmid]/accounts/[accountid]\")."
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side",
          "description": "Side to filter upon."
        },
        "type": {
          "$ref": "#/definitions/v1beta1OrderType",
          "description": "Type to filter upon."
        },
        "order_state_filter": {
          "$ref": "#/definitions/v1beta1OrderStateFilter",
          "description": "Open or closed status of the order to filter upon."
        },
        "cross_id": {
          "type": "string",
          "description": "Client assigned Order Cross ID."
        },
        "host_cross_id": {
          "type": "string",
          "description": "Exchange generated Host Cross ID."
        },
        "client_account_id": {
          "type": "string",
          "description": "Client account ID to filter upon."
        },
        "client_participant_id": {
          "type": "string",
          "description": "Client participant ID to filter upon."
        },
        "parent_order_id": {
          "type": "string",
          "description": "Parent order ID to filter upon."
        },
        "symbol_sub_type": {
          "type": "string",
          "description": "Symbol sub type to filter upon."
        },
        "start_transact_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "Start transaction trade date for the orders to be fetched."
        },
        "end_transact_trade_date": {
          "$ref": "#/definitions/v1beta1Date",
          "description": "End transaction trade date for the orders to be fetched."
        },
        "with_last_execution": {
          "type": "boolean",
          "description": "When true indicates that the response should also return the last execution created that is associated with the matched orders."
        }
      },
      "description": "Request to search for orders filtered using the given details."
    },
    "v1beta1SearchOrdersResponse": {
      "type": "object",
      "properties": {
        "order": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Order"
          },
          "description": "List of orders found."
        },
        "next_page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `SearchOrders`.\nthat indicates from where listing should continue.\nThis field is optional."
        },
        "last_executions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Execution"
          },
          "description": "The list of last executions associated with the returned orders. Will be empty unless with_last_execution is set to true in the request."
        }
      }
    },
    "v1beta1SearchQuotesRequest": {
      "type": "object",
      "properties": {
        "page_size": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of objects to return in a response.\nThis field is optional."
        },
        "page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.\nThis field is optional."
        },
        "account": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "quote_request_id": {
          "type": "string"
        },
        "quote_id": {
          "type": "string"
        },
        "client_id": {
          "type": "string"
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side"
        },
        "statuses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1beta1QuoteStatus"
          }
        },
        "start_time": {
          "type": "string",
          "format": "date-time",
          "title": "Start time for the objects to be fetched"
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "title": "End time for the objects to be fetched"
        }
      }
    },
    "v1beta1SearchQuotesResponse": {
      "type": "object",
      "properties": {
        "quotes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Quote"
          }
        },
        "next_page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call\nthat indicates from where listing should continue.\nThis field is optional."
        },
        "eof": {
          "type": "boolean"
        }
      }
    },
    "v1beta1SearchRequestForQuotesRequest": {
      "type": "object",
      "properties": {
        "page_size": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of objects to return in a response.\nThis field is optional."
        },
        "page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.\nThis field is optional."
        },
        "account": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "quote_request_id": {
          "type": "string"
        },
        "client_id": {
          "type": "string"
        },
        "side": {
          "$ref": "#/definitions/v1beta1Side"
        },
        "statuses": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1beta1QuoteStatus"
          }
        },
        "start_time": {
          "type": "string",
          "format": "date-time",
          "title": "Start time for the objects to be fetched"
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "title": "End time for the objects to be fetched"
        }
      }
    },
    "v1beta1SearchRequestForQuotesResponse": {
      "type": "object",
      "properties": {
        "request_for_quotes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1RequestForQuote"
          }
        },
        "next_page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call\nthat indicates from where listing should continue.\nThis field is optional."
        },
        "eof": {
          "type": "boolean"
        }
      }
    },
    "v1beta1SearchTradesRequest": {
      "type": "object",
      "properties": {
        "page_size": {
          "type": "integer",
          "format": "int32",
          "description": "The maximum number of orders to return in a response.\nThis field is optional."
        },
        "page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `SearchTradesRequest`.\nthat indicates where this listing should continue from.\nThis field is optional."
        },
        "order_id": {
          "type": "string",
          "description": "Exchange assigned order ID of the order to filter upon."
        },
        "trade_id": {
          "type": "string",
          "description": "Exchange assigned trade ID to filter upon."
        },
        "exec_id": {
          "type": "string",
          "description": "Exchange assigned execution ID to filter upon."
        },
        "start_time": {
          "type": "string",
          "format": "date-time",
          "description": "Start time for the orders to be fetched."
        },
        "end_time": {
          "type": "string",
          "format": "date-time",
          "description": "End time for the orders to be fetched."
        },
        "symbol": {
          "type": "string",
          "description": "Instrument symbol to filter upon."
        },
        "accounts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Fully qualified resource account names to filter upon (ie: \"firms/[firmid]/accounts/[accountid]\")."
        },
        "states": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1beta1TradeState"
          },
          "description": "Trade states to filter upon."
        },
        "trade_link_id": {
          "type": "string",
          "title": "Trade Link ID to filter upon"
        }
      },
      "description": "Request to search for trades filtered using the given details."
    },
    "v1beta1SearchTradesResponse": {
      "type": "object",
      "properties": {
        "trade": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/connamaraep3v1beta1Trade"
          },
          "description": "List of trades found."
        },
        "next_page_token": {
          "type": "string",
          "description": "A pagination token returned from a previous call to `SearchTrades`.\nthat indicates from where listing should continue.\nThis field is optional."
        }
      }
    },
    "v1beta1SecurityIDSource": {
      "type": "string",
      "enum": [
        "SECURITY_ID_SOURCE_EXCHANGE_SYMBOL",
        "SECURITY_ID_SOURCE_CUSIP",
        "SECURITY_ID_SOURCE_SEDOL",
        "SECURITY_ID_SOURCE_QUIK",
        "SECURITY_ID_SOURCE_ISIN",
        "SECURITY_ID_SOURCE_RIC",
        "SECURITY_ID_SOURCE_ISO_CURRENCY_CODE",
        "SECURITY_ID_SOURCE_ISO_COUNTRY_CODE",
        "SECURITY_ID_SOURCE_CTA",
        "SECURITY_ID_SOURCE_BLOOMBERG_SYMBOL",
        "SECURITY_ID_SOURCE_WERTPAPIER",
        "SECURITY_ID_SOURCE_DUTCH",
        "SECURITY_ID_SOURCE_VALOREN",
        "SECURITY_ID_SOURCE_SICOVAM",
        "SECURITY_ID_SOURCE_BELGIAN",
        "SECURITY_ID_SOURCE_COMMON",
        "SECURITY_ID_SOURCE_CLEARING_HOUSE",
        "SECURITY_ID_SOURCE_ISDA_FPML_PRODUCT_SPECIFICATION",
        "SECURITY_ID_SOURCE_OPRA",
        "SECURITY_ID_SOURCE_ISDA_FPML_PRODUCT_URL",
        "SECURITY_ID_SOURCE_LETTER_OF_CREDIT",
        "SECURITY_ID_SOURCE_MARKETPLACE_ASSIGNED",
        "SECURITY_ID_SOURCE_MARKIT_RED_ENTITY_CLIP",
        "SECURITY_ID_SOURCE_MARKIT_RED_PAIR_CLIP",
        "SECURITY_ID_SOURCE_CFTC_COMMODITY_CODE",
        "SECURITY_ID_SOURCE_ISDA_COMMODITY_REFERENCE_PRICE",
        "SECURITY_ID_SOURCE_FINANCIAL_INSTRUMENT_GLOBAL_IDENTIFIER",
        "SECURITY_ID_SOURCE_LEGAL_ENTITY_IDENTIFIER",
        "SECURITY_ID_SOURCE_SYNTHETIC",
        "SECURITY_ID_SOURCE_FIDESSA_INSTRUMENT_MNEMONIC",
        "SECURITY_ID_SOURCE_INDEX_NAME",
        "SECURITY_ID_SOURCE_UNIFORM_SYMBOL",
        "SECURITY_ID_SOURCE_DIGITAL_TOKEN_IDENTIFIER"
      ],
      "default": "SECURITY_ID_SOURCE_EXCHANGE_SYMBOL",
      "description": "SecurityIDSource is an enumeration of the different sources of security identifiers.\n\n - SECURITY_ID_SOURCE_EXCHANGE_SYMBOL: Exchange Symbol - used to identify a security by its exchange symbol and the exchange it trades on.\n - SECURITY_ID_SOURCE_CUSIP: CUSIP (Committee on Uniform Securities Identification Procedures) - used in North America.\n - SECURITY_ID_SOURCE_SEDOL: SEDOL (Stock Exchange Daily Official List) - used in the United Kingdom.\n - SECURITY_ID_SOURCE_QUIK: QUIK (Quotations for Interbank Trading) - used in Russia.\n - SECURITY_ID_SOURCE_ISIN: ISIN (International Securities Identification Number) - used internationally.\n - SECURITY_ID_SOURCE_RIC: RIC (Reuters Instrument Code) - used internationally.\n - SECURITY_ID_SOURCE_ISO_CURRENCY_CODE: ISO Currency Code (ISO 4217) - three letter alphabetic code to identify a currency.\n - SECURITY_ID_SOURCE_ISO_COUNTRY_CODE: ISO Country Code (ISO 3166) - two letter alphabetic code to identify a country.\n - SECURITY_ID_SOURCE_CTA: Consolidated Tape Association (CTA) Symbol - used to identify securities traded on U.S. exchanges.\n - SECURITY_ID_SOURCE_BLOOMBERG_SYMBOL: Bloomberg Symbol - used to identify securities using Bloomberg's proprietary symbol format.\n - SECURITY_ID_SOURCE_WERTPAPIER: Wertpapier (WPK) - German securities identification code.\n - SECURITY_ID_SOURCE_DUTCH: Dutch securities identification code.\n - SECURITY_ID_SOURCE_VALOREN: Valoren - Swiss securities identification code.\n - SECURITY_ID_SOURCE_SICOVAM: Sicovam - French securities identification code.\n - SECURITY_ID_SOURCE_BELGIAN: Belgian securities identification code.\n - SECURITY_ID_SOURCE_COMMON: \"Common\" (Clearstream and Euroclear) - used in international securities markets, particularly for Eurobonds.\n - SECURITY_ID_SOURCE_CLEARING_HOUSE: Clearing House - used to identify securities through clearing houses or organizations.\n - SECURITY_ID_SOURCE_ISDA_FPML_PRODUCT_SPECIFICATION: ISDA/FpML Product Specification - used for identifying derivatives and structured products.\n - SECURITY_ID_SOURCE_OPRA: Option Price Reporting Authority (OPRA) - used for identifying options traded on U.S. exchanges.\n - SECURITY_ID_SOURCE_ISDA_FPML_PRODUCT_URL: ISDA/FpML Product URL - used for identifying securities through a URL that points to the ISDA or FpML product specification.\n - SECURITY_ID_SOURCE_LETTER_OF_CREDIT: Letter of Credit - used to identify securities that are backed by letters of credit.\n - SECURITY_ID_SOURCE_MARKETPLACE_ASSIGNED: Marketplace-assigned identifier - used to identify securities by an identifier assigned by a specific marketplace or exchange.\n - SECURITY_ID_SOURCE_MARKIT_RED_ENTITY_CLIP: Markit RED entity CLIP - used to identify entities in the Markit RED system.\n - SECURITY_ID_SOURCE_MARKIT_RED_PAIR_CLIP: Markit RED pair CLIP - used to identify pairs in the Markit RED system.\n - SECURITY_ID_SOURCE_CFTC_COMMODITY_CODE: CFTC commodity code - used to identify commodities regulated by the Commodity Futures Trading Commission (CFTC).\n - SECURITY_ID_SOURCE_ISDA_COMMODITY_REFERENCE_PRICE: ISDA Commodity Reference Price - used to identify commodities using the ISDA Commodity Reference Price.\n - SECURITY_ID_SOURCE_FINANCIAL_INSTRUMENT_GLOBAL_IDENTIFIER: Financial Instrument Global Identifier (FIGI) - an Object Management Group (OMG) standard, also referred to as FIGI, formerly known as \"Bloomberg Open Symbology BBGID\".\n - SECURITY_ID_SOURCE_LEGAL_ENTITY_IDENTIFIER: Legal entity identifier - used to identify legal entities in financial transactions.\n - SECURITY_ID_SOURCE_SYNTHETIC: Used to specify that the security identifier is synthetic for linking nested underliers when there is no market identifier for the collection.\n - SECURITY_ID_SOURCE_FIDESSA_INSTRUMENT_MNEMONIC: Fidessa Instrument Mnemonic (FIM) - used to identify securities using Fidessa's proprietary mnemonic format.\n - SECURITY_ID_SOURCE_INDEX_NAME: Index name - standard name of the index or rate index, e.g. \"LIBOR\" or \"iTraxx Australia\".\n - SECURITY_ID_SOURCE_UNIFORM_SYMBOL: Uniform Symbol (UMTF Symbol) - used to identify securities using the Uniform Symbol format.\n - SECURITY_ID_SOURCE_DIGITAL_TOKEN_IDENTIFIER: Digital Token Identifier (ISO 24165) - used to identify digital tokens."
    },
    "v1beta1SelfMatchPreventionInstruction": {
      "type": "string",
      "enum": [
        "SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED",
        "SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR",
        "SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING",
        "SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH"
      ],
      "default": "SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED",
      "description": "SelfMatchPreventionInstruction is the methodology used to handle self match prevention upon insertion onto the book.\n\n - SELF_MATCH_PREVENTION_INSTRUCTION_UNDEFINED: An unset value for the self match prevention instruction uses the default behavior of the exchange, which is to reject the incoming order and allow resting orders to remain on the book.\n - SELF_MATCH_PREVENTION_INSTRUCTION_REJECT_AGGRESSOR: Reject the incoming aggressor order and allow resting orders to remain on the book.\n - SELF_MATCH_PREVENTION_INSTRUCTION_CANCEL_RESTING: Cancel any resting orders on the book that would self match and allow the aggressor to insert on the book.\n - SELF_MATCH_PREVENTION_INSTRUCTION_REMOVE_BOTH: Cancel any resting orders on the book that would self match and reject the aggressor insertion on the book."
    },
    "v1beta1SettlementPriceCalculationMethod": {
      "type": "string",
      "enum": [
        "SETTLEMENT_PRICE_CALCULATION_METHOD_UNSET",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_1",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_1",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_2",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_3",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_4",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_1",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_2",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_3",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_4",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_OVERRIDE",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_5",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_6",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_7",
        "SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_8"
      ],
      "default": "SETTLEMENT_PRICE_CALCULATION_METHOD_UNSET",
      "description": "SettlementPriceCalculationMethod indicates the settlement price calculation method of the book.\n\n - SETTLEMENT_PRICE_CALCULATION_METHOD_UNSET: The settlement price calculation method has not been set\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_1: If using the VWAP Settlement Price Logic, indicates that there were enough trades to calculate the settlement price using Volume Weighted Average Price\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_1: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Best Bid / Best Ask / Last Trade existing.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_2: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Best Bid / Best Ask existing and Last Trade not existing.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_3: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Best Bid / Last Trade existing and Best Ask not existing.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_4: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Best Bid existing and Best Ask / Last Trade not existing.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_1: Indicates that the settlement price was set as a result of \"PerformResolution\".  In addition, settlement prices that have this calculation method are considered final and will no longer be updated by the Settlement Price Module.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_2: If using the EVENT Settlement Price Logic, indicates that the settlement price was set to the price of the trading day's latest trade for the Opposing Side = \"As Defined\" sub type\n - SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_3: If using the EVENT Settlement Price Logic, indicates that at the market close no trades for the Opposing Side = \"As Defined\" sub type during the trade day, and therefore the settlement price was set to the current settlement price\n - SETTLEMENT_PRICE_CALCULATION_METHOD_EVENT_TIER_4: If using the EVENT Settlement Price Logic, indicates that there were no trades for the Opposing Side = \"As Defined\" sub type during the trade day, nor current settlement price, and therefore the settlement price was set to 0\n - SETTLEMENT_PRICE_CALCULATION_METHOD_OVERRIDE: Indicates the calculated settlement price was overridden by the exchange\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_5: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Best Ask / Last Trade existing and Best Bid not existing.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_6: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Best Ask existing and Best Bid / Last Trade not existing.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_7: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Last Trade existing and Best Bid / Best Ask not existing.\n - SETTLEMENT_PRICE_CALCULATION_METHOD_VWAP_TIER_2_RULE_8: If using the VWAP Settlement Price Logic, indicates that there weren't enough trades to calculate the settlement price using VWAP, and the Best Bid / Best Ask / Last Trade / Previous Settlement logic was used instead, with Best Bid / Best Ask / Last Trade not existing."
    },
    "v1beta1Side": {
      "type": "string",
      "enum": [
        "SIDE_UNDEFINED",
        "SIDE_BUY",
        "SIDE_SELL"
      ],
      "default": "SIDE_UNDEFINED",
      "description": "Side indicates the side of an Order."
    },
    "v1beta1SinglePeriodSwapAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "swap_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "effective_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "maturity_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "roll_and_payment_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "usually only 1 calendar but can be 2.\nNew York | London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "fixed_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | SemiAnnual | Annually"
        },
        "fixed_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "fixed_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "30/360 | ACT/360 | ACT/365.FIXED"
        },
        "fixed_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "ACT/360 | ACT/365.FIXED"
        },
        "float_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "float_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Quarterly | Semiannually"
        },
        "float_rate_reset_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "float_reset_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "first_float_reset_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "first_float_fixing_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "floating_rate_index": {
          "type": "string",
          "title": "1M USD LIBOR | 3M USD LIBOR | 6M USD LIBOR | 3M EURIBOR | 6M EURIBOR | 3M GDP LIBOR | 6M GDP LIBOR |\n3M CDOR | 6M NIBOR | 3M JPY LIBOR | 6M JPY LIBOR | 6M CNF LIBOR | 3M BBSW | 6M BBSW | 3M STIBOR | 6M CIBOR2"
        },
        "float_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "fixed_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "float_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "fixed_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "float_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "fixed_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "float_fixing_dates_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "float_fixing_dates_offset": {
          "type": "integer",
          "format": "int32"
        },
        "floating_rate_index_tenor": {
          "type": "string",
          "description": "1M | 3M | 6M | 1Y | etc..."
        },
        "unadjusted_effective_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "unadjusted_maturity_date": {
          "$ref": "#/definitions/v1beta1Date"
        },
        "float_reset_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "Restricted to only enum values: CalculationPeriodStartDate | CalculationPeriodEndDate"
        },
        "float_fixing_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_fixing_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "fixed_calculation_period_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "fixed_payment_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the payment is offset\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "float_payment_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the payment is offset\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "payment_date_day_type": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayType",
          "title": "Business | Calendar | CommodityBusiness | CurrencyBusiness | ExchangeBusiness | ScheduledTradingDay"
        },
        "leg2_index_tenor_omit": {
          "type": "boolean",
          "title": "Flag that determines if the indexTenor fields will be omitted from certain adapter code"
        }
      },
      "description": "SinglePeriodSwapAttributes are attributes that define an Single Period Swap tradable instrument."
    },
    "v1beta1TimeInForce": {
      "type": "string",
      "enum": [
        "TIME_IN_FORCE_UNDEFINED",
        "TIME_IN_FORCE_DAY",
        "TIME_IN_FORCE_GOOD_TILL_CANCEL",
        "TIME_IN_FORCE_IMMEDIATE_OR_CANCEL",
        "TIME_IN_FORCE_GOOD_TILL_TIME",
        "TIME_IN_FORCE_FILL_OR_KILL"
      ],
      "default": "TIME_IN_FORCE_UNDEFINED",
      "description": "TimeInForce specifies how long the order remains in effect.\n\n - TIME_IN_FORCE_UNDEFINED: An unset value for TimeInForce. In the context of inserting orders, this will be interpreted as TIME_IN_FORCE_DAY\n - TIME_IN_FORCE_DAY: Order will automatically cancel if it has not been filled by the close of the trading day\n - TIME_IN_FORCE_GOOD_TILL_CANCEL: Order will remain active until filled or cancelled\n - TIME_IN_FORCE_IMMEDIATE_OR_CANCEL: Order will attempt to fill immediately, then cancel any unfilled portions of the order\n - TIME_IN_FORCE_GOOD_TILL_TIME: Order will remain active until filled or until the time specified\n - TIME_IN_FORCE_FILL_OR_KILL: Order will attempt to fill immediately for the entire order quantity, then cancel if the order was unable to be filled."
    },
    "v1beta1TimeOfDay": {
      "type": "object",
      "properties": {
        "hours": {
          "type": "integer",
          "format": "int32",
          "description": "Hours of day in 24 hour format. Must be from 0 to 23."
        },
        "minutes": {
          "type": "integer",
          "format": "int32",
          "description": "Minutes of hour of day. Must be from 0 to 59."
        },
        "seconds": {
          "type": "integer",
          "format": "int32",
          "description": "Seconds of minutes of the time. Must be from 0 to 59."
        }
      },
      "description": "TimeOfDay represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. Related types are [google.type.Date][google.type.Date]\nand `google.protobuf.Timestamp`."
    },
    "v1beta1TradableFilter": {
      "type": "string",
      "enum": [
        "TRADABLE_FILTER_UNSET",
        "TRADABLE_FILTER_NON_TRADABLE",
        "TRADABLE_FILTER_TRADABLE"
      ],
      "default": "TRADABLE_FILTER_UNSET",
      "description": "TradableFilter.\n\n - TRADABLE_FILTER_UNSET: Filter is unset.\n - TRADABLE_FILTER_NON_TRADABLE: Filter is set to non-tradable.\n - TRADABLE_FILTER_TRADABLE: Filter is set to tradable."
    },
    "v1beta1TradeDayRoll": {
      "type": "object",
      "properties": {
        "days_of_week": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1beta1DayOfWeek"
          },
          "description": "The days of the week for which this trade day roll is active."
        },
        "time_of_day": {
          "$ref": "#/definitions/v1beta1TimeOfDay",
          "description": "The time of day to roll the trade day to the next, represented in the exchange time zone."
        }
      },
      "description": "TradeDayRoll is an abstraction for describing an Instrument trade day roll schedule."
    },
    "v1beta1TradeDayRollConvention": {
      "type": "string",
      "enum": [
        "TRADE_DAY_ROLL_CONVENTION_NEXT_DAY_BOOKING",
        "TRADE_DAY_ROLL_CONVENTION_PRIOR_DAY_BOOKING"
      ],
      "default": "TRADE_DAY_ROLL_CONVENTION_NEXT_DAY_BOOKING",
      "description": "TradeDayRollConvention are the rules used to determine how trade dates are adjusted before and after the trade day roll time.\n\n - TRADE_DAY_ROLL_CONVENTION_NEXT_DAY_BOOKING: Default behavior is to book trades before the trade day roll time_of_day into the current calendar day's trade date, and all trades at or after the roll time into the next day's trade date.\n - TRADE_DAY_ROLL_CONVENTION_PRIOR_DAY_BOOKING: Prior day booking indicates that trades before the trade day roll time_of_day are for the prior calendar day's trade date, and all trades at or after the roll time are for the current day's trade date."
    },
    "v1beta1TradeState": {
      "type": "string",
      "enum": [
        "TRADE_STATE_UNDEFINED",
        "TRADE_STATE_NEW",
        "TRADE_STATE_CLEARED",
        "TRADE_STATE_BUSTED",
        "TRADE_STATE_INFLIGHT",
        "TRADE_STATE_PENDING_RISK",
        "TRADE_STATE_PENDING_CLEARED",
        "TRADE_STATE_REJECTED",
        "TRADE_STATE_CLEARING_ACKNOWLEDGED",
        "TRADE_STATE_RETRY_REQUEST"
      ],
      "default": "TRADE_STATE_UNDEFINED",
      "description": "TradeState indicates the state of a trade.\n\n - TRADE_STATE_NEW: Trade created\n - TRADE_STATE_CLEARED: Trade successfully cleared by clearing house\n - TRADE_STATE_BUSTED: Trade withdrawal request successfully approved\n - TRADE_STATE_INFLIGHT: Trade information sent to clearinghouse\n - TRADE_STATE_PENDING_RISK: Clearinghouse is pending at least one DCM claim for the trade\n - TRADE_STATE_PENDING_CLEARED: Clearinghouse is pending the counterparty DCM claim\n - TRADE_STATE_REJECTED: Clearinghouse has rejected the trade\n - TRADE_STATE_CLEARING_ACKNOWLEDGED: Clearing request acknowledged by clearing house\n - TRADE_STATE_RETRY_REQUEST: Trade has requested to retry clearing and is pending submission to the clearing house"
    },
    "v1beta1TradeStats": {
      "type": "object",
      "properties": {
        "first": {
          "type": "string",
          "format": "int64",
          "title": "First trade price in a collection of trades"
        },
        "last": {
          "type": "string",
          "format": "int64",
          "title": "Last trade price in a collection of trades"
        },
        "high": {
          "type": "string",
          "format": "int64",
          "title": "High trade price in a collection of trades"
        },
        "low": {
          "type": "string",
          "format": "int64",
          "title": "Low trade price in a collection of trades"
        },
        "total_trade_count": {
          "type": "string",
          "format": "int64",
          "title": "Total number of trades"
        },
        "cleared_trade_count": {
          "type": "string",
          "format": "int64",
          "title": "The number of cleared trades"
        },
        "volume": {
          "type": "string",
          "format": "int64",
          "title": "Volume (total shares traded) in this time"
        },
        "cleared_volume": {
          "type": "string",
          "format": "int64",
          "title": "Volume (total shares traded) that has been cleared"
        },
        "notional": {
          "type": "string",
          "format": "int64",
          "title": "Total notional traded in this time, one can divide this value by the volume field to get volume weighted average price"
        },
        "cleared_notional": {
          "type": "string",
          "format": "int64",
          "title": "Total notional traded in this time that has been cleared, one can divide this value by the volume field to get cleared volume weighted average price"
        }
      },
      "description": "TradeStats are a collection of stats on a set of trades."
    },
    "v1beta1TradeType": {
      "type": "string",
      "enum": [
        "TRADE_TYPE_UNDEFINED",
        "TRADE_TYPE_REGULAR",
        "TRADE_TYPE_REQUEST_FOR_QUOTE",
        "TRADE_TYPE_BLOCK",
        "TRADE_TYPE_CROSS"
      ],
      "default": "TRADE_TYPE_UNDEFINED",
      "description": "TradeType describes the execution type of the trade."
    },
    "v1beta1TradingHours": {
      "type": "object",
      "properties": {
        "days_of_week": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v1beta1DayOfWeek"
          },
          "description": "The days of the week for which this trading hours segment is active."
        },
        "time_of_day": {
          "$ref": "#/definitions/v1beta1TimeOfDay",
          "description": "The time of day to apply the rules of this trading hours segment, represented in the exchange time zone."
        },
        "duration": {
          "type": "string",
          "description": "The duration of time that this trading hours segment is to be applied."
        },
        "state": {
          "$ref": "#/definitions/ep3instrumentsv1beta1InstrumentState",
          "description": "The state of the instrument for trading."
        },
        "hide_market_data": {
          "type": "boolean",
          "description": "Set if the instrument should hide upstream market data information during this stage."
        },
        "expire_all_orders": {
          "type": "boolean",
          "description": "Set if the instrument should expire all orders during this stage."
        }
      },
      "description": "TradingHours is an abstraction for describing an Instrument trading schedule."
    },
    "v1beta1UnsolicitedCxlReason": {
      "type": "string",
      "enum": [
        "UNSOLICITED_CXL_REASON_UNDEFINED",
        "UNSOLICITED_CXL_REASON_CONNECTION_LOSS",
        "UNSOLICITED_CXL_REASON_LOGOUT",
        "UNSOLICITED_CXL_REASON_EXCHANGE_OPTION",
        "UNSOLICITED_CXL_REASON_OTHER"
      ],
      "default": "UNSOLICITED_CXL_REASON_UNDEFINED",
      "description": "UnsolicitedCxlReason is a code to identify the reason for an unsolicited cancellation."
    },
    "v1beta1ZeroCouponInflationSwapAttributes": {
      "type": "object",
      "properties": {
        "tenor": {
          "type": "integer",
          "format": "int32",
          "title": "tenor is the duration of the contract in units given by the tenor time period"
        },
        "side_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesSideConvention",
          "title": "side conventions for the swap"
        },
        "swap_effective_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "effective_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "maturity_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "maturity_date_business_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "roll_and_payment_date_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "usually only 1 calendar but can be 2.\nNew York | London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "fixed_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "fixed_calculation_period_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "fixed_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "float_compounding_method": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesCompoundingMethod",
          "title": "NONE | FLAT"
        },
        "fixed_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "30/360 | ACT/360 | ACT/365.FIXED"
        },
        "float_day_count_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDayCountConvention",
          "title": "30/360 | ACT/360 | ACT/365.FIXED"
        },
        "float_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "fixed_holiday_calendars": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "London | TARGET | Canada | Norway | Swiss | Japan | Sweden | Denmark"
        },
        "float_payment_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "float_calculation_period_frequency": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesFrequency",
          "title": "Monthly | Quarterly | Semiannually"
        },
        "floating_rate_index": {
          "type": "string",
          "title": "1M USD LIBOR | 3M USD LIBOR | 6M USD LIBOR | 3M EURIBOR | 6M EURIBOR | 3M GDP LIBOR | 6M GDP LIBOR |\n3M CDOR | 6M NIBOR | 3M JPY LIBOR | 6M JPY LIBOR | 6M CNF LIBOR | 3M BBSW | 6M BBSW | 3M STIBOR | 6M CIBOR2"
        },
        "float_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "fixed_roll_convention": {
          "type": "string",
          "title": "EOM | FRN | IMM | IMMCAD | IMMAUD | IMMNZD | SFE | NONE | TBILL | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |\n11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |\nMON | TUE | WED | THU | FRI | SAT | SUN"
        },
        "float_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "fixed_first_unadjusted_payment_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "float_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "fixed_payment_date_relative_to": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesDateRelativeTo",
          "title": "CalculationPeriodStartDate | CalculationPeriodEndDate | LastPricingDate | ResetDate | ValuationDate"
        },
        "unadjusted_effective_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "unadjusted_maturity_date": {
          "$ref": "#/definitions/v1beta1Date",
          "title": "yyyy-mm-ddZ"
        },
        "effective_date_offset": {
          "type": "integer",
          "format": "int32",
          "description": "Number of Calendar days the payment is offset\n-2 | -1 | 0 | 1 | 2 | etc..."
        },
        "fixed_payment_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "fixed_calculation_period_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_payment_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "float_calculation_period_day_convention": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesBusinessDayConvention",
          "title": "Modified Following | Following | FRN | Preceding | Modified Preceding | Nearest | NotApplicable | None"
        },
        "forward_starting_period": {
          "type": "integer",
          "format": "int32",
          "title": "in units given by forward starting period time period"
        },
        "tenor_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "forward_starting_period_time_period": {
          "$ref": "#/definitions/v1beta1InterestRateSwapAttributesTimePeriod",
          "title": "Years | Months | Days"
        },
        "inflation_lag": {
          "type": "string",
          "description": "An offsetting period from the payment date which determines the reference period for which the inflation index is observed.\n1M | 3M | 6M | 1Y | etc..."
        },
        "index_source": {
          "type": "string",
          "title": "The reference source such as Reuters or Bloomberg\nUKRPI | CPTFEMU | FRCPXTOB"
        },
        "interpolation_method": {
          "type": "string",
          "description": "The method used when calculating the Inflation Index Level from multiple points - the most common is Linear."
        },
        "fallback_bond_applicable": {
          "type": "boolean",
          "title": "The applicability of a fallback bond as defined in the 2006 ISDA Inflation Derivatives Definitions, sections 1.3 and 1.8"
        },
        "inflation_instrument_name": {
          "type": "string",
          "title": "Name used in the lookup of the inflation price instrument"
        },
        "fixed_payment_frequency_multiplier": {
          "type": "integer",
          "format": "int32",
          "title": "Multiplier for the frequency field"
        },
        "fixed_calculation_period_frequency_multiplier": {
          "type": "integer",
          "format": "int32",
          "title": "Multiplier for the frequency field"
        },
        "float_payment_frequency_multiplier": {
          "type": "integer",
          "format": "int32",
          "title": "Multiplier for the frequency field"
        },
        "float_calculation_period_frequency_multiplier": {
          "type": "integer",
          "format": "int32",
          "title": "Multiplier for the frequency field"
        }
      },
      "description": "ZeroCouponInflationSwapAttributes are attributes that define a spot or forward starting Zero Coupon Inflation Swap tradable instrument."
    }
  },
  "securityDefinitions": {
    "BearerAuth": {
      "type": "apiKey",
      "name": "Authorization",
      "in": "header",
      "description": "JWT access token sent in the Authorization header. Format: \"Bearer <token>\"."
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ]
}