Skip to main content

APIs for functional areas

The following functions access the Marketcetera API across different functional areas.

Trade

Client FunctionPurpose
readAvailableFixInitiatorSessionsGet a list of available FIX sessions. These FIX sessions must be initiator sessions and must be currently at Available status.
getOpenOrdersGet a list of open orders. These orders are at a Cancelable status and are subject to user ownership.
sendOrder/sendOrdersSend an order (or list of orders)
sendOrderSuggestionSend an order suggestion which can later be converted to an order by user intervention
addReportAdd a new execution report. This is rarely done and typically only to address an unusual problem with a broker.
deleteReportDelete an existing execution report. This is rarely done and can affect position accuracy.
resolveSymbolResolves a symbol to an instrument. Trades and other behaviors are almost always done with an Instrument, which identifies the asset class. Users usually enter symbols, and this feature closes that gap.
findRootOrderIdForFinds the order ID that identifies the order chain for a given order
getLatestExecutionReportForOrderChainGet the latest Execution Report for a given order chain
getReportsGet a list of FIX message reports
getFillsGet a list of FIX messages that represent fills
getAveragePriceFillsGet a list of FIX-like messages that represent the average price for fills by instrument
addSuggestionListenerAdd an order suggestion listener
removeSuggestionListenerRemove an order suggestion listener
addTradeMessageListenerAdd a trade message listener to receive Execution Reports and Order Cancel Reject messages
removeTradeMessageListenerRemove a trade message listener

Market data

Client FunctionPurpose
requestInitiate a market data request
cancelCancel an existing market data request
getSnapshotGet the most recent snapshot of a given type of market data
addMarketDataStatusListenerAdd a listener to receive market data provider status changes
removeMarketDataStatusListenerRemove an existing market data status listener
getAvailableCapabilityGet the capabilities of all connected market data providers
getProvidersGet the list of all market data providers

Strategies

The Strategy API loads strategies and controls their lifecycle.

While most users control strategies through Photon and its strategy menus, you can use the existing Strategy RPC Client for headless control of strategies. You can also create a custom Strategy API implementation in another language for integration.

Client FunctionPurpose
getStrategyInstancesGet a list of all current strategies (subject to user ownership)
loadStrategyInstanceUpload a new strategy instance to the server
getStrategyMessagesRetrieve a page of strategy messages for a given strategy instance
findByNameFind the strategy instance with the given name
uploadFileUpload the implementation of a strategy instance to the server
emitMessageEmit a strategy message from a running strategy instance. This method is available to running strategy instances only.
deleteStrategyMessageDelete the strategy message with the given unique id
deleteAllStrategyMessagesDelete all strategy messages for the given strategy instance
startStrategyInstanceStart a loaded strategy
stopStrategyInstanceStop a running strategy
unloadStrategyInstanceStop a strategy and remove it from the server. It cannot be rerun after being unloaded without being loaded again.
addStrategyEventListenerAdd a listener to receive strategy events
removeStrategyEventListenerRemove a strategy event listener

To upload a strategy in Photon, refer to run strategies from Photon.

Admin APIs

Client FunctionPurpose
getPermissionsForCurrentUserReturns the permissions allocated to the user logged in to the client
getCurrentUserReturns information about the user logged in to the client
readUsersReturns a list of all users
createUserCreates a new user
updateUserUpdates information about an existing user
changeUserPasswordChanges the password of an existing user
deleteUserRemove a user from the system
deactivateUserRetain a user in the system but prevent the user from logging in
createPermissionCreate a new permission
readPermissionsRead all existing permissions
updatePermissionUpdate information about an existing permission
createRoleCreate a new role
readRolesReturns a list of all roles
deleteRoleRemove a role from the system
updateRoleUpdate information about an existing role
getUserAttributeRead a user attribute of a given type for a given user
setUserAttributeUpdate a user attribute of a given type for a given user