> For the complete documentation index, see [llms.txt](https://axiology.gitbook.io/axiology-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://axiology.gitbook.io/axiology-docs/rest-api/market.md).

# Market

## Get orders

> Get paginated list of orders for a specific listing

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/listings/{listingId}/orders":{"get":{"description":"Get paginated list of orders for a specific listing","operationId":"getOrders","parameters":[{"name":"listingId","required":true,"in":"path","description":"Listing UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}},{"name":"filter","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/FilterOrderDto"}},{"name":"mode","required":false,"in":"query","description":"Strategy applied when filtering/searching on multiple fields","schema":{"$ref":"#/components/schemas/FilterMode"}},{"name":"pagination","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/PaginationRequestDto"}},{"name":"order","required":false,"in":"query","content":{"application/json":{"schema":{"type":"array","uniqueItems":true,"items":{"type":"object","oneOf":[{"properties":{"createdAt":{"type":"string","enum":["asc","desc"]}},"required":["createdAt"]},{"properties":{"id":{"type":"string","enum":["asc","desc"]}},"required":["id"]},{"properties":{"accountAddress":{"type":"string","enum":["asc","desc"]}},"required":["accountAddress"]},{"properties":{"type":{"type":"string","enum":["asc","desc"]}},"required":["type"]},{"properties":{"side":{"type":"string","enum":["asc","desc"]}},"required":["side"]},{"properties":{"status":{"type":"string","enum":["asc","desc"]}},"required":["status"]},{"properties":{"amount":{"type":"string","enum":["asc","desc"]}},"required":["amount"]},{"properties":{"filledAmount":{"type":"string","enum":["asc","desc"]}},"required":["filledAmount"]},{"properties":{"price":{"type":"string","enum":["asc","desc"]}},"required":["price"]},{"properties":{"placedAt":{"type":"string","enum":["asc","desc"]}},"required":["placedAt"]},{"properties":{"cancelledAt":{"type":"string","enum":["asc","desc"]}},"required":["cancelledAt"]},{"properties":{"expiresAt":{"type":"string","enum":["asc","desc"]}},"required":["expiresAt"]}]}}}},"description":"Array of fields and directions to order. Supported fields: createdAt, id, accountAddress, type, side, status, amount, filledAmount, price, placedAt, cancelledAt, expiresAt"}],"responses":{"200":{"description":"Successfully retrieved a list of items.","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"},"items":{"type":"array","items":{"$ref":"#/components/schemas/OrderDto"}}},"required":["pagination","items"]}}}}},"summary":"Get orders","tags":["Market"]}}},"components":{"schemas":{"FilterOrderDto":{"type":"object","properties":{"id":{"description":"Filter by order ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"accountAddress":{"description":"Filter by partial account address or list of account addresses","oneOf":[{"type":"array","items":{"description":"Account address","type":"string","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"minItems":1},{"type":"string","description":"Partial account address"}]},"type":{"description":"Filter by order type(s)","oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/OrderType"},"minItems":1},{"$ref":"#/components/schemas/OrderType"}]},"side":{"description":"Filter by order side(s)","oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/OrderSide"},"minItems":1},{"$ref":"#/components/schemas/OrderSide"}]},"status":{"description":"Filter by order status(es)","oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/OrderStatus"},"minItems":1},{"$ref":"#/components/schemas/OrderStatus"}]},"placedAt":{"format":"date-time","description":"Filter orders placed from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]},"expiresAt":{"format":"date-time","description":"Filter orders expiring from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]}}},"OrderType":{"type":"string","enum":["limit","market"],"description":"Type of the order execution"},"OrderSide":{"type":"string","enum":["buy","sell"],"description":"Side of the order indicating buy or sell"},"OrderStatus":{"type":"string","enum":["open","filled","rejected","cancelled","expired"],"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled"},"FilterMode":{"type":"string","enum":["and","or"]},"PaginationRequestDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1}}},"PaginationResponseDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1},"totalItems":{"type":"number","description":"Total items count"},"totalPages":{"type":"number","description":"Total pages count"}},"required":["totalItems","totalPages"]},"OrderDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Order UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market identifier where the order is placed","format":"uuid"},"listingId":{"type":"string","description":"Identifier of the market listing (trading pair)","format":"uuid"},"baseAssetId":{"type":"string","description":"Base asset identifier in the trading pair","format":"uuid"},"quoteAssetId":{"type":"string","description":"Quote asset identifier in the trading pair","format":"uuid"},"accountAddress":{"type":"string","description":"Investment account address that placed the order","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"type":{"description":"**Order execution strategy:**\n- `limit`: Executes at a specified price or better\n- `market`: Executes immediately at the best available price","allOf":[{"$ref":"#/components/schemas/OrderType"}]},"side":{"description":"**Side of the order indicating intent to buy or sell.**\n- `buy`: Order to purchase the base asset using the quote asset\n- `sell`: Order to sell the base asset in exchange for the quote asset","allOf":[{"$ref":"#/components/schemas/OrderSide"}]},"status":{"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled","allOf":[{"$ref":"#/components/schemas/OrderStatus"}]},"amount":{"format":"int64","description":"Amount of the base asset to trade.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"filledAmount":{"format":"int64","description":"Amount of the base asset that is filled.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"price":{"format":"int64","description":"Price per unit of the base asset, denominated in the quote asset.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"placedAt":{"format":"date-time","type":"string","description":"Placement date of the order"},"cancelledAt":{"format":"date-time","type":"string","description":"Cancellation date of the order","nullable":true},"cancelledReason":{"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing","nullable":true,"allOf":[{"$ref":"#/components/schemas/OrderCancelledReason"}]},"expiresAt":{"format":"date-time","type":"string","description":"Expiration date of the order","nullable":true}},"required":["createdAt","updatedAt","id","marketId","listingId","baseAssetId","quoteAssetId","accountAddress","type","side","status","amount","filledAmount","price","placedAt","cancelledAt","cancelledReason","expiresAt"]},"ScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by [DefaultScale](#/components/schemas/DefaultScale): `encoded = real × 10^6`. E.g. `11.0` is encoded as 11000000, `0.5` as 500000."},"OrderCancelledReason":{"type":"string","enum":["broker","listing-delisted","bond-locked"],"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing"}}}}
```

## Place order

> Place an order on a listed asset pair

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/listings/{listingId}/orders":{"post":{"description":"Place an order on a listed asset pair","operationId":"placeOrder","parameters":[{"name":"listingId","required":true,"in":"path","description":"Listing UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceOrderDto"}}}},"responses":{"201":{"description":"Placed order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderDto"}}}}},"summary":"Place order","tags":["Market"]}}},"components":{"schemas":{"PlaceOrderDto":{"type":"object","properties":{"accountAddress":{"type":"string","description":"Investment account address that is placing the order","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"type":{"description":"Type of the order execution","allOf":[{"$ref":"#/components/schemas/OrderType"}]},"side":{"description":"Side of the order indicating buy or sell","allOf":[{"$ref":"#/components/schemas/OrderSide"}]},"amount":{"format":"int64","minimum":1,"description":"Amount of the base asset to trade.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"price":{"format":"int64","minimum":1,"description":"Price per unit of the base asset. Required for limit orders.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"expiresAt":{"format":"date-time","type":"string","description":"Optional expiration date of the order, defaults to 30 days from creation if not provided"}},"required":["accountAddress","type","side","amount"]},"OrderType":{"type":"string","enum":["limit","market"],"description":"Type of the order execution"},"OrderSide":{"type":"string","enum":["buy","sell"],"description":"Side of the order indicating buy or sell"},"ScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by [DefaultScale](#/components/schemas/DefaultScale): `encoded = real × 10^6`. E.g. `11.0` is encoded as 11000000, `0.5` as 500000."},"OrderDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Order UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market identifier where the order is placed","format":"uuid"},"listingId":{"type":"string","description":"Identifier of the market listing (trading pair)","format":"uuid"},"baseAssetId":{"type":"string","description":"Base asset identifier in the trading pair","format":"uuid"},"quoteAssetId":{"type":"string","description":"Quote asset identifier in the trading pair","format":"uuid"},"accountAddress":{"type":"string","description":"Investment account address that placed the order","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"type":{"description":"**Order execution strategy:**\n- `limit`: Executes at a specified price or better\n- `market`: Executes immediately at the best available price","allOf":[{"$ref":"#/components/schemas/OrderType"}]},"side":{"description":"**Side of the order indicating intent to buy or sell.**\n- `buy`: Order to purchase the base asset using the quote asset\n- `sell`: Order to sell the base asset in exchange for the quote asset","allOf":[{"$ref":"#/components/schemas/OrderSide"}]},"status":{"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled","allOf":[{"$ref":"#/components/schemas/OrderStatus"}]},"amount":{"format":"int64","description":"Amount of the base asset to trade.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"filledAmount":{"format":"int64","description":"Amount of the base asset that is filled.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"price":{"format":"int64","description":"Price per unit of the base asset, denominated in the quote asset.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"placedAt":{"format":"date-time","type":"string","description":"Placement date of the order"},"cancelledAt":{"format":"date-time","type":"string","description":"Cancellation date of the order","nullable":true},"cancelledReason":{"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing","nullable":true,"allOf":[{"$ref":"#/components/schemas/OrderCancelledReason"}]},"expiresAt":{"format":"date-time","type":"string","description":"Expiration date of the order","nullable":true}},"required":["createdAt","updatedAt","id","marketId","listingId","baseAssetId","quoteAssetId","accountAddress","type","side","status","amount","filledAmount","price","placedAt","cancelledAt","cancelledReason","expiresAt"]},"OrderStatus":{"type":"string","enum":["open","filled","rejected","cancelled","expired"],"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled"},"OrderCancelledReason":{"type":"string","enum":["broker","listing-delisted","bond-locked"],"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing"}}}}
```

## Get order

> Get specific order by its ID for a specific listing

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/listings/{listingId}/orders/{orderId}":{"get":{"description":"Get specific order by its ID for a specific listing","operationId":"getOrderById","parameters":[{"name":"listingId","required":true,"in":"path","description":"Listing UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}},{"name":"orderId","required":true,"in":"path","description":"Order UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Retrieved order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderDto"}}}}},"summary":"Get order","tags":["Market"]}}},"components":{"schemas":{"OrderDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Order UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market identifier where the order is placed","format":"uuid"},"listingId":{"type":"string","description":"Identifier of the market listing (trading pair)","format":"uuid"},"baseAssetId":{"type":"string","description":"Base asset identifier in the trading pair","format":"uuid"},"quoteAssetId":{"type":"string","description":"Quote asset identifier in the trading pair","format":"uuid"},"accountAddress":{"type":"string","description":"Investment account address that placed the order","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"type":{"description":"**Order execution strategy:**\n- `limit`: Executes at a specified price or better\n- `market`: Executes immediately at the best available price","allOf":[{"$ref":"#/components/schemas/OrderType"}]},"side":{"description":"**Side of the order indicating intent to buy or sell.**\n- `buy`: Order to purchase the base asset using the quote asset\n- `sell`: Order to sell the base asset in exchange for the quote asset","allOf":[{"$ref":"#/components/schemas/OrderSide"}]},"status":{"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled","allOf":[{"$ref":"#/components/schemas/OrderStatus"}]},"amount":{"format":"int64","description":"Amount of the base asset to trade.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"filledAmount":{"format":"int64","description":"Amount of the base asset that is filled.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"price":{"format":"int64","description":"Price per unit of the base asset, denominated in the quote asset.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"placedAt":{"format":"date-time","type":"string","description":"Placement date of the order"},"cancelledAt":{"format":"date-time","type":"string","description":"Cancellation date of the order","nullable":true},"cancelledReason":{"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing","nullable":true,"allOf":[{"$ref":"#/components/schemas/OrderCancelledReason"}]},"expiresAt":{"format":"date-time","type":"string","description":"Expiration date of the order","nullable":true}},"required":["createdAt","updatedAt","id","marketId","listingId","baseAssetId","quoteAssetId","accountAddress","type","side","status","amount","filledAmount","price","placedAt","cancelledAt","cancelledReason","expiresAt"]},"OrderType":{"type":"string","enum":["limit","market"],"description":"Type of the order execution"},"OrderSide":{"type":"string","enum":["buy","sell"],"description":"Side of the order indicating buy or sell"},"OrderStatus":{"type":"string","enum":["open","filled","rejected","cancelled","expired"],"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled"},"ScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by [DefaultScale](#/components/schemas/DefaultScale): `encoded = real × 10^6`. E.g. `11.0` is encoded as 11000000, `0.5` as 500000."},"OrderCancelledReason":{"type":"string","enum":["broker","listing-delisted","bond-locked"],"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing"}}}}
```

## Cancel order

> Cancel an open order on a listed pair

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/listings/{listingId}/orders/{orderId}":{"patch":{"description":"Cancel an open order on a listed pair","operationId":"updateOrder","parameters":[{"name":"listingId","required":true,"in":"path","description":"Listing UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}},{"name":"orderId","required":true,"in":"path","description":"Order UUID identifier, unique in scope of this node","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrderDto"}}}},"responses":{"200":{"description":"Updated order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderDto"}}}}},"summary":"Cancel order","tags":["Market"]}}},"components":{"schemas":{"UpdateOrderDto":{"type":"object","properties":{"status":{"description":"New status of the order","allOf":[{"$ref":"#/components/schemas/OrderStatus"}]}},"required":["status"]},"OrderStatus":{"type":"string","enum":["open","filled","rejected","cancelled","expired"],"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled"},"OrderDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Order UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market identifier where the order is placed","format":"uuid"},"listingId":{"type":"string","description":"Identifier of the market listing (trading pair)","format":"uuid"},"baseAssetId":{"type":"string","description":"Base asset identifier in the trading pair","format":"uuid"},"quoteAssetId":{"type":"string","description":"Quote asset identifier in the trading pair","format":"uuid"},"accountAddress":{"type":"string","description":"Investment account address that placed the order","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"type":{"description":"**Order execution strategy:**\n- `limit`: Executes at a specified price or better\n- `market`: Executes immediately at the best available price","allOf":[{"$ref":"#/components/schemas/OrderType"}]},"side":{"description":"**Side of the order indicating intent to buy or sell.**\n- `buy`: Order to purchase the base asset using the quote asset\n- `sell`: Order to sell the base asset in exchange for the quote asset","allOf":[{"$ref":"#/components/schemas/OrderSide"}]},"status":{"description":"**Status of the order lifecycle:**\n- `open`: Order is active and not yet fully filled or cancelled\n- `filled`: Order has been fully filled/executed\n- `rejected`: Order could not be executed\n- `cancelled`: Order has been cancelled by the user or system\n- `expired`: Order has reached its expiration time without being fully filled","allOf":[{"$ref":"#/components/schemas/OrderStatus"}]},"amount":{"format":"int64","description":"Amount of the base asset to trade.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"filledAmount":{"format":"int64","description":"Amount of the base asset that is filled.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"price":{"format":"int64","description":"Price per unit of the base asset, denominated in the quote asset.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"placedAt":{"format":"date-time","type":"string","description":"Placement date of the order"},"cancelledAt":{"format":"date-time","type":"string","description":"Cancellation date of the order","nullable":true},"cancelledReason":{"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing","nullable":true,"allOf":[{"$ref":"#/components/schemas/OrderCancelledReason"}]},"expiresAt":{"format":"date-time","type":"string","description":"Expiration date of the order","nullable":true}},"required":["createdAt","updatedAt","id","marketId","listingId","baseAssetId","quoteAssetId","accountAddress","type","side","status","amount","filledAmount","price","placedAt","cancelledAt","cancelledReason","expiresAt"]},"OrderType":{"type":"string","enum":["limit","market"],"description":"Type of the order execution"},"OrderSide":{"type":"string","enum":["buy","sell"],"description":"Side of the order indicating buy or sell"},"ScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by [DefaultScale](#/components/schemas/DefaultScale): `encoded = real × 10^6`. E.g. `11.0` is encoded as 11000000, `0.5` as 500000."},"OrderCancelledReason":{"type":"string","enum":["broker","listing-delisted","bond-locked"],"description":"**Order cancelled reason:**\n- `broker`: Order is cancelled by broker\n- `listing-delisted`: Order is cancelled by system because of delisted listing"}}}}
```

## Get market

> Get market details and current status

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market":{"get":{"description":"Get market details and current status","operationId":"getMarket","parameters":[],"responses":{"200":{"description":"Market details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketDto"}}}}},"summary":"Get market","tags":["Market"]}}},"components":{"schemas":{"MarketDto":{"type":"object","properties":{"status":{"description":"**Status of the market:**\n- `open` - market is open and accepting trades\n- `closed` - market is closed and not accepting trades\n- `halted` - market is halted and not accepting trades, until unhalted","allOf":[{"$ref":"#/components/schemas/MarketStatus"}]},"closureReason":{"description":"**Market closure reason (required if market is closed)**\n- `holiday` - market is closed due to holiday\n- `non-trading-hours` - market is closed due to non-trading hours (e.g. overnight, weekends, etc)\n- `post-halt` - market is closed because a halt has just ended within working hours; the market will be automatically reopened on the next scheduler tick. System-set only.\n- `scheduled-maintenance` - market is closed due to scheduled maintenance","allOf":[{"$ref":"#/components/schemas/MarketClosureReason"}]},"name":{"type":"string","description":"Name of the market"},"identifierCode":{"type":"string","description":"Market Identifier Code (MIC) as per ISO 10383 standard","pattern":"^[A-Z]{4}$","format":"iso-10383","minLength":4,"maxLength":4},"tz":{"type":"string","description":"Time zone (IANA) that market operates in","format":"iana-time-zone"},"workingHours":{"description":"Working hours on weekly basis","allOf":[{"$ref":"#/components/schemas/WeeklyWorkHoursDto"}]}},"required":["status","closureReason","name","identifierCode","tz","workingHours"]},"MarketStatus":{"type":"string","enum":["open","closed","halted"],"description":"**Status of the market:**\n- `open` - market is open and accepting trades\n- `closed` - market is closed and not accepting trades\n- `halted` - market is halted and not accepting trades, until unhalted"},"MarketClosureReason":{"type":"string","enum":["holiday","non-trading-hours","post-halt","scheduled-maintenance"],"description":"**Market closure reason (required if market is closed)**\n- `holiday` - market is closed due to holiday\n- `non-trading-hours` - market is closed due to non-trading hours (e.g. overnight, weekends, etc)\n- `post-halt` - market is closed because a halt has just ended within working hours; the market will be automatically reopened on the next scheduler tick. System-set only.\n- `scheduled-maintenance` - market is closed due to scheduled maintenance"},"WeeklyWorkHoursDto":{"type":"object","properties":{"monday":{"description":"Monday's opening hours","allOf":[{"$ref":"#/components/schemas/WorkHoursDto"}]},"tuesday":{"description":"Tuesday's opening hours","allOf":[{"$ref":"#/components/schemas/WorkHoursDto"}]},"wednesday":{"description":"Wednesday's opening hours","allOf":[{"$ref":"#/components/schemas/WorkHoursDto"}]},"thursday":{"description":"Thursday's opening hours","allOf":[{"$ref":"#/components/schemas/WorkHoursDto"}]},"friday":{"description":"Friday's opening hours","allOf":[{"$ref":"#/components/schemas/WorkHoursDto"}]},"saturday":{"description":"Saturday's opening hours","allOf":[{"$ref":"#/components/schemas/WorkHoursDto"}]},"sunday":{"description":"Sunday's opening hours","allOf":[{"$ref":"#/components/schemas/WorkHoursDto"}]}}},"WorkHoursDto":{"type":"object","properties":{"open":{"type":"string","description":"Opening time","pattern":"^([0-1][0-9]|2[0-3]):[0-5][0-9]$","format":"time","minLength":5,"maxLength":5},"close":{"type":"string","description":"Closing time","pattern":"^([0-1][0-9]|2[0-3]):[0-5][0-9]$","format":"time","minLength":5,"maxLength":5}},"required":["open","close"]}}}}
```

## Get market assets

> Get assets that are or were listed in the market

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/assets":{"get":{"description":"Get assets that are or were listed in the market","operationId":"getMarketAssets","parameters":[{"name":"filter","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/FilterAssetDto"}},{"name":"mode","required":false,"in":"query","description":"Strategy applied when filtering/searching on multiple fields","schema":{"$ref":"#/components/schemas/FilterMode"}},{"name":"pagination","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/PaginationRequestDto"}},{"name":"order","required":false,"in":"query","content":{"application/json":{"schema":{"type":"array","uniqueItems":true,"items":{"type":"object","oneOf":[{"properties":{"createdAt":{"type":"string","enum":["asc","desc"]}},"required":["createdAt"]},{"properties":{"supply":{"type":"string","enum":["asc","desc"]}},"required":["supply"]},{"properties":{"totalSupply":{"type":"string","enum":["asc","desc"]}},"required":["totalSupply"]},{"properties":{"isTradeable":{"type":"string","enum":["asc","desc"]}},"required":["isTradeable"]}]}}}},"description":"Array of fields and directions to order. Supported fields: createdAt, supply, totalSupply, isTradeable"}],"responses":{"200":{"description":"Successfully retrieved a list of items.","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"},"items":{"type":"array","items":{"$ref":"#/components/schemas/MarketAssetDto"}}},"required":["pagination","items"]}}}}},"summary":"Get market assets","tags":["Market"]}}},"components":{"schemas":{"FilterAssetDto":{"type":"object","properties":{"id":{"description":"Filter by asset ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"nodeId":{"description":"Filter by node ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"issuingAccountAddress":{"description":"Filter by issuing account's address(es)","oneOf":[{"type":"array","items":{"description":"Account address","type":"string","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"minItems":1},{"type":"string","description":"Partial account address"}]},"operationalAccountAddress":{"description":"Filter by operational account's address(es)","oneOf":[{"type":"array","items":{"description":"Account address","type":"string","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"minItems":1},{"type":"string","description":"Partial account address"}]},"name":{"description":"Filter by asset name(s)","oneOf":[{"type":"array","items":{"type":"string"},"minItems":1},{"type":"string","description":"Partial asset name"}]},"type":{"description":"Filter by assets type(s)","oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/AssetType"},"minItems":1},{"$ref":"#/components/schemas/AssetType"}]},"createdAt":{"format":"date-time","description":"Filter assets created from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]}}},"AssetType":{"type":"string","enum":["currency","bond","equity","fund"],"description":"Type of the asset"},"FilterMode":{"type":"string","enum":["and","or"]},"PaginationRequestDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1}}},"PaginationResponseDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1},"totalItems":{"type":"number","description":"Total items count"},"totalPages":{"type":"number","description":"Total pages count"}},"required":["totalItems","totalPages"]},"MarketAssetDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Asset UUID identifier, global in scope of TSS","format":"uuid"},"nodeId":{"type":"string","description":"Unique UUID of the node that manages this asset","format":"uuid"},"issuingAccountAddress":{"type":"string","description":"Issuing account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"operationalAccountAddress":{"type":"string","description":"Operational account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"type":{"description":"Type of the asset","allOf":[{"$ref":"#/components/schemas/AssetType"}]},"name":{"type":"string","description":"Asset name"},"specUrl":{"type":"string","description":"IPFS link"},"exponent":{"type":"number","description":"**Exponent** - number of decimal places (scale) used for this asset or currency.\n- Decimal floating value: `stored_value / 10^exponent`.\n- Values are stored in the smallest accountable/divisible unit (e.g., cents when exponent = 2).\n- Examples: `2000` with exponent `2` => `20`; `2345` with exponent `3` => `2.345`; `2345` with exponent `0` => `2345`.","minimum":0,"maximum":10},"supply":{"format":"int64","description":"Current asset supply.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"totalSupply":{"format":"int64","description":"Total asset supply ever issued.\n\nScaled as `ExponentScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ExponentScaledDecimal"}]},"ecbClassification":{"description":"**ECB Primary Asset Classification (PAC2)** code used in ECB SHS/SHSG reporting codelists.","allOf":[{"$ref":"#/components/schemas/PAC2"}]},"bolClassification":{"description":"**Bank of Lithuania VPT security type code** used in securities holdings reporting forms `VPT-01` and `VPT-02`.\n- The `VPT-01` form points to Annex II of ECB Regulation (EU) No `1011/2012` for classification guidance.\n- This schema stores the numeric code values used by the system for Bank of Lithuania reporting.\n- `N/A` is an internal system value and not an official Bank of Lithuania reporting code.","allOf":[{"$ref":"#/components/schemas/BoLSecurityTypeCode"}]},"isTradeable":{"type":"boolean","description":"Indicates if the asset can be traded"},"marketId":{"type":"string","description":"Market UUID identifier this asset was/is listed on","format":"uuid"}},"required":["createdAt","updatedAt","id","nodeId","issuingAccountAddress","operationalAccountAddress","type","name","specUrl","exponent","supply","totalSupply","ecbClassification","bolClassification","isTradeable","marketId"]},"ExponentScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by the asset's exponent: `encoded = real × 10^exponent`. E.g. for a bond denominated in EUR (exponent=2), a coupon payment of `123.45` is encoded as `12345`, and a nominal value of `1000.00` is encoded as `100000`."},"PAC2":{"type":"string","enum":["C","D","D.1","D.11","D.12","D.121","D.122","D.129","D.13","D.131","D.139","D.14","D.141","D.149","D.15","D.16","D.161","D.162","D.163","D.164","D.165","D.166","D.167","D.169","D.17","D.171","D.172","D.18","D.181","D.1811","D.1812","D.1813","D.1819","D.182","D.1821","D.1822","D.1823","D.1829","D.19","D.2","D.21","D.22","D.23","D.231","D.232","D.239","D.24","D.29","D.3","D.31","D.311","D.32","D.33","D.34","D.39","D.9","E","E.1","E.2","E.21","E.22","E.23","E.24","E.29","E.3","E.31","E.32","E.39","E.4","E.41","E.42","E.43","E.49","E.9","F","F.1","F.2","F.9","I","L","M","O","P","R","U"],"description":"**ECB Primary Asset Classification (PAC2)** code used in ECB SHS/SHSG reporting codelists."},"BoLSecurityTypeCode":{"type":"string","enum":["100","101","102","103","104","106","107","108","305","400","900","N/A"],"description":"**Bank of Lithuania VPT security type code** used in securities holdings reporting forms `VPT-01` and `VPT-02`.\n- The `VPT-01` form points to Annex II of ECB Regulation (EU) No `1011/2012` for classification guidance.\n- This schema stores the numeric code values used by the system for Bank of Lithuania reporting.\n- `N/A` is an internal system value and not an official Bank of Lithuania reporting code."}}}}
```

## Get asset's halts

> Get all asset's halts

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/assets/{assetId}/halts":{"get":{"description":"Get all asset's halts","operationId":"getAssetHalts","parameters":[{"name":"assetId","required":true,"in":"path","description":"Asset UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}},{"name":"filter","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/FilterHaltDto"}},{"name":"mode","required":false,"in":"query","description":"Strategy applied when filtering/searching on multiple fields","schema":{"$ref":"#/components/schemas/FilterMode"}},{"name":"pagination","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/PaginationRequestDto"}}],"responses":{"200":{"description":"Successfully retrieved a list of items.","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"},"items":{"type":"array","items":{"$ref":"#/components/schemas/AssetHaltDto"}}},"required":["pagination","items"]}}}}},"summary":"Get asset's halts","tags":["Market"]}}},"components":{"schemas":{"FilterHaltDto":{"type":"object","properties":{"status":{"description":"Filter by halt status","allOf":[{"$ref":"#/components/schemas/HaltStatus"}]}}},"HaltStatus":{"type":"string","enum":["ended","started"],"description":"**Halt status:**\n- `started` - trading is currently halted\n- `ended` - trading halt has ended"},"FilterMode":{"type":"string","enum":["and","or"]},"PaginationRequestDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1}}},"PaginationResponseDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1},"totalItems":{"type":"number","description":"Total items count"},"totalPages":{"type":"number","description":"Total pages count"}},"required":["totalItems","totalPages"]},"AssetHaltDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Asset halt UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market id where the halt applies","format":"uuid"},"status":{"description":"**Halt status:**\n- `started` - trading is currently halted\n- `ended` - trading halt has ended","allOf":[{"$ref":"#/components/schemas/HaltStatus"}]},"startedAt":{"format":"date-time","type":"string","description":"Timestamp when the halt was started"},"reason":{"type":"string","description":"Reason for the halt","minLength":1,"maxLength":512},"endedAt":{"format":"date-time","type":"string","description":"Timestamp when the halt was ended","nullable":true},"resumeReason":{"type":"string","description":"Reason for resuming trading","minLength":1,"maxLength":512,"nullable":true},"assetId":{"type":"string","description":"Asset id halt applies to","format":"uuid"}},"required":["createdAt","updatedAt","id","marketId","status","startedAt","reason","endedAt","resumeReason","assetId"]}}}}
```

## Get listings

> Get paginated list of market listings

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/listings":{"get":{"description":"Get paginated list of market listings","operationId":"getPairListings","parameters":[{"name":"filter","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/FilterListingDto"}},{"name":"mode","required":false,"in":"query","description":"Strategy applied when filtering/searching on multiple fields","schema":{"$ref":"#/components/schemas/FilterMode"}},{"name":"pagination","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/PaginationRequestDto"}},{"name":"order","required":false,"in":"query","content":{"application/json":{"schema":{"type":"array","uniqueItems":true,"items":{"type":"object","oneOf":[{"properties":{"status":{"type":"string","enum":["asc","desc"]}},"required":["status"]},{"properties":{"tickSizeStrategy":{"type":"string","enum":["asc","desc"]}},"required":["tickSizeStrategy"]},{"properties":{"tickSize":{"type":"string","enum":["asc","desc"]}},"required":["tickSize"]},{"properties":{"initiatedAt":{"type":"string","enum":["asc","desc"]}},"required":["initiatedAt"]},{"properties":{"listedAt":{"type":"string","enum":["asc","desc"]}},"required":["listedAt"]},{"properties":{"delistingInitiatedAt":{"type":"string","enum":["asc","desc"]}},"required":["delistingInitiatedAt"]},{"properties":{"createdAt":{"type":"string","enum":["asc","desc"]}},"required":["createdAt"]},{"properties":{"updatedAt":{"type":"string","enum":["asc","desc"]}},"required":["updatedAt"]}]}}}},"description":"Array of fields and directions to order. Supported fields: status, tickSizeStrategy, tickSize, initiatedAt, listedAt, delistingInitiatedAt, createdAt, updatedAt"}],"responses":{"200":{"description":"Successfully retrieved a list of items.","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ListingDto"}}},"required":["pagination","items"]}}}}},"summary":"Get listings","tags":["Market"]}}},"components":{"schemas":{"FilterListingDto":{"type":"object","properties":{"id":{"description":"Filter by listing ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"baseAssetId":{"description":"Filter by base asset ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"quoteAssetId":{"description":"Filter by quote asset ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"status":{"description":"Filter by listing status(es)","oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/ListingStatus"},"minItems":1},{"$ref":"#/components/schemas/ListingStatus"}]},"initiatedAt":{"format":"date-time","description":"Filter listings initiated from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]},"listedAt":{"format":"date-time","description":"Filter listings listed from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]},"delistingInitiatedAt":{"format":"date-time","description":"Filter listings with delisting initiated from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]},"delistedAt":{"format":"date-time","description":"Filter delisted listings from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]}}},"ListingStatus":{"type":"string","enum":["delisted","delisting-initiated","halted","listed","listing-cancelled","listing-initiated","listing-rejected"],"description":"**Status of the market listing:**\n- `listing-initiated` - listing has been initiated by the issuer agent\n- `listing-cancelled` - listing has been cancelled by the issuer agent\n- `listing-rejected` - listing request has been rejected by the operator\n- `listed` - asset is listed on the market\n- `delisting-initiated` - delisting has been initiated by the issuer agent, though still considered to be listed\n- `delisted` - asset has been delisted by the operator"},"FilterMode":{"type":"string","enum":["and","or"]},"PaginationRequestDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1}}},"PaginationResponseDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1},"totalItems":{"type":"number","description":"Total items count"},"totalPages":{"type":"number","description":"Total pages count"}},"required":["totalItems","totalPages"]},"ListingDto":{"type":"object","properties":{"id":{"type":"string","description":"Listing UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market UUID identifier this listing belongs to","format":"uuid"},"baseAssetId":{"type":"string","description":"Base asset Id","format":"uuid"},"quoteAssetId":{"type":"string","description":"Quote asset Id","format":"uuid"},"status":{"description":"**Status of the market listing:**\n- `listing-initiated` - listing has been initiated by the issuer agent\n- `listing-cancelled` - listing has been cancelled by the issuer agent\n- `listing-rejected` - listing request has been rejected by the operator\n- `listed` - asset is listed on the market\n- `delisting-initiated` - delisting has been initiated by the issuer agent, though still considered to be listed\n- `delisted` - asset has been delisted by the operator","allOf":[{"$ref":"#/components/schemas/ListingStatus"}]},"tickSizeStrategy":{"description":"Strategy used to resolve the effective tick size for the listing","allOf":[{"$ref":"#/components/schemas/TickSizeStrategy"}]},"tickSize":{"description":"Tick size the order prices must conform to.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/TickSize"}],"nullable":true},"initiatedAt":{"format":"date-time","type":"string","description":"Timestamp when the listing was initiated"},"listedAt":{"format":"date-time","type":"string","description":"Timestamp when the asset pair was listed","nullable":true},"delistingInitiatedAt":{"format":"date-time","type":"string","description":"Timestamp when the delisting was initiated","nullable":true},"delistedAt":{"format":"date-time","type":"string","description":"Timestamp when the asset pair was delisted","nullable":true},"createdAt":{"format":"date-time","type":"string"},"updatedAt":{"format":"date-time","type":"string","description":"Blockchain transaction hash that last updated this listing"}},"required":["id","marketId","baseAssetId","quoteAssetId","status","tickSizeStrategy","tickSize","initiatedAt","listedAt","delistingInitiatedAt","delistedAt","createdAt","updatedAt"]},"TickSizeStrategy":{"type":"string","enum":["static","tiered","volume-based"],"description":"Strategy used to resolve the effective tick size for the listing"},"TickSize":{"allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}],"format":"int64","enum":[100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000,1000000,2000000,5000000,10000000,20000000,50000000,100000000,200000000,500000000],"description":"Permitted tick sizes (MiFID II RTS 11). E.g. `100` = `0.0001`, `10000` = `0.01`, `1000000` = `1`, `500000000` = `500`.\n\nScaled as `ScaledDecimal`."},"ScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by [DefaultScale](#/components/schemas/DefaultScale): `encoded = real × 10^6`. E.g. `11.0` is encoded as 11000000, `0.5` as 500000."}}}}
```

## Get trades

> Get paginated list of trades for a market listing

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/listings/{listingId}/trades":{"get":{"description":"Get paginated list of trades for a market listing","operationId":"getListingTrades","parameters":[{"name":"listingId","required":true,"in":"path","description":"Listing UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}},{"name":"filter","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/FilterTradeDto"}},{"name":"mode","required":false,"in":"query","description":"Strategy applied when filtering/searching on multiple fields","schema":{"$ref":"#/components/schemas/FilterMode"}},{"name":"pagination","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/PaginationRequestDto"}},{"name":"order","required":false,"in":"query","content":{"application/json":{"schema":{"type":"array","uniqueItems":true,"items":{"type":"object","oneOf":[{"properties":{"createdAt":{"type":"string","enum":["asc","desc"]}},"required":["createdAt"]},{"properties":{"sellAccountAddress":{"type":"string","enum":["asc","desc"]}},"required":["sellAccountAddress"]},{"properties":{"buyAccountAddress":{"type":"string","enum":["asc","desc"]}},"required":["buyAccountAddress"]},{"properties":{"amount":{"type":"string","enum":["asc","desc"]}},"required":["amount"]},{"properties":{"price":{"type":"string","enum":["asc","desc"]}},"required":["price"]},{"properties":{"totalPrice":{"type":"string","enum":["asc","desc"]}},"required":["totalPrice"]},{"properties":{"executedAt":{"type":"string","enum":["asc","desc"]}},"required":["executedAt"]},{"properties":{"executionOrder":{"type":"string","enum":["asc","desc"]}},"required":["executionOrder"]}]}}}},"description":"Array of fields and directions to order. Supported fields: createdAt, sellAccountAddress, buyAccountAddress, amount, price, totalPrice, executedAt, executionOrder"}],"responses":{"200":{"description":"Successfully retrieved a list of items.","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"},"items":{"type":"array","items":{"$ref":"#/components/schemas/TradeDto"}}},"required":["pagination","items"]}}}}},"summary":"Get trades","tags":["Market"]}}},"components":{"schemas":{"FilterTradeDto":{"type":"object","properties":{"id":{"description":"Filter by trade ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"sellOrderId":{"description":"Filter by sell order ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"sellAccountAddress":{"description":"Filter by partial sell account address or a list of sell account addresses","oneOf":[{"type":"array","items":{"description":"Account address","type":"string","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"minItems":1},{"type":"string","description":"Partial account address"}]},"buyOrderId":{"description":"Filter by buy order ID(s)","oneOf":[{"type":"array","items":{"description":"Unique UUIDs of an entity","format":"uuid","type":"string"},"minItems":1},{"description":"Unique UUID of an entity","format":"uuid","type":"string"}]},"buyAccountAddress":{"description":"Filter by partial buy account address or a list of buy account addresses","oneOf":[{"type":"array","items":{"description":"Account address","type":"string","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"minItems":1},{"type":"string","description":"Partial account address"}]},"executedAt":{"format":"date-time","description":"Filter trades executed from date or between two dates","oneOf":[{"type":"array","items":{"type":"string","format":"date-time"},"minItems":1,"maxItems":2},{"type":"string","format":"date-time"}]}}},"FilterMode":{"type":"string","enum":["and","or"]},"PaginationRequestDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1}}},"PaginationResponseDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1},"totalItems":{"type":"number","description":"Total items count"},"totalPages":{"type":"number","description":"Total pages count"}},"required":["totalItems","totalPages"]},"TradeDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Trade UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market identifier where the trade occurred","format":"uuid"},"listingId":{"type":"string","description":"Identifier of the market listing (trading pair)","format":"uuid"},"baseAssetId":{"type":"string","description":"Base asset identifier in the trading pair","format":"uuid"},"quoteAssetId":{"type":"string","description":"Quote asset identifier in the trading pair","format":"uuid"},"sellOrderId":{"type":"string","description":"UUID identifier of the sell order","format":"uuid"},"sellAccountAddress":{"type":"string","description":"Sell investor's account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"buyOrderId":{"type":"string","description":"UUID identifier of the buy order","format":"uuid"},"buyAccountAddress":{"type":"string","description":"Buy investor's account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"amount":{"format":"int64","description":"Amount of the base asset traded.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"price":{"format":"int64","description":"Price per unit of the base asset, denominated in the quote asset.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"totalPrice":{"format":"int64","description":"Actual total price of the trade.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"executedAt":{"format":"date-time","type":"string","description":"Timestamp when the trade was executed"},"executionOrder":{"type":"string","description":"Order in which the trade was executed"}},"required":["createdAt","updatedAt","id","marketId","listingId","baseAssetId","quoteAssetId","sellOrderId","sellAccountAddress","buyOrderId","buyAccountAddress","amount","price","totalPrice","executedAt","executionOrder"]},"ScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by [DefaultScale](#/components/schemas/DefaultScale): `encoded = real × 10^6`. E.g. `11.0` is encoded as 11000000, `0.5` as 500000."}}}}
```

## Get trade

> Get a single trade by its ID for a market listing

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/listings/{listingId}/trades/{tradeId}":{"get":{"description":"Get a single trade by its ID for a market listing","operationId":"getTradeById","parameters":[{"name":"listingId","required":true,"in":"path","description":"Listing UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}},{"name":"tradeId","required":true,"in":"path","description":"Trade UUID identifier, global in scope of TSS","schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"description":"Trade","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradeDto"}}}}},"summary":"Get trade","tags":["Market"]}}},"components":{"schemas":{"TradeDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Trade UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market identifier where the trade occurred","format":"uuid"},"listingId":{"type":"string","description":"Identifier of the market listing (trading pair)","format":"uuid"},"baseAssetId":{"type":"string","description":"Base asset identifier in the trading pair","format":"uuid"},"quoteAssetId":{"type":"string","description":"Quote asset identifier in the trading pair","format":"uuid"},"sellOrderId":{"type":"string","description":"UUID identifier of the sell order","format":"uuid"},"sellAccountAddress":{"type":"string","description":"Sell investor's account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"buyOrderId":{"type":"string","description":"UUID identifier of the buy order","format":"uuid"},"buyAccountAddress":{"type":"string","description":"Buy investor's account address","format":"xrp-address","pattern":"r[0-9a-zA-Z]{24,34}"},"amount":{"format":"int64","description":"Amount of the base asset traded.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"price":{"format":"int64","description":"Price per unit of the base asset, denominated in the quote asset.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"totalPrice":{"format":"int64","description":"Actual total price of the trade.\n\nScaled as `ScaledDecimal`.","allOf":[{"$ref":"#/components/schemas/ScaledDecimal"}]},"executedAt":{"format":"date-time","type":"string","description":"Timestamp when the trade was executed"},"executionOrder":{"type":"string","description":"Order in which the trade was executed"}},"required":["createdAt","updatedAt","id","marketId","listingId","baseAssetId","quoteAssetId","sellOrderId","sellAccountAddress","buyOrderId","buyAccountAddress","amount","price","totalPrice","executedAt","executionOrder"]},"ScaledDecimal":{"type":"integer","format":"int64","description":"Decimal value encoded on the wire as an integer scaled by [DefaultScale](#/components/schemas/DefaultScale): `encoded = real × 10^6`. E.g. `11.0` is encoded as 11000000, `0.5` as 500000."}}}}
```

## Get market halts

> Get all market halts

```json
{"openapi":"3.1.0","info":{"title":"Axiology TSS Broker Node API","version":"0.0.1"},"paths":{"/market/halts":{"get":{"description":"Get all market halts","operationId":"getMarketHalts","parameters":[{"name":"filter","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/FilterHaltDto"}},{"name":"mode","required":false,"in":"query","description":"Strategy applied when filtering/searching on multiple fields","schema":{"$ref":"#/components/schemas/FilterMode"}},{"name":"pagination","required":false,"in":"query","style":"deepObject","explode":true,"schema":{"$ref":"#/components/schemas/PaginationRequestDto"}}],"responses":{"200":{"description":"Successfully retrieved a list of items.","content":{"application/json":{"schema":{"type":"object","properties":{"pagination":{"$ref":"#/components/schemas/PaginationResponseDto"},"items":{"type":"array","items":{"$ref":"#/components/schemas/MarketHaltDto"}}},"required":["pagination","items"]}}}}},"summary":"Get market halts","tags":["Market"]}}},"components":{"schemas":{"FilterHaltDto":{"type":"object","properties":{"status":{"description":"Filter by halt status","allOf":[{"$ref":"#/components/schemas/HaltStatus"}]}}},"HaltStatus":{"type":"string","enum":["ended","started"],"description":"**Halt status:**\n- `started` - trading is currently halted\n- `ended` - trading halt has ended"},"FilterMode":{"type":"string","enum":["and","or"]},"PaginationRequestDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1}}},"PaginationResponseDto":{"type":"object","properties":{"size":{"type":"number","minimum":1,"default":10},"page":{"type":"number","minimum":1,"default":1},"totalItems":{"type":"number","description":"Total items count"},"totalPages":{"type":"number","description":"Total pages count"}},"required":["totalItems","totalPages"]},"MarketHaltDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"Created date"},"updatedAt":{"format":"date-time","type":"string","description":"Updated date"},"id":{"type":"string","description":"Market halt UUID identifier, global in scope of TSS","format":"uuid"},"marketId":{"type":"string","description":"Market id where the halt applies","format":"uuid"},"status":{"description":"**Halt status:**\n- `started` - trading is currently halted\n- `ended` - trading halt has ended","allOf":[{"$ref":"#/components/schemas/HaltStatus"}]},"startedAt":{"format":"date-time","type":"string","description":"Timestamp when the halt was started"},"reason":{"type":"string","description":"Reason for the halt","minLength":1,"maxLength":512},"endedAt":{"format":"date-time","type":"string","description":"Timestamp when the halt was ended","nullable":true},"resumeReason":{"type":"string","description":"Reason for resuming trading","minLength":1,"maxLength":512,"nullable":true}},"required":["createdAt","updatedAt","id","marketId","status","startedAt","reason","endedAt","resumeReason"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://axiology.gitbook.io/axiology-docs/rest-api/market.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
