Skip to main content

Algo724 Cadenza Fermata API (3.0.1)

Download OpenAPI specification:Download

License: Proprietary

OpenAPI Specification for Algo724 Cadenza Fermata API

Utility

Utility endpoints

Root, Information about the API

Root endpoint providing API metadata, version information, and available endpoints

Authorizations:
SupabaseOAuth2BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Health check

Health check endpoint for monitoring service status and dependencies. No authentication required - designed for load balancers, Kubernetes probes, and monitoring systems.

Responses

Response samples

Content type
application/json
{
  • "status": "healthy",
  • "timestamp": 1632933600000,
  • "isoDateTime": "2023-09-29T12:00:00.000Z",
  • "version": "3.0.1",
  • "checks": {
    }
}

Authentication

Authentication endpoints (Supabase GoTrue proxy)

Sign up new user

Create a new user account with email and password

Request Body schema: application/json
required
email
required
string <email>

User email address

password
required
string >= 8 characters

User password (minimum 8 characters)

object

Optional user metadata

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "securepassword123",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Login with email and password

Authenticate user and return access/refresh tokens

Request Body schema: application/json
required
email
required
string <email>

User email address

password
required
string

User password

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "securepassword123"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Logout user

Invalidate the current session

Authorizations:
SupabaseOAuth2BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": "ok"
}

Refresh access token

Get new access token using refresh token

Request Body schema: application/json
required
refreshToken
required
string

Refresh token from previous login

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Get current user

Get the currently authenticated user's information

Authorizations:
SupabaseOAuth2BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Update current user

Update the currently authenticated user's information

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
required
email
string <email>

New email address

password
string >= 8 characters

New password (minimum 8 characters)

object

User metadata to update

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "stringst",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Request password recovery

Send password recovery email to user

Request Body schema: application/json
required
email
required
string <email>

Email address to send recovery link

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": "ok"
}

Trade Order

Trade Order Management

Submit trade order

Submit a new trade order

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
tradingAccountId
required
string <uuid> (uuidString)

UUID string

instrumentId
required
string (instrumentId)

Instrument ID in format {VENUE}:{BASE}/{QUOTE}

idempotencyKey
string (idempotencyKey)

Idempotency key to prevent duplicate request processing

clientOrderId
string (clientOrderId)

Client-provided order ID, used as idempotency key

orderSide
required
string (orderSide)
Enum: "BUY" "SELL" "UNKNOWN"

Order side (buy or sell)

orderType
required
string (orderType)
Enum: "" "MARKET" "LIMIT" "STOP" "STOP_LIMIT" "STOP_LOSS" "STOP_LOSS_LIMIT" "TAKE_PROFIT" "TAKE_PROFIT_LIMIT" "TRAILING_STOP" "QUOTED" "UNKNOWN"

Order type

limitPrice
string (decimal) ^-?\d+(\.\d+)?$

Decimal value as string to preserve precision

stopPrice
string (decimal) ^-?\d+(\.\d+)?$

Decimal value as string to preserve precision

quantity
required
string (decimal) ^-?\d+(\.\d+)?$

Decimal value as string to preserve precision

quantityType
string (orderQuantityType)
Enum: "BASE" "QUOTE" "POSITION_RATIO" "POSITION_PERCENTAGE"

How order quantity is specified

quantityRounding
string (quantityRounding)
Default: ""
Enum: "" "UP" "DOWN" "NEAREST" "CEIL" "FLOOR" "HALF_UP" "HALF_DOWN" "HALF_EVEN"

Quantity rounding strategy to meet lot size requirements. Empty string means no rounding.

positionId
string <uuid> (uuidString)

UUID string

timeInForce
string (timeInForce)
Enum: "" "GTC" "IOC" "FOK" "GTD" "DAY" "GTX" "OPG" "CLS" "GFA" "GFS" "GTM" "MOO" "MOC" "EXT" "UNKNOWN"

Time in force - specifies how long an order remains active

expireAt
integer <int64> (millisecond)

Unix timestamp in milliseconds

quoteId
string <uuid> (uuidString)

UUID string

leverage
integer

Leverage

awaitClosed
boolean
Default: false

If true, the API will wait up to 1 second for the order to reach a closed/finalized state (FILLED, REJECTED, EXPIRED, CANCELLED) before responding. If false or omitted, returns immediately with the initial order state. Useful for market orders that typically fill immediately.

