Purpose: Create a new wash trading session
Request:
{
"name": "string", // Session identifier
"accounts": ["string"], // Array of account IDs to participate
"strategy": {
"symbol": "string", // Trading pair (e.g., "ETH/USD")
"volumeDistribution": "equal|weighted",
"priceRange": {
"min": "number", // Minimum price deviation %
"max": "number" // Maximum price deviation %
},
"timing": {
"minInterval": "number", // Min seconds between orders
"maxInterval": "number", // Max seconds between orders
"orderSize": {
"min": "number", // Min order size
"max": "number" // Max order size
}
},
"riskLimits": {
"maxPositionSize": "number",
"stopLossThreshold": "number",
"maxSlippage": "number"
}
},
"volumeTarget": "number" // Target volume to generate
}
Response (201 Created):
{
"id": "string",
"name": "string",
"status": "pending",
"accounts": ["string"],
"strategy": { /* same as request */ },
"volumeTarget": "number",
"volumeGenerated": 0,
"startTime": "string (ISO 8601)",
"endTime": null
}
Error Responses:
Purpose: List all trading sessions
Query Parameters:
status
: Filter by status (pending|active|paused|completed|failed)limit
: Number of sessions to return (default: 50)offset
: Number of sessions to skip (default: 0)Response (200 OK):
{
"sessions": [
{
"id": "string",
"name": "string",
"status": "string",
"accounts": ["string"],
"volumeTarget": "number",
"volumeGenerated": "number",
"startTime": "string (ISO 8601)",
"endTime": "string (ISO 8601) | null"
}
],
"totalCount": "number",
"hasMore": "boolean"
}
Purpose: Get detailed information about a specific trading session
Response (200 OK):
{
"id": "string",
"name": "string",
"status": "pending|active|paused|completed|failed",
"accounts": ["string"],
"strategy": { /* TradingStrategy object */ },
"volumeTarget": "number",
"volumeGenerated": "number",
"startTime": "string (ISO 8601)",
"endTime": "string (ISO 8601) | null",
"riskBreaches": [
{
"id": "string",
"accountId": "string",
"breachType": "string",
"threshold": "number",
"actual": "number",
"severity": "warning|critical",
"action": "string",
"timestamp": "string (ISO 8601)",
"resolved": "boolean"
}
],
"orders": [
{
"id": "string",
"accountId": "string",
"symbol": "string",
"side": "buy|sell",
"type": "market|limit",
"size": "number",
"price": "number | null",
"status": "string",
"fillPrice": "number | null",
"fillSize": "number | null",
"fees": "number",
"slippage": "number | null",
"createdAt": "string (ISO 8601)"
}
]
}
Purpose: Start an active trading session
Response (200 OK):
{
"id": "string",
"status": "active",
"startTime": "string (ISO 8601)",
"message": "Trading session started successfully"
}
Error Responses:
Purpose: Pause an active trading session
Response (200 OK):
{
"id": "string",
"status": "paused",
"message": "Trading session paused"
}
Purpose: Resume a paused trading session
Response (200 OK):
{
"id": "string",
"status": "active",
"message": "Trading session resumed"
}
Purpose: Stop and complete a trading session
Response (200 OK):
{
"id": "string",
"status": "completed",
"endTime": "string (ISO 8601)",
"volumeGenerated": "number",
"message": "Trading session completed successfully"
}
Purpose: Get all orders for a specific trading session
Query Parameters:
accountId
: Filter by account IDstatus
: Filter by order statuslimit
: Number of orders to return (default: 100)offset
: Number of orders to skip (default: 0)Response (200 OK):
{
"orders": [
{
"id": "string",
"accountId": "string",
"symbol": "string",
"side": "buy|sell",
"type": "market|limit",
"size": "number",
"price": "number | null",
"status": "pending|filled|partial|cancelled|failed",
"fillPrice": "number | null",
"fillSize": "number | null",
"fees": "number",
"slippage": "number | null",
"createdAt": "string (ISO 8601)",
"updatedAt": "string (ISO 8601)"
}
],
"totalCount": "number",
"hasMore": "boolean"
}
Purpose: Get detailed information about a specific order
Response (200 OK):
{
"id": "string",
"sessionId": "string",
"accountId": "string",
"symbol": "string",
"side": "buy|sell",
"type": "market|limit",
"size": "number",
"price": "number | null",
"status": "string",
"fillPrice": "number | null",
"fillSize": "number | null",
"fees": "number",
"slippage": "number | null",
"createdAt": "string (ISO 8601)",
"updatedAt": "string (ISO 8601)",
"pacificaOrderId": "string | null"
}