curl --request GET \
--url https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"createdAt": "2023-11-07T05:31:56Z",
"executionPrice": {
"source": "stored_quote_price",
"baseSymbol": "<string>",
"quoteSymbol": "<string>",
"value": "<string>"
},
"lifecycleStatus": {
"bucket": "inProgress",
"flowKind": "<string>",
"isTerminal": true,
"primary": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rank": 1,
"rawStatus": "<string>",
"execution": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rawDeferredStatus": "<string>",
"settlement": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"withdrawal": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
}
},
"lpName": "<string>",
"lpSource": "<string>",
"orderId": "<string>",
"route": {
"buy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"sell": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
}
},
"routingPathLabel": "<string>",
"settlementStatus": "<string>",
"status": "<string>",
"submittedByYou": true,
"kind": "order",
"projection": "mine",
"tradeId": "<string>",
"actionRequired": {
"code": "<string>",
"message": "<string>"
},
"amountUsd": 123,
"apiKey": {
"keyId": "<string>",
"name": "<string>"
},
"channel": "ui",
"custodyVaultAddress": "<string>",
"deferredSettlement": {
"autoWithdraw": true,
"stage": "<string>",
"estimatedSettlementAvailableAt": "2023-11-07T05:31:56Z",
"executedAt": "2023-11-07T05:31:56Z",
"settlementWindowHours": 1,
"withdrawalStatus": "<string>",
"withdrawalTrackingId": "<string>",
"withdrawalTxHash": "<string>"
},
"deliveredBuyProvenance": "<string>",
"failureReason": "<string>",
"linkedWalletId": "<string>",
"lpVenueId": "<string>",
"nextAction": {
"kind": "payoutFeeRose",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"nextActor": "taker",
"orderKind": "<string>",
"routingPath": {
"type": "direct"
},
"settlementSpeedMs": 1,
"slippageBps": 123
}
],
"limit": 1,
"total": 1,
"coverage": [
{
"kind": "order",
"state": "unavailable"
}
],
"excludedKinds": [
{
"filter": "<string>",
"kind": "order"
}
],
"latestTradeAt": "2023-11-07T05:31:56Z",
"makerContext": {
"ownedSolvers": [
{
"solverId": "<string>",
"status": "registered",
"name": "<string>",
"retiredAt": "2023-11-07T05:31:56Z"
}
],
"selectedBrokerId": "<string>",
"selectedCohort": "<string>",
"selectedSolverId": "<string>",
"accountSummary": {
"amountUnit": "<string>",
"candidateLimit": 1,
"filledRequestCount": 1,
"groups": [
{
"executionTypeId": "<string>",
"filledRequestCount": 1,
"inputAmount": "<string>",
"inputAsset": "<string>",
"outputAmount": "<string>",
"outputAsset": "<string>",
"providerSite": "<string>"
}
],
"source": "protocol"
},
"selectedAccountFilter": {
"executionTypeId": "<string>",
"inputAsset": "<string>",
"outputAsset": "<string>",
"providerSite": "<string>"
},
"selectedRiskScope": {
"asOf": "<string>",
"counterparty": "<string>",
"windowSeconds": 123
}
},
"nextCursor": "<string>",
"scope": "workspace"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}GET /api/v1/workspaces/{workspaceId}/trades
The one trade history. Projections: scope=workspace (default) reads the workspace’s taker orders and venue trades; a member without view_compliance reads only their own, whatever the scope. scope=mine reads the caller’s own (a member session only). scope=umbrella reads a broker’s clients’ orders with each client category’s field visibility (view_umbrella_compliance). perspective=maker reads an LP workspace’s fills with pseudonymised counterparties (view_settlements); with settlementStage or minAgeSeconds, its unsettled orders by stage (view_bilateral_documents). The default perspective is taker in every workspace. Every row carries tradeId, kind (order or venueTrade) and projection. Page with limit and cursor; format=csv returns the same filtered rows. Accepts a member session or an API key with trades_read; CSV is a member session only.
curl --request GET \
--url https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tetrafi.io/api/v1/workspaces/{workspaceId}/trades")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"createdAt": "2023-11-07T05:31:56Z",
"executionPrice": {
"source": "stored_quote_price",
"baseSymbol": "<string>",
"quoteSymbol": "<string>",
"value": "<string>"
},
"lifecycleStatus": {
"bucket": "inProgress",
"flowKind": "<string>",
"isTerminal": true,
"primary": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rank": 1,
"rawStatus": "<string>",
"execution": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"rawDeferredStatus": "<string>",
"settlement": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
},
"withdrawal": {
"key": "<string>",
"label": "<string>",
"tone": "<string>"
}
},
"lpName": "<string>",
"lpSource": "<string>",
"orderId": "<string>",
"route": {
"buy": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
},
"sell": {
"asset": {
"assetId": "<string>",
"resolutionStatus": "resolved",
"symbol": "<string>",
"address": "<string>",
"chainId": 1,
"chainRef": "<string>",
"decimals": 1,
"name": "<string>"
},
"decimalAmount": "<string>",
"rawAmount": "<string>",
"unresolved": "assetNotInRegistry"
}
},
"routingPathLabel": "<string>",
"settlementStatus": "<string>",
"status": "<string>",
"submittedByYou": true,
"kind": "order",
"projection": "mine",
"tradeId": "<string>",
"actionRequired": {
"code": "<string>",
"message": "<string>"
},
"amountUsd": 123,
"apiKey": {
"keyId": "<string>",
"name": "<string>"
},
"channel": "ui",
"custodyVaultAddress": "<string>",
"deferredSettlement": {
"autoWithdraw": true,
"stage": "<string>",
"estimatedSettlementAvailableAt": "2023-11-07T05:31:56Z",
"executedAt": "2023-11-07T05:31:56Z",
"settlementWindowHours": 1,
"withdrawalStatus": "<string>",
"withdrawalTrackingId": "<string>",
"withdrawalTxHash": "<string>"
},
"deliveredBuyProvenance": "<string>",
"failureReason": "<string>",
"linkedWalletId": "<string>",
"lpVenueId": "<string>",
"nextAction": {
"kind": "payoutFeeRose",
"legId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"nextActor": "taker",
"orderKind": "<string>",
"routingPath": {
"type": "direct"
},
"settlementSpeedMs": 1,
"slippageBps": 123
}
],
"limit": 1,
"total": 1,
"coverage": [
{
"kind": "order",
"state": "unavailable"
}
],
"excludedKinds": [
{
"filter": "<string>",
"kind": "order"
}
],
"latestTradeAt": "2023-11-07T05:31:56Z",
"makerContext": {
"ownedSolvers": [
{
"solverId": "<string>",
"status": "registered",
"name": "<string>",
"retiredAt": "2023-11-07T05:31:56Z"
}
],
"selectedBrokerId": "<string>",
"selectedCohort": "<string>",
"selectedSolverId": "<string>",
"accountSummary": {
"amountUnit": "<string>",
"candidateLimit": 1,
"filledRequestCount": 1,
"groups": [
{
"executionTypeId": "<string>",
"filledRequestCount": 1,
"inputAmount": "<string>",
"inputAsset": "<string>",
"outputAmount": "<string>",
"outputAsset": "<string>",
"providerSite": "<string>"
}
],
"source": "protocol"
},
"selectedAccountFilter": {
"executionTypeId": "<string>",
"inputAsset": "<string>",
"outputAsset": "<string>",
"providerSite": "<string>"
},
"selectedRiskScope": {
"asOf": "<string>",
"counterparty": "<string>",
"windowSeconds": 123
}
},
"nextCursor": "<string>",
"scope": "workspace"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}{
"docUrl": "<string>",
"error": "<string>",
"message": "<string>",
"retryable": true,
"timestamp": 123,
"details": {
"capabilityBlockers": [
{
"code": "WORKSPACE_NOT_FOUND",
"estimate": "minutes",
"message": "<string>",
"unlockStep": "finish_onboarding",
"currentlyDue": [
"<string>"
]
}
],
"conflicts": [
"<string>"
],
"field": "<string>",
"reason": "<string>",
"remediation": "<string>",
"retryAfter": "PT120S",
"value": "<string>"
},
"next": {
"kind": "order"
},
"requestId": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The workspace the request acts in. An API key bound to a workspace implies it: omit the header, or send that same id (another id answers 403 WORKSPACE_SCOPE_MISMATCH). A member session must send it (400 MISSING_WORKSPACE without it).
Path Parameters
Workspace ID
Query Parameters
mine, workspace or umbrella. Default: workspace. umbrella needs a broker workspace and view_umbrella_compliance; mine needs a member session. Whose rows the list reads.
mine, workspace, umbrella taker (default, in every workspace) or maker. maker needs an LP workspace and view_settlements. Which side of the trade the workspace was on.
taker, maker all, order or venueTrade. Default: all for taker and umbrella; for maker the fills default (on-chain orders); umbrella has orders only. Explicit population selection, not an unsupported-filter exclusion.
all, order, venueTrade Settlement status filter, as the projection names it.
Counterparty: the LP's catalogue venue id, the row's lpVenueId (taker; a venue
trade matches its execution type's venue), the client workspace (umbrella) or the
taker (maker).
One of the LP's own venues, by its id (maker only).
The member or client who placed the order: member (taker), user id (umbrella), entity (maker).
Settlement stage of an unsettled order (maker only).
Only orders at least this many seconds old (maker only, with settlementStage).
Placed at or after this RFC 3339 instant (umbrella: a UTC midnight).
Placed at or before this RFC 3339 instant (umbrella: a UTC midnight).
Page size; the projection's own bounds apply (default 25).
x >= 0The nextCursor of the previous page.
json (default) or csv. csv returns the projection's export of the same filters. The representation of the list.
json, csv Taker: comma-separated lifecycle buckets (inProgress, completed, failed, refunded, unknown). Maker: the fills lifecycle filter
Taker: taker, support, counterparty or none
Taker: either side's display asset symbol (case-insensitive)
Corridor (source-dest)
Taker: linked wallet id
Taker: wallet address (custody vault or linked wallet)
The row's routingPath type: direct or via_broker
Minimum USD notional
Maximum USD notional
Field to sort by, as the projection names it
Taker: asc or desc
Taker: only orders whose nextAction is present
Response
One page of trades; with format=csv, the projection's CSV of the same filters
One page of the trade history.
One trade in the trade history.
The core (tradeId, kind, projection) is on every row. Taker rows carry the
order or venue-trade fields at the top level, exactly as the taker list has
always returned them; umbrella is set only on umbrella rows and maker only
on maker rows.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
The page size applied.
x >= 0Rows matching the filters in this projection.
x >= 0Taker projections: kinds whose rows could not be read; the list shows the rest.
Show child attributes
Show child attributes
Taker projections: kinds a filter or sort left out, each with the parameter it could not apply.
Show child attributes
Show child attributes
Newest createdAt the caller may see in this projection, ignoring every filter.
Maker projections only: what the fills or settlement-queue read returned about the page beyond its rows, unchanged. Absent for every taker projection.
- Option 1
- Option 2
Show child attributes
Show child attributes
Pass as cursor for the next page; null on the last page.
Taker projections: whose orders the list holds (every workspace order, or the caller's own).
workspace, own