Collective2 General API (v4)

API to automate your trading

Download OpenAPI description
Languages
Servers
https://api4-general.collective2.com/

Schemas

AccessKeyDTO

idinteger(int64)
accessKeystring or null
personIdinteger(int64)
firstNamestring or null
lastNamestring or null
emailstring or null
whiteLabelSiteIdinteger or null(int64)
rolestring or null
messagestring or null
createDatestring or null(date-time)
deleteDatestring or null(date-time)
commentstring or null
{ "id": 0, "accessKey": "string", "personId": 0, "firstName": "string", "lastName": "string", "email": "string", "whiteLabelSiteId": 0, "role": "string", "message": "string", "createDate": "2019-08-24T14:15:22Z", "deleteDate": "2019-08-24T14:15:22Z", "comment": "string" }

AccountDTO

idinteger(int64)
personIdinteger or null(int64)
accountstring or null
brokerNamestring or null
brokerIdinteger(int32)
firstNamestring or null
lastNamestring or null
emailstring or null
languagestring or null
whiteLabelSiteIdinteger or null(int64)
geoSitestring or null
countryCodestring or null
divisionCodestring or null
authenticatedDatestring or null(date-time)
{ "id": 0, "personId": 0, "account": "string", "brokerName": "string", "brokerId": 0, "firstName": "string", "lastName": "string", "email": "string", "language": "string", "whiteLabelSiteId": 0, "geoSite": "string", "countryCode": "string", "divisionCode": "string", "authenticatedDate": "2019-08-24T14:15:22Z" }

AccountsResponse

