Skip to content

Collective2 GeoSite API (v4)

📖 For full documentation, see the Collective2 API Documentation.

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

APIGateway

Schemas

Schemas

GetAutotradedStrategies

Request

Request the Autotraded strategies of the person. Paginated endpoint.

Query
PersonIdinteger or null(int64)required

PersonId

Accountstring

The Autotrade account (optional)

curl -i -X GET \
  'https://api4-geo.collective2.com/Autotrade/GetAutotradedStrategies?PersonId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AutotradedStrategyDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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

Request

A list of Autotraders. Paginated endpoint.

Query
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

curl -i -X GET \
  https://api4-geo.collective2.com/Autotrade/GetAutotraders

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AutotradedStrategyDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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": [ {} ] } }

GetAutotradeSettings

Request

The Autotrade Settings. Non-paginated endpoint.

Query
PersonIdinteger or null(int64)required

PersonId

Accountstring

(Optional) Account

curl -i -X GET \
  'https://api4-geo.collective2.com/Autotrade/GetAutotradeSettings?PersonId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AutotradeSettingsDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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, "IgnoreManualOrders": true, "IsConfirmationNeeded": true, "IsSyncEnabled": true, "WillSyncToOpenStocksUSA": true, "WillSyncToOpenStocksEurope": true, "WillSyncToOpenOptionsUSA": true, "WillSyncToOpenOptionsEurope": true, "WillSyncToOpenFuturesUSA": true, "WillSyncToOpenFuturesEurope": true, "WillSyncToOpenFuturesAsia": true, "WillSyncToOpenForex": true, "LastSyncStocksUSA": "2019-08-24T14:15:22Z", "LastSyncStocksEurope": "2019-08-24T14:15:22Z", "LastSyncOptionsUSA": "2019-08-24T14:15:22Z", "LastSyncOptionsEurope": "2019-08-24T14:15:22Z", "LastSyncFuturesUSA": "2019-08-24T14:15:22Z", "LastSyncFuturesEurope": "2019-08-24T14:15:22Z", "LastSyncFuturesAsia": "2019-08-24T14:15:22Z", "LastSyncForex": "2019-08-24T14:15:22Z", "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", "Approved": true, "ClosingOrdersOnly": true, "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": [ {} ] } }

SetAutotradeSettings

Request

Enable or disable Autotrade or Autosync in the specified account.

Bodyapplication/jsonrequired
Accountstring or null

The Autotrade account

PersonIdinteger or null(int64)

The C2 PersonID

BrokerIdinteger or null(int32)

The C2 PersonID

IsAutotradeEnabledboolean or null

Set to TRUE if you want to enable the account for Autotrade. The StartAutotrade endpoint will automatically enable this setting. It may be disabled if your account is delinked by the broker, or if we detect rare unexpected activity in your account such as a margin call, pattern day trader, account becomes restricted by the broker, etc.

IsAutoSyncEnabledboolean or null

Set to TRUE if you want to enable or disable AutoSync for the account. AutoSync automatically gets disabled whenever an external (i.e. non-C2) order is executed in the account.

curl -i -X PUT \
  https://api4-geo.collective2.com/Autotrade/SetAutotradeSettings \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of booleans or null

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ true ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetDashBoard

Request

Request the Person's Autotraded strategies and a performance summary. Non-paginated endpoint.

Query
PersonIdinteger or null(int64)required

PersonId

Accountstringrequired

The brokerage Account