Responses

Request samples

Content type
application/json
{
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
  • "instrumentId": "BINANCE:BTC/USDT",
  • "idempotencyKey": "my_unique_request_id",
  • "clientOrderId": "client_order_12345",
  • "orderSide": "BUY",
  • "orderType": "LIMIT",
  • "limitPrice": "1234.56789000",
  • "stopPrice": "1234.56789000",
  • "quantity": "1234.56789000",
  • "quantityType": "BASE",
  • "quantityRounding": "DOWN",
  • "positionId": "da3402dc-13f8-45f9-83a6-bde06dd8eb35",
  • "timeInForce": "GTC",
  • "expireAt": 1632933600000,
  • "quoteId": "826e5192-f8c6-4e24-aab3-3910e46c52b7",
  • "leverage": 0,
  • "awaitClosed": true
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ]
}

Cancel trade order

Cancel an existing trade order

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
tradingAccountId
required
string <uuid> (uuidString)

UUID string

tradeOrderId
required
string <uuid> (uuidString)

UUID string

Responses

Request samples

Content type
application/json
{
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
  • "tradeOrderId": "85df4133-2159-4db1-a117-d20455178752"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List trade orders

List trade orders with filtering options

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
tradeOrderId
string <uuid> (uuidString)

Trade order ID

orderStatus
string (orderStatus)
Enum: "" "CREATED" "SUBMITTED" "ACCEPTED" "PARTIALLY_FILLED" "FILLED" "CANCELLED" "PENDING_CANCEL" "REPLACED" "PENDING_REPLACE" "REJECTED" "EXPIRED" "REVOKED" "UNKNOWN"
Example: orderStatus=FILLED

Order status

tradingAccountId
string <uuid> (uuidString)

Trading account ID

instrumentId
string (instrumentId)
Example: instrumentId=BINANCE:BTC/USDT

Instrument ID

startTime
integer
Example: startTime=1622505600000

Start time (in unix milliseconds), of the created at field

endTime
integer

End time (in unix milliseconds), of the created at field

limit
integer [ 1 .. 1000 ]
Default: 50
Example: limit=100

Limit the number of returned results

offset
integer >= 0
Default: 0
Example: offset=0

Offset of the returned results

cursor
string

Cursor for next page

ascending
boolean
Default: false

Return records in ascending order

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Trading Account

Trading Account Management

Connect trading account

Connect to a trading account

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
credentialIds
required
Array of strings <uuid> (uuidString) [ items <uuid > ]

A list of credential IDs to be used to connect the trading account

externalTradingAccountId
required
string

External trading account ID

nickname
string

Nickname of the trading account

Responses

Request samples

Content type
application/json
{
  • "credentialIds": [
    ],
  • "externalTradingAccountId": "string",
  • "nickname": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Disconnect trading account

Disconnect from a trading account, all trading functions and the event stream notification will be stopped. The trading account will be archived and no longer available for trading. If the same trading account need to be connected again, please use the connect trading account API to create another new trading account.

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
tradingAccountId
required
string <uuid> (uuidString)

UUID string

Responses

Request samples

Content type
application/json
{
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Update trading account

Update trading account information

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
tradingAccountId
required
string <uuid> (uuidString)

UUID string

nickname
string

New nickname for the trading account

Responses

Request samples

Content type
application/json
{
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
  • "nickname": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List trading accounts

List all trading accounts

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
tradingAccountId
string <uuid> (uuidString)

Trading account ID

venue
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"
Example: venue=BINANCE

Exchange type

accountStatus
string (tradingAccountStatus)
Enum: "SETUP" "ACTIVE" "INACTIVE" "LOCKED" "DISCONNECTED" "SUSPENDED" "DELETED" "UNKNOWN"
Example: accountStatus=ACTIVE

Account status

userId
string <uuid>

Filter by user ID

tenantId
string

Filter by tenant ID

limit
integer [ 1 .. 1000 ]
Default: 50
Example: limit=100

Limit the number of returned results

offset
integer >= 0
Default: 0
Example: offset=0

Offset of the returned results

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Disable trading account

Disable a trading account, the trading account will be disabled and no longer available for trading.

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
tradingAccountId
required
string <uuid> (uuidString)

UUID string

Responses

Request samples

Content type
application/json
{
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Enable trading account

Enable a trading account, the trading account will be enabled and available for trading.

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
tradingAccountId
required
string <uuid> (uuidString)

UUID string

Responses

Request samples

Content type
application/json
{
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List trading account operations

List operations history for trading accounts

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
tradingAccountId
string <uuid> (uuidString)

Trading account ID

operationType
string (operationType)
Enum: "CONNECT" "DISCONNECT" "ENABLE" "DISABLE" "UPDATE" "CREDENTIAL_REVOKE" "CREDENTIAL_ROTATE"

Operation type

startTime
integer
Example: startTime=1622505600000

Start time (in unix milliseconds), of the created at field

endTime
integer

End time (in unix milliseconds), of the created at field

limit
integer [ 1 .. 1000 ]
Default: 50
Example: limit=100

Limit the number of returned results

offset
integer >= 0
Default: 0
Example: offset=0

Offset of the returned results

cursor
string

Cursor for next page

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Trading Account Credential

Trading Account Credential Management

List trading account credentials

List all credentials for a trading account

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
credentialType
string (credentialType)
Enum: "" "API_KEY" "HMAC" "OAUTH" "RSA" "ED25519"
Example: credentialType=API_KEY

Credential type

credentialStatus
string (tradingAccountStatus)
Enum: "SETUP" "ACTIVE" "INACTIVE" "LOCKED" "DISCONNECTED" "SUSPENDED" "DELETED" "UNKNOWN"
Example: credentialStatus=ACTIVE

Credential status

credentialIds
Array of strings

credentialId array

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Create trading account credential

Create credentials for a trading account

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
venue
required
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"

Trading venue identifier. UAT/sandbox environments are treated as separate venues. Note: _SANDBOX and _PAPER suffixes are deprecated. Use _UAT suffix for new integrations.

nickname
string

Nickname of the credential

credentialType
required
string (credentialType)
Enum: "" "API_KEY" "HMAC" "OAUTH" "RSA" "ED25519"

Type of API credential

apiKey
string
apiSecret
string
apiPassphrase
string

Responses

Request samples

Content type
application/json
{
  • "venue": "BINANCE",
  • "nickname": "string",
  • "credentialType": "API_KEY",
  • "apiKey": "my_api_key",
  • "apiSecret": "my_api_secret",
  • "apiPassphrase": "my_api_passphrase"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Revoke trading account credential

Revoke credentials for a trading account.

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
credentialId
required
string <uuid> (uuidString)

UUID string

Responses

Request samples

Content type
application/json
{
  • "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Rotate trading account credential

Rotate credentials for a trading account, the credential will be rotated to the new api key, api secret and api passphrase, other fields are not editable.

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
credentialId
required
string <uuid> (uuidString)

UUID string

apiKey
required
string
apiSecret
string
apiPassphrase
string

Responses

Request samples

Content type
application/json
{
  • "credentialId": "f568fec0-10b6-4b94-9daf-e62c50c9bf3e",
  • "apiKey": "my_api_key",
  • "apiSecret": "my_api_secret",
  • "apiPassphrase": "my_api_passphrase"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Verify trading account credential

Verify credentials and list all supported trading accounts that the credential have permissions to access

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
credentialIds
required
Array of strings <uuid> (uuidString) [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "credentialIds": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ]
}

Trading Account Subscription

Trading Account Subscription Management

Subscribe to trading account updates

Subscribe to real-time trading account updates

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
tradingAccountId
required
string <uuid> (uuidString)

UUID string

Responses

Request samples

Content type
application/json
{
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Unsubscribe from trading account updates

Unsubscribe from real-time trading account updates

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
subscriptionId
string <uuid> (uuidString)

UUID string

tradingAccountId
string <uuid> (uuidString)

UUID string

instrumentId
string (instrumentId)

Instrument ID in format {VENUE}:{BASE}/{QUOTE}

Responses

Request samples

Content type
application/json
{
  • "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
  • "instrumentId": "BINANCE:BTC/USDT"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List trading account subscriptions

List active trading account subscriptions

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
tradingAccountId
string <uuid> (uuidString)

Trading account ID

limit
integer [ 1 .. 1000 ]
Default: 50
Example: limit=100

Limit the number of returned results

offset
integer >= 0
Default: 0
Example: offset=0

Offset of the returned results

cursor
string

Cursor for next page

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ]
}

Trading Account Portfolio

Trading Account Portfolio Management

List trading account portfolios

List portfolios across all trading accounts

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
tradingAccountId
string <uuid> (uuidString)

Trading account ID

venue
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"
Example: venue=BINANCE

Exchange type

currency
string
Example: currency=USDT

Currency

limit
integer [ 1 .. 1000 ]
Default: 50
Example: limit=100

Limit the number of returned results

offset
integer >= 0
Default: 0
Example: offset=0

Offset of the returned results

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Market

Market data and instruments

List market venues

List available market venues/exchanges

Authorizations:
SupabaseOAuth2BearerAuth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ]
}

Sync market instruments

Synchronize market instruments from exchanges

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
venue
required
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"

Trading venue identifier. UAT/sandbox environments are treated as separate venues. Note: _SANDBOX and _PAPER suffixes are deprecated. Use _UAT suffix for new integrations.

symbols
required
Array of strings

symbol list, example ["BTC/ETH","BTC/USDT"]

Responses

Request samples

Content type
application/json
{
  • "venue": "BINANCE",
  • "symbols": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Delete market instrument

Delete a market instrument

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
instrumentId
required
string (instrumentId)

Instrument ID in format {VENUE}:{BASE}/{QUOTE}

Responses

Request samples

Content type
application/json
{
  • "instrumentId": "BINANCE:BTC/USDT"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "data": "ok"
}

Enable market instrument

Enable a market instrument for trading

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
instrumentId
required
string (instrumentId)

Instrument ID in format {VENUE}:{BASE}/{QUOTE}

Responses

Request samples

Content type
application/json
{
  • "instrumentId": "BINANCE:BTC/USDT"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Disable market instrument

Disable a market instrument for trading

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
instrumentId
required
string (instrumentId)

Instrument ID in format {VENUE}:{BASE}/{QUOTE}

Responses

Request samples

Content type
application/json
{
  • "instrumentId": "BINANCE:BTC/USDT"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List market instruments

List available market instruments

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
venue
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"
Example: venue=BINANCE

Exchange type

symbols
Array of strings
Example: symbols=BTC/USDT

Instrument Symbols array

securityType
string (securityType)
Enum: "" "CASH" "STOCK" "CRYPTO" "CURRENCY" "COMMODITY" "INDEX" "BOND" "DERIVATIVE" "OPTION" "FUTURE" "FUTURES" "PERPETUAL" "FOREX"
Example: securityType=CRYPTO

Security type

instrumentStatus
string (instrumentStatus)
Enum: "ACTIVE" "INACTIVE" "DISABLED" "DELISTED"

Instrument status

limit
integer [ 1 .. 1000 ]
Default: 50
Example: limit=100

Limit the number of returned results

offset
integer >= 0
Default: 0
Example: offset=0

Offset of the returned results

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Sync market securities

Synchronize financial securities from exchanges

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
venue
required
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"

Trading venue identifier. UAT/sandbox environments are treated as separate venues. Note: _SANDBOX and _PAPER suffixes are deprecated. Use _UAT suffix for new integrations.

Responses

Request samples

Content type
application/json
{
  • "venue": "BINANCE"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "data": "ok"
}

Delete market security

Delete a financial security

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
securityId
required
string

Security ID in the format of venue:symbol

Responses

Request samples

Content type
application/json
{
  • "securityId": "BINANCE:BTC"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List market securities

List available financial securities

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
venue
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"
Example: venue=BINANCE

Exchange type

securityId
string (securityId)
Example: securityId=BINANCE:BTC

Security ID

limit
integer [ 1 .. 1000 ]
Default: 50
Example: limit=100

Limit the number of returned results

offset
integer >= 0
Default: 0
Example: offset=0

Offset of the returned results

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}

Get market order book

Get order book for a specific instrument. instrumentId or venue+symbol

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
instrumentId
string (instrumentId)
Example: instrumentId=BINANCE:BTC/USDT

Instrument ID

venue
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"
Example: venue=BINANCE

Exchange type

symbol
string
Example: symbol=BTC/USDT

Instrument Symbol

depth
integer [ 1 .. 1000 ]
Default: 10

Order book depth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List market order books

List order books for multiple instruments

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
instrumentIds
Array of strings
Example: instrumentIds=BINANCE:BTC/USDT
venue
string (venue)
Enum: "" "BINANCE" "B2C2" "WINTERMUTE" "BLOCKFILLS" "STONEX" "CUMBERLAND" "IBKR" "DERIBIT" "BITFINEX" "OKX" "BINANCE_UAT" "B2C2_UAT" "WINTERMUTE_UAT" "BLOCKFILLS_UAT" "STONEX_UAT" "CUMBERLAND_UAT" "IBKR_UAT" "DERIBIT_UAT" "BITFINEX_UAT" "OKX_UAT" "BINANCE_SANDBOX" "B2C2_SANDBOX" "IBKR_PAPER" "MOCK" "PAPER"
Example: venue=BINANCE

Exchange type

symbols
Array of strings
Example: symbols=BTC/USDT

Instrument Symbols array

depth
integer [ 1 .. 1000 ]
Default: 10

Order book depth

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ]
}

Market Subscription

Market data subscription management

Subscribe to order book updates

Subscribe to real-time order book updates

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
instrumentId
required
string (instrumentId)

Instrument ID in format {VENUE}:{BASE}/{QUOTE}

Responses

Request samples

Content type
application/json
{
  • "instrumentId": "BINANCE:BTC/USDT"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

Unsubscribe from order book updates

Unsubscribe from real-time order book updates

Authorizations:
SupabaseOAuth2BearerAuth
Request Body schema: application/json
subscriptionId
string <uuid> (uuidString)

UUID string

tradingAccountId
string <uuid> (uuidString)

UUID string

instrumentId
string (instrumentId)

Instrument ID in format {VENUE}:{BASE}/{QUOTE}

Responses

Request samples

Content type
application/json
{
  • "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
  • "tradingAccountId": "14f773c5-2079-41e0-90e4-340a7b4d3391",
  • "instrumentId": "BINANCE:BTC/USDT"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": {
    }
}

List order book subscriptions

List active order book subscriptions

Authorizations:
SupabaseOAuth2BearerAuth
query Parameters
instrumentId
string (instrumentId)
Example: instrumentId=BINANCE:BTC/USDT

Instrument ID

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "errno": 0,
  • "error": "string",
  • "details": {
    },
  • "data": [
    ]
}

WebSocket

WebSocket message specifications

WebSocket Connection

This endpoint documents the WebSocket API protocol, not a REST endpoint.

Connect to the Cadenza WebSocket API using the Centrifugo protocol. Use the WebSocket servers listed above (wss://cadenza-ws.algo724.com/connection/websocket for production or wss://cadenza-ws-uat.algo724.com/connection/websocket for UAT).

Connection Flow

  1. Establish WebSocket connection to the server URL
  2. Send connect command with authentication token
  3. Receive connect result with client ID and session info
  4. Subscribe to channels for real-time updates
  5. Receive push messages with data updates

Authentication

Include your JWT token in the connect command:

{
  "connect": {
    "token": "your-jwt-token",
    "name": "your-client-name"
  },
  "id": 1
}

Available Channels

Subscribe to channels for real-time updates:

Channel Pattern Description
tradingAccount:{accountId} Trading account updates (orders, portfolio, balances)
market:orderBook:{instrumentId} Order book updates for an instrument
market:trade:{instrumentId} Trade updates for an instrument

Message Format

All WebSocket messages follow the Centrifugo JSON protocol format. See the WebSocket schemas section for detailed message structures.

For complete protocol documentation, refer to:

Request Body schema: application/json

WebSocket command (sent after WebSocket connection is established)

id
required
integer

Unique command ID for request-response correlation

object (wsConnectRequest)

Connect request sent after WebSocket connection is established

object (wsSubscribeRequest)

Subscribe to a channel for real-time updates

object (wsUnsubscribeRequest)

Unsubscribe from a channel

object (wsPublishRequest)

Publish a message to a channel

object (wsPresenceRequest)

Request presence information for a channel

object (wsPresenceStatsRequest)

Request presence statistics for a channel

object (wsHistoryRequest)

Request publication history for a channel

ping
object (wsPingRequest)

Ping request to keep connection alive

object (wsSendRequest)

Send asynchronous message (no reply expected)

object (wsRPCRequest)

Remote procedure call request

object (wsRefreshRequest)

Refresh connection credentials

object (wsSubRefreshRequest)

Refresh subscription credentials

Responses

Request samples

Content type
application/json
Example
{
  • "id": 1,
  • "connect": {
    }
}

Response samples

Content type
application/json
Example
{
  • "id": 1,
  • "connect": {
    }
}