resultsArray of objects or null(AccountDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "personId": 0, "account": "string", "brokerName": "string", "brokerId": 0, "firstName": "string", "lastName": "string", "email": "string", "language": "string", "whiteLabelSiteId": 0, "geoSite": "string", "countryCode": "string", "divisionCode": "string", "authenticatedDate": "2019-08-24T14:15:22Z" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

AddPersonResponseDTO

personIdinteger(int64)
csrfstring or null
{ "personId": 0, "csrf": "string" }

AddProfileResponse

resultsArray of objects or null(AddPersonResponseDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "personId": 0, "csrf": "string" } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

AddStrategy

AddStrategy

StrategyNamestring or nullrequired

The desired strategy name

StartingCapitalinteger or null(int64)

(Optional) The starting capital. Must be set when Account is not specified, ignored when Account is specified

{ "StrategyName": "string", "StartingCapital": 0 }

AddStrategyResponse

resultsArray of objects or null(StrategyIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "strategyId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

ApprovedAccount

personIdinteger or null(int64)
addedDatestring(date-time)
accountstring or null
brokerIdinteger(int64)
connectionTypeinteger(int32)
addedByPersonIdinteger or null(int64)
{ "personId": 0, "addedDate": "2019-08-24T14:15:22Z", "account": "string", "brokerId": 0, "connectionType": 0, "addedByPersonId": 0 }

AutotradeSettingsDTO

idinteger(int64)
personIdinteger(int64)
firstNamestring or null
lastNamestring or null
emailstring or null
countrystring or null
statestring or null
languagestring or null
siteDomainstring or null
brokerIdinteger(int32)
connectionstring or null
introducingBrokerIdinteger(int32)
introducingBrokerstring or null
strategyIdinteger(int64)
strategyNamestring or null
accountstring or null
accountTypeinteger(int32)
brokerUserIDstring or null
currencystring or null
salesRepIdinteger(int32)
salesRepstring or null
isTradeLeaderboolean
isManualDiscardedPositionboolean or null
isConfirmationNeededboolean
isSyncEnabledboolean
isBrokerEnabledboolean
isAutotradeDisabledboolean
isAutotradeDisabledReasonstring or null
syncDisabledReasonstring or null
firstBrokerActivationDatestring or null(date-time)
netLiquidationValuenumber or null(double)
netLiquidationValueDatestring or null(date-time)
virtualLimitOrdersEnabledboolean
scalingPercentagenumber(double)
settingsLastUpdateUTCstring(date-time)
enabledFuturesboolean
futuresLongboolean
futuresShortboolean
minFuturesinteger or null(int32)
maxFuturesinteger or null(int32)
enabledForexboolean
forexEnabledLongboolean
forexEnabledShortboolean
forexLotSizeinteger or null(int32)
minForexinteger or null(int32)
maxForexinteger or null(int32)
enabledStocksboolean
stocksLongboolean
stocksShortboolean
maxStocksDollarsinteger or null(int32)
tradeStocksAsCFDboolean
enabledOptionsboolean
optionsLongboolean
optionsShortboolean
minOptionsinteger or null(int32)
maxOptionsinteger or null(int32)
{ "id": 0, "personId": 0, "firstName": "string", "lastName": "string", "email": "string", "country": "string", "state": "string", "language": "string", "siteDomain": "string", "brokerId": 0, "connection": "string", "introducingBrokerId": 0, "introducingBroker": "string", "strategyId": 0, "strategyName": "string", "account": "string", "accountType": 0, "brokerUserID": "string", "currency": "string", "salesRepId": 0, "salesRep": "string", "isTradeLeader": true, "isManualDiscardedPosition": true, "isConfirmationNeeded": true, "isSyncEnabled": true, "isBrokerEnabled": true, "isAutotradeDisabled": true, "isAutotradeDisabledReason": "string", "syncDisabledReason": "string", "firstBrokerActivationDate": "2019-08-24T14:15:22Z", "netLiquidationValue": 0.1, "netLiquidationValueDate": "2019-08-24T14:15:22Z", "virtualLimitOrdersEnabled": true, "scalingPercentage": 0.1, "settingsLastUpdateUTC": "2019-08-24T14:15:22Z", "enabledFutures": true, "futuresLong": true, "futuresShort": true, "minFutures": 0, "maxFutures": 0, "enabledForex": true, "forexEnabledLong": true, "forexEnabledShort": true, "forexLotSize": 0, "minForex": 0, "maxForex": 0, "enabledStocks": true, "stocksLong": true, "stocksShort": true, "maxStocksDollars": 0, "tradeStocksAsCFD": true, "enabledOptions": true, "optionsLong": true, "optionsShort": true, "minOptions": 0, "maxOptions": 0 }

AutotradedStrategyDTO

idinteger(int64)
personIdinteger(int64)
accountstring or null
scalingPercentagenumber(double)
strategyIdinteger(int64)
strategyNamestring or null
brokerIdinteger or null(int32)
brokerNamestring or null
startDatestring or null(date-time)
lastModifiedstring or null(date-time)
{ "id": 0, "personId": 0, "account": "string", "scalingPercentage": 0.1, "strategyId": 0, "strategyName": "string", "brokerId": 0, "brokerName": "string", "startDate": "2019-08-24T14:15:22Z", "lastModified": "2019-08-24T14:15:22Z" }

BooleanResponseBase

resultsArray of booleans or null
responseStatusobject(ResponseStatus)
{ "results": [ true ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

BrokerDTO

idinteger(int64)
namestring or null
isEnabledboolean
connectionNamestring or null
{ "id": 0, "name": "string", "isEnabled": true, "connectionName": "string" }

C2SymbolDTO

fullSymbolstring or null
symbolTypestring or null
underlyingstring or null
expirystring or null
putOrCallstring or null
strikePricenumber or null(double)
descriptionstring or null
{ "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }

CancelAutotradeOrder

PerformanceBase

Accountstring or nullrequired

The Autotrade account

PersonIdinteger or null(int64)required

The C2 PersonID

OrderIdstring or nullrequired

The OrderID to be cancelled

{ "Account": "string", "PersonId": 0, "OrderId": "string" }

CancelAutotradeOrderResponse

resultsArray of objects or null(SignalIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "signalId": 0, "profitTargetSignalId": 0, "stopLossSignalId": 0, "exitSignalsOCAGroupId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

CancelSignalResponse

resultsArray of objects or null(SignalIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "signalId": 0, "profitTargetSignalId": 0, "stopLossSignalId": 0, "exitSignalsOCAGroupId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

CancelStrategyOrder

PerformanceBase

StrategyIdinteger or null(int64)required

The Strategy ID

SignalIdinteger or null(int64)required

The Signal ID to be cancelled

{ "StrategyId": 0, "SignalId": 0 }

DashBoardItemDTO

personIdinteger(int64)
brokerNamestring or null
accountstring or null
strategyIdinteger or null(int64)
strategyNamestring or null
startDatestring or null(date-time)
todayReturnnumber or null(double)
totalReturnnumber or null(double)
{ "personId": 0, "brokerName": "string", "account": "string", "strategyId": 0, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "todayReturn": 0.1, "totalReturn": 0.1 }

DesiredPositionResponseDTO

newSignalsArray of integers or null(int64)
canceledSignalsArray of integers or null(int64)
{ "newSignals": [ 0 ], "canceledSignals": [ 0 ] }

ExchangeSymbolDTO

symbolstring or null
currencystring or null
securityExchangestring or null
securityTypestring or null
maturityMonthYearstring or null
putOrCallinteger or null(int32)
strikePricenumber or null(double)
priceMultipliernumber(double)
{ "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 }

GetAccessKey

PerformanceBase

object(GetAccessKey)

PerformanceBase

{}

GetAccessKeyResponse

resultsArray of objects or null(AccessKeyDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "accessKey": "string", "personId": 0, "firstName": "string", "lastName": "string", "email": "string", "whiteLabelSiteId": 0, "role": "string", "message": "string", "createDate": "2019-08-24T14:15:22Z", "deleteDate": "2019-08-24T14:15:22Z", "comment": "string" } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetActiveOrdersResponse

resultsArray of objects or null(OrderStatusDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": {}, "exchangeSymbol": {}, "rejectMessage": "string", "brokerId": 0, "orderStatus": "string", "filledQuantity": 0.1, "avgFillPrice": 0.1, "postedDate": "2019-08-24T14:15:22Z", "signalType": 0, "info": "string" } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetAutoTradeOpenPositions

PerformanceBase

Accountstring or nullrequired

Brokerage Account filter

StrategyIdinteger or null(int64)

(Optional) StrategyId filter

{ "Account": "string", "StrategyId": 0 }

GetAutotradeActiveOrders

PerformanceBase

Accountstring or nullrequired

The Brokerage Account

PersonIdinteger or null(int64)required

The PersonId owning the account

StrategyIdinteger or null(int64)

(Optional) StrategyId filter

{ "Account": "string", "PersonId": 0, "StrategyId": 0 }

GetAutotradeHistoricalOrders

GetAutotradeHistoricalOrders

Accountstring or nullrequired

Brokerage Account filter

PersonIdinteger or null(int64)required

The PersonId owning the account

BrokerIdinteger or null(int32)

BrokerId (Optional)

StrategyIdinteger or null(int64)

StrategyId (Optional)

OrderStatusstring or null

'A' = PendingNew, '0' = Working, '1' = Partially filled, '2' = Filled, '4' = Canceled, '5' = Replaced, '6' = Pending Cancel, '8' = Rejected, 'C' = Expired, 'E' = Pending Replace (Optional)

Enum"A""0""1""2""4""5""6""8""C""E"
StartDatestring or null(date-time)

StartDate (Optional)

EndDatestring or null(date-time)

EndDate (Optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "Account": "string", "PersonId": 0, "BrokerId": 0, "StrategyId": 0, "OrderStatus": "A", "StartDate": "2019-08-24T14:15:22Z", "EndDate": "2019-08-24T14:15:22Z", "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetAutotradeHistoricalOrdersResponse

resultsArray of objects or null(OrderStatusDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": {}, "exchangeSymbol": {}, "rejectMessage": "string", "brokerId": 0, "orderStatus": "string", "filledQuantity": 0.1, "avgFillPrice": 0.1, "postedDate": "2019-08-24T14:15:22Z", "signalType": 0, "info": "string" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetAutotradeSettings

PerformanceBase

PersonIdinteger or null(int64)required

PersonId

Accountstring or null

(Optional) Account

{ "PersonId": 0, "Account": "string" }

GetAutotradeSettingsResponse

resultsArray of objects or null(AutotradeSettingsDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "personId": 0, "firstName": "string", "lastName": "string", "email": "string", "country": "string", "state": "string", "language": "string", "siteDomain": "string", "brokerId": 0, "connection": "string", "introducingBrokerId": 0, "introducingBroker": "string", "strategyId": 0, "strategyName": "string", "account": "string", "accountType": 0, "brokerUserID": "string", "currency": "string", "salesRepId": 0, "salesRep": "string", "isTradeLeader": true, "isManualDiscardedPosition": true, "isConfirmationNeeded": true, "isSyncEnabled": true, "isBrokerEnabled": true, "isAutotradeDisabled": true, "isAutotradeDisabledReason": "string", "syncDisabledReason": "string", "firstBrokerActivationDate": "2019-08-24T14:15:22Z", "netLiquidationValue": 0.1, "netLiquidationValueDate": "2019-08-24T14:15:22Z", "virtualLimitOrdersEnabled": true, "scalingPercentage": 0.1, "settingsLastUpdateUTC": "2019-08-24T14:15:22Z", "enabledFutures": true, "futuresLong": true, "futuresShort": true, "minFutures": 0, "maxFutures": 0, "enabledForex": true, "forexEnabledLong": true, "forexEnabledShort": true, "forexLotSize": 0, "minForex": 0, "maxForex": 0, "enabledStocks": true, "stocksLong": true, "stocksShort": true, "maxStocksDollars": 0, "tradeStocksAsCFD": true, "enabledOptions": true, "optionsLong": true, "optionsShort": true, "minOptions": 0, "maxOptions": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetAutotradedStrategies

GetAutotradedStrategies

PersonIdinteger or null(int64)required

PersonId

Accountstring or null

The Autotrade account (optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "PersonId": 0, "Account": "string", "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetAutotradedStrategiesResponse

resultsArray of objects or null(AutotradedStrategyDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "personId": 0, "account": "string", "scalingPercentage": 0.1, "strategyId": 0, "strategyName": "string", "brokerId": 0, "brokerName": "string", "startDate": "2019-08-24T14:15:22Z", "lastModified": "2019-08-24T14:15:22Z" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetAutotraders

GetAutotraders

StrategyIdinteger or null(int64)

(Optional) StrategyId filter

BrokerIdinteger or null(int32)

(optional) The Autotrade BrokerId

WhiteLabelSiteIdinteger or null(int64)

(optional) The White Label Site Id

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "StrategyId": 0, "BrokerId": 0, "WhiteLabelSiteId": 0, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetAutotradersResponse

resultsArray of objects or null(AutotradedStrategyDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "personId": 0, "account": "string", "scalingPercentage": 0.1, "strategyId": 0, "strategyName": "string", "brokerId": 0, "brokerName": "string", "startDate": "2019-08-24T14:15:22Z", "lastModified": "2019-08-24T14:15:22Z" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetBrokers

PerformanceBase

IncludeDisabledboolean or null

Include the disabled brokers. Default is FALSE. (optional)

{ "IncludeDisabled": true }

GetBrokersResponse

resultsArray of objects or null(BrokerDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "name": "string", "isEnabled": true, "connectionName": "string" } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetDashBoard

PerformanceBase

PersonIdinteger or null(int64)required

PersonId

Accountstring or nullrequired

The brokerage Account

{ "PersonId": 0, "Account": "string" }

GetDashBoardResponse

resultsArray of objects or null(DashBoardItemDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "personId": 0, "brokerName": "string", "account": "string", "strategyId": 0, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "todayReturn": 0.1, "totalReturn": 0.1 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetHistoricalOrdersResponse

resultsArray of objects or null(OrderStatusDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": {}, "exchangeSymbol": {}, "rejectMessage": "string", "brokerId": 0, "orderStatus": "string", "filledQuantity": 0.1, "avgFillPrice": 0.1, "postedDate": "2019-08-24T14:15:22Z", "signalType": 0, "info": "string" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetHistoricalStrategiesStatsList

PerformanceBase

ReportDateinteger or null(int64)required

The date to look for. The server will automatically adjust the date to the nearest previous available day. Format must be YYYYMMDD.

{ "ReportDate": 0 }

GetHistoricalStrategiesStatsListResponse

resultsArray of strings or null
responseStatusobject(ResponseStatus)
{ "results": [ "string" ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetInvestorPlanSubscriptions

GetInvestorPlanSubscriptions

PersonIdinteger or null(int64)required

The C2 PersonId

ActiveOnlyboolean

Set to FALSE to get all transactions (optional). Default is TRUE

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "PersonId": 0, "ActiveOnly": true, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetLeaderBoard

PerformanceBase

SecurityTypestring or null

(optional) SecurityType filter. e.g. Stocks = 'CS', Futures = 'FUT', Options = 'OPT', Forex = 'FOR'

Enum"CS""FUT""OPT""FOR"
{ "SecurityType": "CS" }

GetManagerPlanSubscriptions

GetManagerPlanSubscriptions

PersonIdinteger or null(int64)required

The C2 PersonId

ActiveOnlyboolean

Set to FALSE to get all transactions (optional). Default is TRUE

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "PersonId": 0, "ActiveOnly": true, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetOpenPositionsResponse

resultsArray of objects or null(PositionDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "quantity": 0.1, "c2Symbol": {}, "exchangeSymbol": {}, "strategyId": 0, "strategyName": "string", "currency": "string", "openedDate": "2019-08-24T14:15:22Z", "avgPx": 0.1 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetProfile

PerformanceBase

PersonIdinteger or null(int64)

The C2 PersonId. If omitted, the requester's information will be returned.

{ "PersonId": 0 }

GetSimResults

PerformanceBase

PersonIdinteger or null(int64)

PersonId (optional)

WhiteLabelSiteIdinteger or null(int64)

The WhiteLabel SiteId (optional)

ActiveOnlyboolean

Set to FALSE to get the full history of all Simulation results (optional). Default is TRUE

{ "PersonId": 0, "WhiteLabelSiteId": 0, "ActiveOnly": true }

GetSimResultsResponse

resultsArray of objects or null(SimResultDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "personId": 0, "firstName": "string", "lastName": "string", "email": "string", "account": "string", "strategyId": 0, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "startEquity": 0, "endEquity": 0, "totalReturn": 0.1, "totalDelta": 0.1, "scalingFactor": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetStrategyActiveOrders

PerformanceBase

StrategyIdsArray of integers(int64)required

A list of Strategy IDs

SecurityTypestring or null

(optional) SecurityType filter. e.g. Stocks = 'CS', Futures = 'FUT', Options = 'OPT', Forex = 'FOR'

Enum"CS""FUT""OPT""FOR"
{ "StrategyIds": [ 0 ], "SecurityType": "CS" }

GetStrategyDetails

PerformanceBase

StrategyIdinteger or null(int64)required

The Strategy ID

{ "StrategyId": 0 }

GetStrategyDetailsResponse

resultsArray of objects or null(StrategyDetailsDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "strategyId": 0, "strategyName": "string", "isAlive": true, "startDate": "2019-08-24T14:15:22Z", "primarySecurityTypes": "string", "securityTypesEnabled": {}, "monthlyCost": 0.1, "strategyOwnerId": 0, "strategyOwnerName": "string", "suggestedCapital": 0, "lastModified": "2019-08-24T14:15:22Z", "score": 0, "isTradeOwnSystem": true, "whiteLabelSiteId": 0, "isHidden": true, "hiddenReason": "string", "isPrivate": true, "aum": 0, "auM_NumberOfAccounts": 0, "return": 0.1, "equity": 0.1, "cash": 0.1, "startingCash": 0.1, "profitFactor": 0.1, "cashDividends": 0.1, "buyingPower": 0.1, "marginUsed": 0.1, "ageInDays": 0, "modelAccountValue": 0.1, "numTrades": 0, "winTrades": 0.1, "winMonths": 0.1, "maxDrawdown": 0.1, "avgWinDollars": 0.1, "avgLossDollars": 0.1, "correlationSP500": 0.1, "alpha": 0.1, "beta": 0.1, "treynor": 0.1, "avgLeverage": 0.1, "maxLeverage": 0.1 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetStrategyHistoricalEquity

PerformanceBase

StrategyIdinteger or null(int64)required

The Strategy ID to get data for

DoNotAggregateDailyEquityboolean or null

If TRUE, DailyEquity will not be aggregated by day

{ "StrategyId": 0, "DoNotAggregateDailyEquity": true }

GetStrategyHistoricalEquityResponse

resultsArray of objects or null(StrategyHistoricalEquityDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "strategyId": 0, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "securityTypesEnabled": {}, "monthlyCost": 0.1, "strategyOwnerId": 0, "dailyEquity": [], "monthlyResults": [] } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetStrategyHistoricalOrders

GetStrategyHistoricalOrders

StrategyIdinteger or null(int64)

StrategyId (optional: StrategyId or SignalId must be present)

SignalIdinteger or null(int64)

SignalId (optional: StrategyId or SignalId must be present)

OrderStatusstring or null

Optional. Available values: '2' = Filled, '4' = Canceled, 'C' = Expired

StartDatestring or null

UTC StartDate (Optional)

EndDatestring or null

UTC EndDate (Optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "StrategyId": 0, "SignalId": 0, "OrderStatus": "string", "StartDate": "string", "EndDate": "string", "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetStrategyOpenPositions

PerformanceBase

StrategyIdsArray of integers(int64)required

A list of Strategy IDs

SecurityTypestring or null

(optional) SecurityType filter. e.g. Stocks = 'CS', Futures = 'FUT', Options = 'OPT', Forex = 'FOR'

Enum"CS""FUT""OPT""FOR"
{ "StrategyIds": [ 0 ], "SecurityType": "CS" }

GetSubscribedStrategies

GetSubscribedStrategies

PersonIdinteger or null(int64)required

PersonId

ActiveOnlyboolean

Set to FALSE to get all transactions (optional). Default is TRUE

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "PersonId": 0, "ActiveOnly": true, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetSubscribedStrategiesResponse

resultsArray of objects or null(SubcribedStrategyDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "personId": 0, "strategyId": 0, "strategyName": "string", "isSimulation": true, "isPaperTrade": true, "isAlive": true, "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetSubscribers

GetSubscribers

StrategyIdinteger or null(int64)required

The C2 StrategyId

ActiveOnlyboolean or null

Set to True to include only currently active subscribers. Default is False

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "StrategyId": 0, "ActiveOnly": true, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetSubscribersResponse

resultsArray of objects or null(StrategySubscriberDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "strategyId": 0, "strategyName": "string", "personId": 0, "subscriptionId": 0, "subscriberId": 0, "isStrategyOwner": true, "alias": "string", "firstName": "string", "lastName": "string", "email": "string", "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "basePrice": 0.1, "markup": 0.1, "cost": 0.1, "lastTransactionDate": "2019-08-24T14:15:22Z", "lastTransactionAmount": 0.1, "isResale": 0.1, "whiteLabelSiteId": 0, "geoSiteId": "string" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetSubscriptionRevenue

GetSubscriptionRevenue

StrategyIdinteger or null(int64)

The C2 StrategyId (Optional)

StartDatestring or null

StartDate (Optional)

EndDatestring or null

EndDate (Optional)

StrategyOwnerPersonIdinteger or null(int64)

The Strategy Owner's PersonId (Optional)

SubscriberPersonIdinteger or null(int64)

The Subscriber's PersonId (Optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label Site Id (Optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "StrategyId": 0, "StartDate": "string", "EndDate": "string", "StrategyOwnerPersonId": 0, "SubscriberPersonId": 0, "WhiteLabelSiteId": 0, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetSubscriptionsResponse

resultsArray of objects or null(SubscriptionDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "personId": 0, "licenseType": "string", "licenseTypeId": 0, "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "isRecurring": true, "cost": 0.1 } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetWatchListMembers

GetWatchListMembers

PersonIdinteger or null(int64)required

The C2 PersonId

WatchListIdinteger or null(int64)required

The WatchList Id

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "PersonId": 0, "WatchListId": 0, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetWatchListMembersResponse

resultsArray of objects or null(WatchListMemberDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "addedDate": "2019-08-24T14:15:22Z", "strategyId": 0, "personId": 0 } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetWatchLists

GetWatchLists

PersonIdinteger or null(int64)required

The C2 PersonId

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "PersonId": 0, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

GetWatchListsResponse

resultsArray of objects or null(WatchListDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "personId": 0, "createdDate": "2019-08-24T14:15:22Z", "listName": "string" } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

Hello

Hello

Namestring or nullrequired

Your name (or any string)

{ "Name": "string" }

HelloResponse

resultsArray of strings or null
responseStatusobject(ResponseStatus)
{ "results": [ "string" ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

HistoricalStatDTO

HistoricalStatDTO

Idinteger(int64)

Report Id

StatNamestring or null

The Statistic Name

Operatorstring or null

The logical operation to perform. Must be one of: > >= = <> < <=

StatValuenumber or null(double)

The value

{ "Id": 0, "StatName": "string", "Operator": "string", "StatValue": 0.1 }

HistoricalStrategyResponseDTO

idinteger(int64)
strategyIdinteger or null(int64)
reportDateinteger or null(int64)
statisticsArray of objects or null(HistoricalStatDTO)
{ "id": 0, "strategyId": 0, "reportDate": 0, "statistics": [ { "Id": 0, "StatName": "string", "Operator": "string", "StatValue": 0.1 } ] }

ManageWatchList

ManageWatchList

PersonIdinteger or null(int64)required

The C2 PersonId

ModificationSourcestring or nullrequired

The Type of list to modify. Valid values are 'LIST' (for the whole watchlist), 'MEMBER' (for the list items)

Enum"LIST""MEMBER"
ModificationActionstring or nullrequired

The change to make. Valid values are: ADD, DELETE

Enum"ADD""DELETE"
WatchListIdinteger or null(int64)

The WatchList Id. Required except when ModificationAction=ADD and ModificationSource=LIST

StrategyIdinteger or null(int64)

The Strategy Id. Only required when ModificationSource=MEMBER

WatchListNamestring or null

The name of the watchlist. Only required when ModificationAction=ADD and ModificationSource=LIST

{ "PersonId": 0, "WatchListId": 0, "ModificationSource": "LIST", "ModificationAction": "ADD", "StrategyId": 0, "WatchListName": "string" }

NewAutotradeOrder

NewAutotradeOrder

Accountstring or nullrequired

The Autotrade account

PersonIdinteger or null(int64)required

The C2 PersonID

Orderobject(OrderDTO)required
idinteger(int64)
orderIdstring or null
strategyIdinteger or null(int64)
strategyNamestring or null
signalIdinteger or null(int64)
orderTypestring or null
Enum ValueDescription
1

Market

2

Limit

3

Stop

Example: "1"
sidestring or null
Enum ValueDescription
1

Buy

2

Sell

Example: "1"
openClosestring or null
Enum ValueDescription
O

Open

C

Close

Example: "O"
orderQuantitynumber or null(double)
limitnumber or null(double)
stopnumber or null(double)
tifstring or null
Enum ValueDescription
0

Day

1

GTC

Example: "0"
profitTargetnumber or null(double)
stopLossnumber or null(double)
doNotCreateOCAGroupboolean or null
Default null
cancelReplaceSignalIdinteger or null(int64)
parentSignalIdinteger or null(int64)
doNotSyncToOpenboolean or null
Default null
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
rejectMessagestring or null
{ "Account": "string", "PersonId": 0, "Order": { "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": { "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }, "exchangeSymbol": { "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 }, "rejectMessage": "string" } }

NewAutotradeOrderResponse

resultsArray of objects or null(SignalIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "signalId": 0, "profitTargetSignalId": 0, "stopLossSignalId": 0, "exitSignalsOCAGroupId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

NewSignalResponse

resultsArray of objects or null(SignalIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "signalId": 0, "profitTargetSignalId": 0, "stopLossSignalId": 0, "exitSignalsOCAGroupId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

NewStrategyOrder

NewStrategyOrder

Orderobject(OrderDTO)required
idinteger(int64)
orderIdstring or null
strategyIdinteger or null(int64)
strategyNamestring or null
signalIdinteger or null(int64)
orderTypestring or null
Enum ValueDescription
1

Market

2

Limit

3

Stop

Example: "1"
sidestring or null
Enum ValueDescription
1

Buy

2

Sell

Example: "1"
openClosestring or null
Enum ValueDescription
O

Open

C

Close

Example: "O"
orderQuantitynumber or null(double)
limitnumber or null(double)
stopnumber or null(double)
tifstring or null
Enum ValueDescription
0

Day

1

GTC

Example: "0"
profitTargetnumber or null(double)
stopLossnumber or null(double)
doNotCreateOCAGroupboolean or null
Default null
cancelReplaceSignalIdinteger or null(int64)
parentSignalIdinteger or null(int64)
doNotSyncToOpenboolean or null
Default null
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
rejectMessagestring or null
{ "Order": { "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": { "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }, "exchangeSymbol": { "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 }, "rejectMessage": "string" } }

OrderDTO

idinteger(int64)
orderIdstring or null
strategyIdinteger or null(int64)
strategyNamestring or null
signalIdinteger or null(int64)
orderTypestring or null
Enum ValueDescription
1

Market

2

Limit

3

Stop

Example: "1"
sidestring or null
Enum ValueDescription
1

Buy

2

Sell

Example: "1"
openClosestring or null
Enum ValueDescription
O

Open

C

Close

Example: "O"
orderQuantitynumber or null(double)
limitnumber or null(double)
stopnumber or null(double)
tifstring or null
Enum ValueDescription
0

Day

1

GTC

Example: "0"
profitTargetnumber or null(double)
stopLossnumber or null(double)
doNotCreateOCAGroupboolean or null
Default null
cancelReplaceSignalIdinteger or null(int64)
parentSignalIdinteger or null(int64)
doNotSyncToOpenboolean or null
Default null
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
rejectMessagestring or null
{ "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": { "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }, "exchangeSymbol": { "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 }, "rejectMessage": "string" }

OrderStatusDTO

idinteger(int64)
orderIdstring or null
strategyIdinteger or null(int64)
strategyNamestring or null
signalIdinteger or null(int64)
orderTypestring or null
Enum ValueDescription
1

Market

2

Limit

3

Stop

Example: "1"
sidestring or null
Enum ValueDescription
1

Buy

2

Sell

Example: "1"
openClosestring or null
Enum ValueDescription
O

Open

C

Close

Example: "O"
orderQuantitynumber or null(double)
limitnumber or null(double)
stopnumber or null(double)
tifstring or null
Enum ValueDescription
0

Day

1

GTC

Example: "0"
profitTargetnumber or null(double)
stopLossnumber or null(double)
doNotCreateOCAGroupboolean or null
Default null
cancelReplaceSignalIdinteger or null(int64)
parentSignalIdinteger or null(int64)
doNotSyncToOpenboolean or null
Default null
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
rejectMessagestring or null
brokerIdinteger or null(int64)
orderStatusstring or null
filledQuantitynumber or null(double)
avgFillPricenumber or null(double)
postedDatestring or null(date-time)
signalTypeinteger(int32)
infostring or null
{ "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": { "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }, "exchangeSymbol": { "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 }, "rejectMessage": "string", "brokerId": 0, "orderStatus": "string", "filledQuantity": 0.1, "avgFillPrice": 0.1, "postedDate": "2019-08-24T14:15:22Z", "signalType": 0, "info": "string" }

PaginationProperties

prev_cursorstring or null
next_cursorstring or null
{ "prev_cursor": "string", "next_cursor": "string" }

PerformanceBase

PerformanceBase

object(PerformanceBase)

PerformanceBase

{}

PersonDTO

idinteger(int64)
aliasstring or null
firstNamestring or null
lastNamestring or null
emailstring or null
phonestring or null
isPhoneVerifiedboolean
languagestring or null
whiteLabelSiteIdinteger or null(int64)
countryCodestring or null
divisionCodestring or null
createdstring(date-time)
lastLoggedInstring(date-time)
lastIPstring or null
isEmailValidatedboolean
isAliveboolean
approvedAccountsArray of objects or null(ApprovedAccount)
isManagerboolean
isInvestorboolean
geoSitestring or null
isGeoSiteAdminboolean or null
{ "id": 0, "alias": "string", "firstName": "string", "lastName": "string", "email": "string", "phone": "string", "isPhoneVerified": true, "language": "string", "whiteLabelSiteId": 0, "countryCode": "string", "divisionCode": "string", "created": "2019-08-24T14:15:22Z", "lastLoggedIn": "2019-08-24T14:15:22Z", "lastIP": "string", "isEmailValidated": true, "isAlive": true, "approvedAccounts": [ { "personId": 0, "addedDate": "2019-08-24T14:15:22Z", "account": "string", "brokerId": 0, "connectionType": 0, "addedByPersonId": 0 } ], "isManager": true, "isInvestor": true, "geoSite": "string", "isGeoSiteAdmin": true }

PositionBase

quantitynumber or null(double)
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
{ "quantity": 0.1, "c2Symbol": { "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }, "exchangeSymbol": { "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 } }

PositionDTO

quantitynumber or null(double)
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
strategyIdinteger or null(int64)
strategyNamestring or null
currencystring or null
openedDatestring or null(date-time)
avgPxnumber or null(double)
{ "quantity": 0.1, "c2Symbol": { "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }, "exchangeSymbol": { "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 }, "strategyId": 0, "strategyName": "string", "currency": "string", "openedDate": "2019-08-24T14:15:22Z", "avgPx": 0.1 }

ProfileResponse

resultsArray of objects or null(PersonDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "alias": "string", "firstName": "string", "lastName": "string", "email": "string", "phone": "string", "isPhoneVerified": true, "language": "string", "whiteLabelSiteId": 0, "countryCode": "string", "divisionCode": "string", "created": "2019-08-24T14:15:22Z", "lastLoggedIn": "2019-08-24T14:15:22Z", "lastIP": "string", "isEmailValidated": true, "isAlive": true, "approvedAccounts": [], "isManager": true, "isInvestor": true, "geoSite": "string", "isGeoSiteAdmin": true } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

ReplaceAutotradeOrder

ReplaceAutotradeOrder

Accountstring or nullrequired

The Autotrade account

PersonIdinteger or null(int64)required

The C2 PersonID

OrderIdstring or nullrequired

The OrderID to be replaced

Pricenumber or null(double)required

The new Order price

{ "Account": "string", "PersonId": 0, "OrderId": "string", "Price": 0.1 }

ReplaceAutotradeOrderResponse

resultsArray of objects or null(SignalIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "signalId": 0, "profitTargetSignalId": 0, "stopLossSignalId": 0, "exitSignalsOCAGroupId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

ReplaceSignalResponse

resultsArray of objects or null(SignalIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "signalId": 0, "profitTargetSignalId": 0, "stopLossSignalId": 0, "exitSignalsOCAGroupId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

ReplaceStrategyOrder

ReplaceStrategyOrder

Orderobject(OrderDTO)required
idinteger(int64)
orderIdstring or null
strategyIdinteger or null(int64)
strategyNamestring or null
signalIdinteger or null(int64)
orderTypestring or null
Enum ValueDescription
1

Market

2

Limit

3

Stop

Example: "1"
sidestring or null
Enum ValueDescription
1

Buy

2

Sell

Example: "1"
openClosestring or null
Enum ValueDescription
O

Open

C

Close

Example: "O"
orderQuantitynumber or null(double)
limitnumber or null(double)
stopnumber or null(double)
tifstring or null
Enum ValueDescription
0

Day

1

GTC

Example: "0"
profitTargetnumber or null(double)
stopLossnumber or null(double)
doNotCreateOCAGroupboolean or null
Default null
cancelReplaceSignalIdinteger or null(int64)
parentSignalIdinteger or null(int64)
doNotSyncToOpenboolean or null
Default null
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
rejectMessagestring or null
{ "Order": { "id": 0, "orderId": "string", "strategyId": 0, "strategyName": "string", "signalId": 0, "orderType": "1", "side": "1", "openClose": "O", "orderQuantity": 0.1, "limit": 0.1, "stop": 0.1, "tif": "0", "profitTarget": 0.1, "stopLoss": 0.1, "doNotCreateOCAGroup": null, "cancelReplaceSignalId": 0, "parentSignalId": 0, "doNotSyncToOpen": null, "c2Symbol": { "fullSymbol": "string", "symbolType": "string", "underlying": "string", "expiry": "string", "putOrCall": "string", "strikePrice": 0.1, "description": "string" }, "exchangeSymbol": { "symbol": "string", "currency": "string", "securityExchange": "string", "securityType": "string", "maturityMonthYear": "string", "putOrCall": 0, "strikePrice": 0.1, "priceMultiplier": 0.1 }, "rejectMessage": "string" } }

ResponseError

errorCodestring or null
fieldNamestring or null
messagestring or null
{ "errorCode": "string", "fieldName": "string", "message": "string" }

ResponseStatus

errorCodestring or null
messagestring or null
errorsArray of objects or null(ResponseError)
{ "errorCode": "string", "message": "string", "errors": [ { "errorCode": "string", "fieldName": "string", "message": "string" } ] }

SearchAccounts

SearchAccounts

Accountstring or null

The Autotrade account (optional)

PersonIdinteger or null(int64)

PersonId (optional)

BrokerIdinteger or null(int32)

The Autotrade BrokerId (optional)

FirstNamestring or null

The FirstName (optional). Not case-sensitive

LastNamestring or null

The FirstName (optional). Not case-sensitive

Emailstring or null

The Email (optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

CountryCodestring or null

The person's country code. Not case-sensitive (optional)

IPAddressstring or null

The person's last known IP address (optional)

Phonestring or null

The Phone number (optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "Account": "string", "PersonId": 0, "BrokerId": 0, "FirstName": "string", "LastName": "string", "Email": "string", "WhiteLabelSiteId": 0, "CountryCode": "string", "IPAddress": "string", "Phone": "string", "Cursor": "string", "Limit": 0, "AscendingOrder": true }

SearchHistoricalStrategies

SearchHistoricalStrategies

ReportDateinteger or null(int64)required

The date to look for. The server will automatically adjust the date to the nearest previous available day. Format must be YYYYMMDD.

RequirementsArray of objects or null(HistoricalStatDTO)

(optional) Add a maximum of 6 statistics requirements here. Use the GetHistoricalStrategiesStatsList endpoint for a list of available statistics for the specified date

{ "ReportDate": 0, "Requirements": [ { "Id": 0, "StatName": "string", "Operator": "string", "StatValue": 0.1 } ] }

SearchHistoricalStrategiesResponse

resultsArray of objects or null(HistoricalStrategyResponseDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "strategyId": 0, "reportDate": 0, "statistics": [] } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

SearchProfiles

SearchProfiles

PersonIdinteger or null(int64)

The C2 PersonId (optional)

FirstNamestring or null

The FirstName. Not case-sensitive (optional)

LastNamestring or null

The FirstName. Not case-sensitive (optional)

Emailstring or null

The Email. Not case-sensitive (optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

CountryCodestring or null

The person's country code. Not case-sensitive. (optional) See https://en.wikipedia.org/wiki/ISO_3166-2

DivisionCodestring or null

The person's subdivision (e.g. provinces or states). Not case-sensitive. (optional) See https://en.wikipedia.org/wiki/ISO_3166-2

IPAddressstring or null

The person's last known IP address (optional)

Phonestring or null

The verified Phone number (optional)

IsAliveboolean or null

The Person's Status (optional)

IsEmailValidatedboolean or null

The Person's email validation status (optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "PersonId": 0, "FirstName": "string", "LastName": "string", "Email": "string", "WhiteLabelSiteId": 0, "CountryCode": "string", "DivisionCode": "string", "IPAddress": "string", "Phone": "string", "IsAlive": true, "IsEmailValidated": true, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

SearchStrategies

SearchStrategies

SecurityTypestring or null

(optional) SecurityType filter. e.g. Stocks = 'CS', Futures = 'FUT', Options = 'OPT', Forex = 'FOR'

Enum"CS""FUT""OPT""FOR"
CreatedBeforeDatestring or null

(optional) Filter used to search old stategies. The date must be in ISO 8601 Date Format.

StrategyNamestring or null

Search strategies on name (optional). Partial matches will be returned. Wildcards % and _ are supported

StrategyOwnerPersonIdinteger or null(int64)

The C2 PersonId (optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

Result size limit. We will enforce a max size limit for all endpoints. Default is 1000

AscendingOrderboolean

Set to FALSE if you want to get the newest results first. Default is TRUE (oldest results first)

{ "SecurityType": "CS", "CreatedBeforeDate": "string", "StrategyName": "string", "StrategyOwnerPersonId": 0, "WhiteLabelSiteId": 0, "Cursor": "string", "Limit": 0, "AscendingOrder": true }

SearchStrategiesResponse

resultsArray of objects or null(StrategyBasicDetailsDTO)
paginationobject(PaginationProperties)
responseStatusobject(ResponseStatus)
{ "results": [ { "id": 0, "strategyId": 0, "isAlive": true, "isHidden": true, "hiddenReason": "string", "isPrivate": true, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "securityTypesEnabled": {}, "monthlyCost": 0.1, "strategyOwnerId": 0, "whiteLabelSiteId": 0 } ], "pagination": { "prev_cursor": "string", "next_cursor": "string" }, "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

SetDesiredPositions

SetDesiredPositions

StrategyIdinteger or null(int64)required

The C2 StrategyId

PositionsArray of objects or null(PositionBase)required

The list of positions that must exist in the strategy

quantitynumber or null(double)
c2Symbolobject(C2SymbolDTO)
exchangeSymbolobject(ExchangeSymbolDTO)
{ "StrategyId": 0, "Positions": [ { "quantity": 0.1, "c2Symbol": {}, "exchangeSymbol": {} } ] }

SetDesiredPositionsResponse

resultsArray of objects or null(DesiredPositionResponseDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "newSignals": [], "canceledSignals": [] } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

SignalIdDTO

signalIdinteger(int64)
profitTargetSignalIdinteger or null(int64)
stopLossSignalIdinteger or null(int64)
exitSignalsOCAGroupIdinteger or null(int64)
{ "signalId": 0, "profitTargetSignalId": 0, "stopLossSignalId": 0, "exitSignalsOCAGroupId": 0 }

SimResultDTO

personIdinteger(int64)
firstNamestring or null
lastNamestring or null
emailstring or null
accountstring or null
strategyIdinteger(int64)
strategyNamestring or null
startDatestring(date-time)
endDatestring or null(date-time)
startEquityinteger(int64)
endEquityinteger or null(int64)
totalReturnnumber(double)
totalDeltanumber(double)
scalingFactorinteger(int64)
{ "personId": 0, "firstName": "string", "lastName": "string", "email": "string", "account": "string", "strategyId": 0, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "startEquity": 0, "endEquity": 0, "totalReturn": 0.1, "totalDelta": 0.1, "scalingFactor": 0 }

StartAutotrade

StartAutotrade

Accountstring or nullrequired

The Autotrade account

PersonIdinteger or null(int64)required

The C2 PersonID

BrokerIdinteger or null(int32)required

The BrokerId

StrategyIdinteger or null(int64)required

The StrategyId

ScalingPercentageinteger(int64)required

The Autotrade Scaling factor. e.g. Enter 105 for 105%

FuturesEnabledboolean

(optional) TRUE to enable the Futures asset class when autotrading this strategy. Default is FALSE

MaxFuturesinteger or null(int32)

(optional) Set a maximum number of contracts to hold in a position for this strategy

ForexEnabledboolean

(optional) TRUE to enable autotrading Forex for this strategy. Default is FALSE

MaxForexinteger or null(int32)

(optional) Set a maximum number of units (each unit on C2 is 10000 currency units) to hold in a position for this strategy

StocksEnabledboolean

(optional) TRUE to enable autotrading Stocks for this strategy. Default is FALSE

MaxStocksDollarsinteger or null(int32)

(optional) Set a maximum number of dollars to hold in a position for this strategy (no decimals)

OptionsEnabledboolean

(optional) TRUE to enable autotrading Options for this strategy. Default is FALSE

ShortOptionsEnabledboolean

(optional) TRUE to enable the shorting of Options when autotrading this strategy. Default is FALSE

MaxOptionsinteger or null(int32)

(optional) Set a maximum number of contracts to hold in a position for this strategy

DoNotJoinCurrentSystemPositionsboolean or null

(optional) TRUE to prevent joining currently open positions in the strategy. Only applies to new Autotrade setups: this setting must not be set when modifing an existing Autotrade setup.

AutoStopLossinteger or null(int64)

(optional) Dollar value of the automated stop loss which will rest in addition to the strategy stop loss orders

AccountUserNamestring or null

(optional) The Brokerage account username. Only needed for specific Brokers, please enquire with support at help@collective2.com

AccountPasswordstring or null

(optional) The Brokerage account password. Only needed for specific Brokers, please enquire with support at help@collective2.com

{ "Account": "string", "PersonId": 0, "BrokerId": 0, "StrategyId": 0, "ScalingPercentage": 0, "FuturesEnabled": true, "MaxFutures": 0, "ForexEnabled": true, "MaxForex": 0, "StocksEnabled": true, "MaxStocksDollars": 0, "OptionsEnabled": true, "ShortOptionsEnabled": true, "MaxOptions": 0, "DoNotJoinCurrentSystemPositions": true, "AutoStopLoss": 0, "AccountUserName": "string", "AccountPassword": "string" }

StopAutotrade

PerformanceBase

Accountstring or nullrequired

The Autotrade account

PersonIdinteger or null(int64)required

The C2 PersonID

StrategyIdinteger or null(int64)required

The StrategyId

BrokerIdinteger or null(int32)

The BrokerId

LeavePositionsOpenboolean

TRUE to leave positions open in the autotraded account. Default is FALSE

TerminateStrategySubscriptionboolean

TRUE to stop the Strategy subscription. Default is FALSE

{ "Account": "string", "PersonId": 0, "BrokerId": 0, "StrategyId": 0, "LeavePositionsOpen": true, "TerminateStrategySubscription": true }

StrategyBasicDetailsDTO

idinteger(int64)
strategyIdinteger(int64)
isAliveboolean
isHiddenboolean or null
hiddenReasonstring or null
isPrivateboolean or null
strategyNamestring or null
startDatestring or null(date-time)
securityTypesEnabledobject or null
monthlyCostnumber or null(double)
strategyOwnerIdinteger or null(int64)
whiteLabelSiteIdinteger or null(int64)
{ "id": 0, "strategyId": 0, "isAlive": true, "isHidden": true, "hiddenReason": "string", "isPrivate": true, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "securityTypesEnabled": { "property1": true, "property2": true }, "monthlyCost": 0.1, "strategyOwnerId": 0, "whiteLabelSiteId": 0 }

StrategyDailyEquityDTO

datestring(date-time)
equitynumber(double)
indexnumber(double)
{ "date": "2019-08-24T14:15:22Z", "equity": 0.1, "index": 0.1 }

StrategyDetailsDTO

strategyIdinteger(int64)
strategyNamestring or null
isAliveboolean
startDatestring or null(date-time)
primarySecurityTypesstring or null
securityTypesEnabledobject or null
monthlyCostnumber or null(double)
strategyOwnerIdinteger or null(int64)
strategyOwnerNamestring or null
suggestedCapitalinteger or null(int32)
lastModifiedstring or null(date-time)
scoreinteger or null(int32)
isTradeOwnSystemboolean or null
whiteLabelSiteIdinteger or null(int64)
isHiddenboolean or null
hiddenReasonstring or null
isPrivateboolean or null
auminteger or null(int32)
auM_NumberOfAccountsinteger or null(int32)
returnnumber or null(double)
equitynumber or null(double)
cashnumber or null(double)
startingCashnumber or null(double)
profitFactornumber or null(double)
cashDividendsnumber or null(double)
buyingPowernumber or null(double)
marginUsednumber or null(double)
ageInDaysinteger or null(int32)
modelAccountValuenumber or null(double)
numTradesinteger or null(int32)
winTradesnumber or null(double)
winMonthsnumber or null(double)
maxDrawdownnumber or null(double)
avgWinDollarsnumber or null(double)
avgLossDollarsnumber or null(double)
correlationSP500number or null(double)
alphanumber or null(double)
betanumber or null(double)
treynornumber or null(double)
avgLeveragenumber or null(double)
maxLeveragenumber or null(double)
{ "strategyId": 0, "strategyName": "string", "isAlive": true, "startDate": "2019-08-24T14:15:22Z", "primarySecurityTypes": "string", "securityTypesEnabled": { "property1": true, "property2": true }, "monthlyCost": 0.1, "strategyOwnerId": 0, "strategyOwnerName": "string", "suggestedCapital": 0, "lastModified": "2019-08-24T14:15:22Z", "score": 0, "isTradeOwnSystem": true, "whiteLabelSiteId": 0, "isHidden": true, "hiddenReason": "string", "isPrivate": true, "aum": 0, "auM_NumberOfAccounts": 0, "return": 0.1, "equity": 0.1, "cash": 0.1, "startingCash": 0.1, "profitFactor": 0.1, "cashDividends": 0.1, "buyingPower": 0.1, "marginUsed": 0.1, "ageInDays": 0, "modelAccountValue": 0.1, "numTrades": 0, "winTrades": 0.1, "winMonths": 0.1, "maxDrawdown": 0.1, "avgWinDollars": 0.1, "avgLossDollars": 0.1, "correlationSP500": 0.1, "alpha": 0.1, "beta": 0.1, "treynor": 0.1, "avgLeverage": 0.1, "maxLeverage": 0.1 }

StrategyHistoricalEquityDTO

strategyIdinteger(int64)
strategyNamestring or null
startDatestring or null(date-time)
securityTypesEnabledobject or null
monthlyCostnumber or null(double)
strategyOwnerIdinteger or null(int64)
dailyEquityArray of objects or null(StrategyDailyEquityDTO)
monthlyResultsArray of objects or null(StrategyMonthlyResultsDTO)
{ "strategyId": 0, "strategyName": "string", "startDate": "2019-08-24T14:15:22Z", "securityTypesEnabled": { "property1": true, "property2": true }, "monthlyCost": 0.1, "strategyOwnerId": 0, "dailyEquity": [ { "date": "2019-08-24T14:15:22Z", "equity": 0.1, "index": 0.1 } ], "monthlyResults": [ { "month": 0, "monthName": "string", "yearZeroName": 0, "yearOneName": 0, "yearTwoName": 0, "yearThreeName": 0, "yearFourName": 0, "yearZeroReturn": 0.1, "yearOneReturn": 0.1, "yearTwoReturn": 0.1, "yearThreeReturn": 0.1, "yearFourReturn": 0.1 } ] }

StrategyIdDTO

strategyIdinteger(int64)
{ "strategyId": 0 }

StrategyMonthlyResultsDTO

monthinteger(int32)
monthNamestring or null
yearZeroNameinteger(int32)
yearOneNameinteger(int32)
yearTwoNameinteger(int32)
yearThreeNameinteger(int32)
yearFourNameinteger(int32)
yearZeroReturnnumber(double)
yearOneReturnnumber(double)
yearTwoReturnnumber(double)
yearThreeReturnnumber(double)
yearFourReturnnumber(double)
{ "month": 0, "monthName": "string", "yearZeroName": 0, "yearOneName": 0, "yearTwoName": 0, "yearThreeName": 0, "yearFourName": 0, "yearZeroReturn": 0.1, "yearOneReturn": 0.1, "yearTwoReturn": 0.1, "yearThreeReturn": 0.1, "yearFourReturn": 0.1 }

StrategySubscriberDTO

idinteger(int64)
strategyIdinteger(int64)
strategyNamestring or null
personIdinteger(int64)
subscriptionIdinteger(int64)
subscriberIdinteger(int64)
isStrategyOwnerboolean
aliasstring or null
firstNamestring or null
lastNamestring or null
emailstring or null
startDatestring(date-time)
endDatestring or null(date-time)
basePricenumber or null(double)
markupnumber or null(double)
costnumber or null(double)
lastTransactionDatestring or null(date-time)
lastTransactionAmountnumber or null(double)
isResalenumber or null(double)
whiteLabelSiteIdinteger or null(int64)
geoSiteIdstring or null
{ "id": 0, "strategyId": 0, "strategyName": "string", "personId": 0, "subscriptionId": 0, "subscriberId": 0, "isStrategyOwner": true, "alias": "string", "firstName": "string", "lastName": "string", "email": "string", "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "basePrice": 0.1, "markup": 0.1, "cost": 0.1, "lastTransactionDate": "2019-08-24T14:15:22Z", "lastTransactionAmount": 0.1, "isResale": 0.1, "whiteLabelSiteId": 0, "geoSiteId": "string" }

SubcribedStrategyDTO

idinteger(int64)
personIdinteger(int64)
strategyIdinteger(int64)
strategyNamestring or null
isSimulationboolean
isPaperTradeboolean
isAliveboolean
startDatestring or null(date-time)
endDatestring or null(date-time)
{ "id": 0, "personId": 0, "strategyId": 0, "strategyName": "string", "isSimulation": true, "isPaperTrade": true, "isAlive": true, "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z" }

SubscriptionDTO

idinteger(int64)
personIdinteger(int64)
licenseTypestring or null
licenseTypeIdinteger(int64)
startDatestring or null(date-time)
endDatestring or null(date-time)
isRecurringboolean
costnumber(double)
{ "id": 0, "personId": 0, "licenseType": "string", "licenseTypeId": 0, "startDate": "2019-08-24T14:15:22Z", "endDate": "2019-08-24T14:15:22Z", "isRecurring": true, "cost": 0.1 }

UpdateProfile

UpdateProfile

PersonIdinteger or null(int64)required

The C2 PersonId

{ "PersonId": 0 }

UpdateStrategy

UpdateStrategy

StrategyIdinteger or null(int64)required

The C2 StrategyId

{ "StrategyId": 0 }

UpdateStrategyResponse

resultsArray of objects or null(StrategyIdDTO)
responseStatusobject(ResponseStatus)
{ "results": [ { "strategyId": 0 } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

WatchListDTO

idinteger(int64)
personIdinteger(int64)
createdDatestring(date-time)
listNamestring or null
{ "id": 0, "personId": 0, "createdDate": "2019-08-24T14:15:22Z", "listName": "string" }

WatchListMemberDTO

idinteger(int64)
addedDatestring(date-time)
strategyIdinteger(int64)
personIdinteger(int64)
{ "id": 0, "addedDate": "2019-08-24T14:15:22Z", "strategyId": 0, "personId": 0 }

Autotrade

Operations

Hello

Request

Test endpoint that can be used to test your API Key, RateLimits, Headers, etc

Bodyapplication/json
Namestring or nullrequired

Your name (or any string)

curl -i -X POST \
  https://api4-general.collective2.com/General/Hello \
  -H 'Authorization: Bearer <YOUR_Bearer myAPIkey_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Name": "string"
  }'

Responses

OK

Bodyapplication/json
resultsArray of strings or null
responseStatusobject(ResponseStatus)
Response
application/json
{ "results": [ "string" ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

General

Operations

Strategies

Operations