curl -i -X GET \
  'https://api4-geo.collective2.com/Autotrade/GetDashBoard?PersonId=0&Account=string'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(DashBoardItemDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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": [ {} ] } }

GetSimResults

Request

Return SIM trading results for all subscribers who are using “free sims.”. Non-Paginated endpoint.

Query
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

MaxAccountDaysinteger or null(int32)

The maximum account number of days to include (optional). Maximum default value is 365 days

MinLoginDaysinteger or null(int32)

The minimum number of days since the user logged in (optional)

curl -i -X GET \
  https://api4-geo.collective2.com/Autotrade/GetSimResults

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(SimResultDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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": [ {} ] } }

SearchAccounts

Request

Request a list of Autotrade and Papertrade accounts. Partial matches will be returned. Paginated endpoint. Only visible to the account owner or White-label site owner

Query
Accountstring

The Autotrade account (optional)

PersonIdinteger or null(int64)

PersonId (optional)

BrokerIdinteger or null(int32)

The Autotrade BrokerId (optional)

FirstNamestring

The FirstName (optional). Not case-sensitive

LastNamestring

The FirstName (optional). Not case-sensitive

Emailstring

The Email (optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

CountryCodestring

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

IPAddressstring

The person's last known IP address (optional)

Phonestring

The Phone number (optional)

curl -i -X GET \
  https://api4-geo.collective2.com/Autotrade/SearchAccounts

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AccountDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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": [ {} ] } }

GetAutotradeActiveOrders

Request

Request the Working orders of the Account. Non-paginated endpoint.

Query
Accountstringrequired

The Brokerage Account

PersonIdinteger or null(int64)required

The PersonId owning the account

StrategyIdinteger or null(int64)

(Optional) StrategyId filter

curl -i -X GET \
  'https://api4-geo.collective2.com/Autotrade/GetAutotradeActiveOrders?Account=string&PersonId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(OrderStatusDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "OrderId": "string", "StrategyId": 0, "StrategyName": "string", "SignalId": 0, "AvgPx": 0.1, "OrderType": "1", "Side": "1", "OpenClose": "O", "OrderQuantity": 0.1, "Limit": 0.1, "Stop": 0.1, "TIF": "0", "ProfitTarget": 0.1, "StopLoss": 0.1, "DoNotCreateOCAGroup": true, "CancelReplaceSignalId": 0, "ParentSignalId": 0, "ParkedUntilDate": "2019-08-24T14:15:22Z", "DoNotSyncToOpen": true, "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": [ {} ] } }

GetAutotradeHistoricalOrders

Request

Request the historical orders of the Account. Paginated endpoint.

Query
Accountstringrequired

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

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

StartDatestring or null(date-time)

StartDate (Optional)

EndDatestring or null(date-time)

EndDate (Optional)

curl -i -X GET \
  'https://api4-geo.collective2.com/Autotrade/GetAutotradeHistoricalOrders?Account=string&PersonId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(OrderStatusDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "OrderId": "string", "StrategyId": 0, "StrategyName": "string", "SignalId": 0, "AvgPx": 0.1, "OrderType": "1", "Side": "1", "OpenClose": "O", "OrderQuantity": 0.1, "Limit": 0.1, "Stop": 0.1, "TIF": "0", "ProfitTarget": 0.1, "StopLoss": 0.1, "DoNotCreateOCAGroup": true, "CancelReplaceSignalId": 0, "ParentSignalId": 0, "ParkedUntilDate": "2019-08-24T14:15:22Z", "DoNotSyncToOpen": true, "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": [ {} ] } }

GetAutoTradeOpenPositions

Request

Request the open positions of the Account. Non-paginated endpoint.

Query
Accountstringrequired

Brokerage Account filter

StrategyIdinteger or null(int64)

(Optional) StrategyId filter

curl -i -X GET \
  'https://api4-geo.collective2.com/Autotrade/GetAutoTradeOpenPositions?Account=string'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(PositionDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "StrategyId": 0, "Quantity": 0.1, "AvgPx": 0.1, "C2Symbol": {}, "ExchangeSymbol": {}, "StrategyName": "string", "Currency": "string", "OpenedDate": "2019-08-24T14:15:22Z" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

NewAutotradeOrder

Request

Send a new closing order to the specified account. Only Stop and Limit OrderTypes are supported. Non-paginated endpoint.

Bodyapplication/jsonrequired
Accountstring or null

The Autotrade account

PersonIdinteger or null(int64)

The C2 PersonID

Orderobject(OrderDTO)
curl -i -X POST \
  https://api4-geo.collective2.com/Autotrade/NewAutotradeOrder \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(SignalIdDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "SignalId": 0, "ProfitTargetSignalId": 0, "StopLossSignalId": 0, "ExitSignalsOCAGroupId": 0, "ParkedUntilDate": "2019-08-24T14:15:22Z" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

CancelAutotradeOrder

Request

Cancel an order in the specified account. Auto Stop-Loss orders are not currently supported. Non-paginated endpoint.

Query
Accountstringrequired

The Autotrade account

PersonIdinteger or null(int64)required

The C2 PersonID

OrderIdstringrequired

The OrderID to be cancelled

curl -i -X DELETE \
  'https://api4-geo.collective2.com/Autotrade/CancelAutotradeOrder?Account=string&PersonId=0&OrderId=string'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(SignalIdDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "SignalId": 0, "ProfitTargetSignalId": 0, "StopLossSignalId": 0, "ExitSignalsOCAGroupId": 0, "ParkedUntilDate": "2019-08-24T14:15:22Z" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

ReplaceAutotradeOrder

Request

Cancel/Replace an open closing order in the specified account. Only strategy and manual exit orders are currently supported.

Bodyapplication/jsonrequired
Accountstring or null

The Autotrade account

PersonIdinteger or null(int64)

The C2 PersonID

OrderIdstring or null

The OrderID to be replaced

Pricenumber or null(double)

The new Order price

curl -i -X PUT \
  https://api4-geo.collective2.com/Autotrade/ReplaceAutotradeOrder \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(SignalIdDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "SignalId": 0, "ProfitTargetSignalId": 0, "StopLossSignalId": 0, "ExitSignalsOCAGroupId": 0, "ParkedUntilDate": "2019-08-24T14:15:22Z" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetBrokers

Request

Get a list of Autotrade brokers. Non-Paginated endpoint.

Query
IncludeDisabledboolean or null

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

curl -i -X GET \
  https://api4-geo.collective2.com/Autotrade/GetBrokers

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(BrokerDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "Name": "string", "IsEnabled": true, "ConnectionName": "string" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

SearchAutotradedAccounts

Request

A list of Autotraded accounts. You must provide at least one parameter. Paginated endpoint.

Query
StrategyIdinteger or null(int64)

(Optional) StrategyId filter

BrokerIdinteger or null(int32)

(Optional) The Autotrade BrokerId

AutoSyncEnabledboolean or null

(Optional) AutoSync status filter

AutoTradeEnabledboolean or null

(Optional) TRUE if the account has Autotrading enabled (i.e. it usually gets disabled on external orders)

AutoTradingNowboolean or null

(Optional) TRUE if the account is currently Autotrading

StartDatestring or null(date-time)

(Optional) StartDate

EndDatestring or null(date-time)

(Optional) EndDate

curl -i -X GET \
  https://api4-geo.collective2.com/Autotrade/SearchAutotradedAccounts

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AutotradedAccountDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "PersonId": 0, "Account": "string", "BrokerId": 0, "FirstName": "string", "LastName": "string", "Email": "string", "StrategyId": 0, "StrategyName": "string", "IsSyncEnabled": true, "IsAutotrading": true, "IsAutotradeDisabled": true, "IsAutotradeDisabledReason": "string", "SyncDisabledReason": "string", "SettingsLastUpdateUTC": "2019-08-24T14:15:22Z" } ], "Pagination": { "prev_cursor": "string", "next_cursor": "string" }, "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetAutotradeStats

Request

Request the historical Autotraded accounts statistics. Non-paginated endpoint.

Query
WhiteLabelSiteIdinteger or null(int64)

The WhiteLabelSiteId (optional)

GeoSitestring

The GeoSite (optional)

BrokerIdinteger or null(int32)

The BrokerId (optional)

SecurityTypestring

SecurityType filter. e.g. 'CS', 'FUT', 'OPT', 'FOR' (optional)

Disabledboolean or null

Autotrade is disabled filter (optional)

AutoSyncboolean or null

AutoSync filter (optional)

ManualConfirmationboolean or null

ManualConfirmation filter (optional)

BrokerEnabledboolean or null

BrokerEnabled filter (optional)

StartDatestring

StartDate (optional)

EndDatestring

EndDate (optional)

curl -i -X GET \
  https://api4-geo.collective2.com/Autotrade/GetAutotradeStats

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AutotradeStatsDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "DateUtc": "2019-08-24T14:15:22Z", "Account": "string", "PersonId": 0, "BrokerId": 0, "IB": 0, "SalesRep": 0, "WhiteLabelSiteId": 0, "GeoSiteId": "string", "NetLiquidationValue": 0.1, "LastBrokerNetLiquidationUpdateUtc": "2019-08-24T14:15:22Z", "FirstBrokerActivationDateUTC": "2019-08-24T14:15:22Z", "AutotradedStocksStrategies": 0, "AutotradedFuturesStrategies": 0, "AutotradedOptionsStrategies": 0, "AutotradedForexStrategies": 0, "AutotradedCryptoStrategies": 0, "UniqueAutotradedStrategies": 0, "BrokertransmitStocksStrategies": 0, "BrokertransmitFuturesStrategies": 0, "BrokertransmitOptionsStrategies": 0, "BrokertransmitForexStrategies": 0, "BrokertransmitCryptoStrategies": 0, "UniqueBrokertransmitStrategies": 0, "PlatformtransmitStocksStrategies": 0, "PlatformtransmitFuturesStrategies": 0, "PlatformtransmitOptionsStrategies": 0, "PlatformtransmitForexStrategies": 0, "PlatformtransmitCryptoStrategies": 0, "UniquePlatformtransmitStrategies": 0, "IsSyncEnabled": true, "IsManualConfirmationEnabled": true, "IsDisabled": true, "Currency": "string", "Email": "string", "FirstName": "string", "LastName": "string", "IsBrokerEnabled": true } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetPendingAccounts

Request

Get the live accounts pending Autotrade approval. Non-paginated endpoint.

Query
WhiteLabelSiteIdinteger or null(int64)

The WhiteLabelSiteId (optional)

GeoSitestring

The GeoSite (optional)

BrokerIdinteger or null(int32)

The BrokerId (optional)

SecurityTypestring

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

curl -i -X GET \
  https://api4-geo.collective2.com/Autotrade/GetPendingAccounts

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(PendingAccountDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "PersonId": 0, "FirstName": "string", "LastName": "string", "Email": "string", "Country": "string", "State": "string", "Language": "string", "SiteDomain": "string", "BrokerId": 0, "Connection": "string", "IntroducingBroker": "string", "IntroducingBrokerId": 0, "StrategyName": "string", "Account": "string", "SalesRepId": 0, "SalesRep": "string", "IsTradeLeader": true, "FirstBrokerActivationDate": "2019-08-24T14:15:22Z", "NetLiquidationValue": 0.1, "NetLiquidationValueDate": "2019-08-24T14:15:22Z", "EnabledFutures": true, "EnabledForex": true, "EnabledStocks": true, "EnabledOptions": true, "WhiteLabelSiteId": 0, "GeoSiteId": "string", "UtcDate": "2019-08-24T14:15:22Z" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

ApprovedAutotradeAccount

Request

Add or Delete the approved Autotrade brokerage account. Use POST to add, and DELETE to delete. Non-paginated endpoint.

Bodyapplication/jsonrequired
Accountstring or null

The verified Account

PersonIdinteger or null(int64)

The C2 PersonId (optional: only required with POST)

BrokerIdinteger or null(int32)

The Broker Id (optional: only required with POST)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

GeoSitestring or null

The GeoSite Id (optional)

IsCFDboolean or null

Is the account allowed to Autotrade CFDs (optional)

curl -i -X POST \
  https://api4-geo.collective2.com/Autotrade/ApprovedAutotradeAccount \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(ApprovedAccountDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "Account": "string", "PersonId": 0, "BrokerId": 0, "WhiteLabelSiteId": 0, "GeoSite": "string", "IsCFD": true, "IsDeleted": true } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

ApprovedAutotradeAccount

Request

Add or Delete the approved Autotrade brokerage account. Use POST to add, and DELETE to delete. Non-paginated endpoint.

Query
Accountstringrequired

The verified Account

PersonIdinteger or null(int64)

The C2 PersonId (optional: only required with POST)

BrokerIdinteger or null(int32)

The Broker Id (optional: only required with POST)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

GeoSitestring

The GeoSite Id (optional)

IsCFDboolean or null

Is the account allowed to Autotrade CFDs (optional)

curl -i -X DELETE \
  'https://api4-geo.collective2.com/Autotrade/ApprovedAutotradeAccount?Account=string'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(ApprovedAccountDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "Account": "string", "PersonId": 0, "BrokerId": 0, "WhiteLabelSiteId": 0, "GeoSite": "string", "IsCFD": true, "IsDeleted": true } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

ApprovedBrokerTransmitAccount

Request

Add or Delete the approved BrokerTransmit account. Use POST to add, and DELETE to delete. Non-paginated endpoint.

Query
Accountstringrequired

The verified Account

PersonIdinteger or null(int64)

The C2 PersonId (optional: only required with POST)

BrokerIdinteger or null(int32)

The Broker Id (optional: only required with POST)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

GeoSitestring

The GeoSite Id (optional)

IsCFDboolean or null

Is the account allowed to BrokerTransmit CFDs (optional)

curl -i -X DELETE \
  'https://api4-geo.collective2.com/Autotrade/ApprovedBrokerTransmitAccount?Account=string'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(ApprovedAccountDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "Account": "string", "PersonId": 0, "BrokerId": 0, "WhiteLabelSiteId": 0, "GeoSite": "string", "IsCFD": true, "IsDeleted": true } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

ApprovedBrokerTransmitAccount

Request

Add or Delete the approved BrokerTransmit account. Use POST to add, and DELETE to delete. Non-paginated endpoint.

Bodyapplication/jsonrequired
Accountstring or null

The verified Account

PersonIdinteger or null(int64)

The C2 PersonId (optional: only required with POST)

BrokerIdinteger or null(int32)

The Broker Id (optional: only required with POST)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

GeoSitestring or null

The GeoSite Id (optional)

IsCFDboolean or null

Is the account allowed to BrokerTransmit CFDs (optional)

curl -i -X POST \
  https://api4-geo.collective2.com/Autotrade/ApprovedBrokerTransmitAccount \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(ApprovedAccountDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "Account": "string", "PersonId": 0, "BrokerId": 0, "WhiteLabelSiteId": 0, "GeoSite": "string", "IsCFD": true, "IsDeleted": true } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

StartAutotrade

Request

Start or modify an Autotrade setup. Non-paginated endpoint.

Bodyapplication/jsonrequired
Accountstring or null

The Autotrade account

PersonIdinteger or null(int64)

The C2 PersonID

BrokerIdinteger or null(int32)

The BrokerId

StrategyIdinteger or null(int64)

The StrategyId

ScalingPercentageinteger(int64)

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

Default 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

Default false
MaxForexinteger or null(int32)

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

StocksEnabledboolean

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

Default 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

Default false
ShortOptionsEnabledboolean

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

Default 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

curl -i -X POST \
  https://api4-geo.collective2.com/Autotrade/StartAutotrade \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
boolean
Response
application/json
true

StopAutotrade

Request

Stop a autotrade setup. Non-paginated endpoint.

Query
Accountstringrequired

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

curl -i -X DELETE \
  'https://api4-geo.collective2.com/Autotrade/StopAutotrade?Account=string&PersonId=0&StrategyId=0'

Responses

OK

Bodyapplication/json
boolean
Response
application/json
true

ResetPaperTrade

Request

Reset the specified PaperTrade account.

Bodyapplication/jsonrequired
Accountstring or null

The Autotrade account

PersonIdinteger or null(int64)

The C2 PersonID

curl -i -X PUT \
  https://api4-geo.collective2.com/Autotrade/ResetPaperTrade \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of booleans or null

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ true ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

Hello

Request

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

Bodyapplication/jsonrequired
Namestring or null

Your name (or any string)

curl -i -X POST \
  https://api4-geo.collective2.com/General/Hello \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of strings or null

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ "string" ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetAccessKey

Request

Get the requester's APIKey Role and expiration

curl -i -X GET \
  https://api4-geo.collective2.com/General/GetAccessKey

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AccessKeyDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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": [ {} ] } }

AddProfile

Request

Create a new C2 profile. Non-paginated endpoint.

Bodyapplication/jsonrequired
FirstNamestring or null

The person's first name

LastNamestring or null

The person's last name

ScreenNamestring or null

The person's desired screen name

Emailstring or null

The person's email. This will be the username when logging in to C2

Passwordstring or null

The desired password to login to C2

Languagestring or null

The person's preferred language. See https://en.wikipedia.org/wiki/ISO_639-3

CountryCodestring or null

The person's country code. See https://en.wikipedia.org/wiki/ISO_3166-2

DivisionCodestring or null

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

Citystring or null

The person's city (optional)

Streetstring or null

The person's street (optional)

Street2string or null

The person's street (optional)

ZipCodestring or null

The person's zip code (optional)

Phonestring or null

The person's phone (optional)

Companystring or null

The person's company (optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

GeoSitestring or null

The GeoSite Id (optional)

IPAddressstring or null

The end-user's IP address (mandatory only when WhiteLabelSiteId is used, otherwise ignored)

curl -i -X POST \
  https://api4-geo.collective2.com/General/AddProfile \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AddPersonResponseDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "PersonId": 0, "CSRF": "string" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

UpdateProfile

Request

Update an existing C2 profile. Not available. Please contact us if you need this endpoint.

Bodyapplication/jsonrequired
PersonIdinteger or null(int64)

The C2 PersonId

curl -i -X PUT \
  https://api4-geo.collective2.com/General/UpdateProfile \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(AddPersonResponseDTO)

Result array

ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "PersonId": 0, "CSRF": "string" } ], "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetProfile

Request

Request details of a Person. Public profiles are visible to all. Private profile information will only be visible to the account owner. Non-paginated endpoint.

Query
PersonIdinteger or null(int64)

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

IncludeIconInResponseboolean or null

(Optional) Set to TRUE to include the profile icon in the response.

curl -i -X GET \
  https://api4-geo.collective2.com/General/GetProfile

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(PersonDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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, "SupportCompanyName": "string", "SupportSiteURL": "string", "SupportEmail": "string", "Icon": "string" } ], "Pagination": { "prev_cursor": "string", "next_cursor": "string" }, "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

SearchProfiles

Request

Search profiles using any field combination. Partial matches will be returned. Paginated endpoint. Only Admins, Geo and White-Label Admins can access this endpoint. If you're a GeoSite admin, you will see all your GeoSite members including your WhiteLabel members. If you're a WhiteLabel admin, you will see your WhiteLabel members, but not other GeoSite members. If you're neither, you will get a 403 error.

Query
PersonIdinteger or null(int64)

The C2 PersonId (optional)

FirstNamestring

The FirstName. Not case-sensitive (optional)

LastNamestring

The FirstName. Not case-sensitive (optional)

Emailstring

The Email. Not case-sensitive (optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

CountryCodestring

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

DivisionCodestring

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

IPAddressstring

The person's last known IP address (optional)

Phonestring

The verified Phone number (optional)

IsAliveboolean or null

The Person's Status (optional)

IncludeIconInResponseboolean or null

(Optional) Set to TRUE to include the profile icon in the response.

IsEmailValidatedboolean or null

The Person's email validation status (optional)

curl -i -X GET \
  https://api4-geo.collective2.com/General/SearchProfiles

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(PersonDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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, "SupportCompanyName": "string", "SupportSiteURL": "string", "SupportEmail": "string", "Icon": "string" } ], "Pagination": { "prev_cursor": "string", "next_cursor": "string" }, "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetInvestorPlanSubscriptions

Request

Request details of a Person's strategy subscriptions. Paginated endpoint

Query
PersonIdinteger or null(int64)required

The C2 PersonId

ActiveOnlyboolean

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

curl -i -X GET \
  'https://api4-geo.collective2.com/General/GetInvestorPlanSubscriptions?PersonId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(SubscriptionDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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": [ {} ] } }

GetManagerPlanSubscriptions

Request

Request details of a Person's strategy manager subscriptions. Paginated endpoint

Query
PersonIdinteger or null(int64)required

The C2 PersonId

ActiveOnlyboolean

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

curl -i -X GET \
  'https://api4-geo.collective2.com/General/GetManagerPlanSubscriptions?PersonId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(SubscriptionDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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": [ {} ] } }

GetSubscribedStrategies

Request

Request the subscribed strategies of the person. Paginated endpoint.

Query
PersonIdinteger or null(int64)required

PersonId

ActiveOnlyboolean

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

curl -i -X GET \
  'https://api4-geo.collective2.com/General/GetSubscribedStrategies?PersonId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(SubcribedStrategyDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "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", "MonthlyCost": 0.1 } ], "Pagination": { "prev_cursor": "string", "next_cursor": "string" }, "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetWhiteLabelSiteUsers

Request

Get all members of a WL site. Only admins and WhiteLabel admins can access this endpoint. Paginated endpoint.

Query
WhiteLabelSiteIdinteger or null(int64)required

The White Label site Id

curl -i -X GET \
  'https://api4-geo.collective2.com/General/GetWhiteLabelSiteUsers?WhiteLabelSiteId=0'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(WhiteLabelSiteMember)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "Alias": "string", "FirstName": "string", "LastName": "string", "Email": "string", "Phone": "string", "Language": "string", "IsWhiteLabelSiteAdmin": true, "WhiteLabelSiteId": 0, "WhiteLabelPermissions": "string", "CountryCode": "string", "DivisionCode": "string", "Created": "2019-08-24T14:15:22Z", "LastLoggedIn": "2019-08-24T14:15:22Z", "LastIP": "string", "IsEmailValidated": true, "IsAlive": true, "IsManager": true, "IsInvestor": true, "GeoSite": "string", "IsGeoSiteAdmin": true } ], "Pagination": { "prev_cursor": "string", "next_cursor": "string" }, "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }

GetGeoSiteUsers

Request

Get all members of a GeoSite. Only admins and GeoSite admins can access this endpoint. Paginated endpoint.

Query
GeoSitestringrequired

The GeoSite ID

curl -i -X GET \
  'https://api4-geo.collective2.com/General/GetGeoSiteUsers?GeoSite=string'

Responses

OK

Bodyapplication/json
ResultsArray of objects or null(GeoSiteMemberDTO)

Result array

Paginationobject(PaginationProperties)
ResponseStatusobject(ResponseStatus)
Response
application/json
{ "Results": [ { "Id": 0, "Alias": "string", "FirstName": "string", "LastName": "string", "Email": "string", "Phone": "string", "Language": "string", "IsWhiteLabelSiteAdmin": true, "WhiteLabelSiteId": 0, "WhiteLabelPermissions": "string", "CountryCode": "string", "DivisionCode": "string", "Created": "2019-08-24T14:15:22Z", "LastLoggedIn": "2019-08-24T14:15:22Z", "LastIP": "string", "IsEmailValidated": true, "IsAlive": true, "GeoSite": "string", "IsGeoSiteAdmin": true, "IsManager": true, "IsInvestor": true } ], "Pagination": { "prev_cursor": "string", "next_cursor": "string" }, "ResponseStatus": { "ErrorCode": "string", "Message": "string", "Errors": [ {} ] } }