Welcome to Collective2

Follow these tips for a better experience

Ok, let's start

Close
Add to Watch List Create new Watch List
Add
Enter a name for your Watch List.
Watch List name must be less than 60 characters.
You have reached the maximum number of custom Watch Lists.
You have reached the maximum number of strategies in this Watch List.
Strategy added to Watch List. Go to Watch List

Sim is unavailable for this strategy, because you've recently "Simmed" it.

You already have a live, full-featured subscription to this strategy.

Okay, no problem

Reach out to us when you are ready. You can schedule your free training session at any time by clicking the button.

Remember, this training is free, low pressure, and (we hope!) fun.

Got it

Later

You can find it here.

Got it

Video Saved for Later

You can watch this video later. Just click this button at the top of the screen whenever you're ready to watch it.

Got it
version 3

Collective2 API Documentation

Introduction

Collective2 exposes several APIs to programmers. Our goal is to allow you to customize and run many aspects of C2 functionality via your own software.

Which context: "World" or "Private Platform?"

There are two ways to use the APIs described here. We call these "contexts."

In "World Context" you will access the API as a single user, with rights to control only your own account.

Example You run a trading strategy on Collective2. Using your single-user access rights (the standard "World Context"), you can use the API to submit new trading signals to your system.

Example You use the API to subscribe yourself to a strategy. Then you use the API to request real-time buy/sell signal information for that strategy.

The "Private Platform Context" allows you to access other users' accounts. Essentially, the Private Platform allows you to run your own private instance of Collective2.

Example You can use the API to create, delete, and modify user accounts; create new trading strategies (and assign them to users of your Private Platform); manage billing for your users; turn on / stop / and modify AutoTrading for your users.

We provide documentation here for the Private Platform context of API usage, but in order to use the Private Platform, you'll need a special API key designed for Private Platform developers. Please contact our Help Desk and let us know that you'd like more information on creating a Private Platform and accessing it via the API.

Acquiring an API Key

Whether you want to use the API in World Context or Private Platform Context, you'll need an API key.

You can acquire a world-access API key instantly, for free, by following the instructions below. (If you'd like a Private Platform-enabled API key, you'll need to contact our Help Desk.)

To acquire an API Key, go to your Account Management screen:

How to get an API Key

And select the API Key tab.

How to get an API Key

Then request your key.

How to get an API Key

Using the API

Communication to and from C2 uses well-formed JSON. HTTPS must be used. You can use either GET or POST.

The endpoint format to use depends on whether you are using World or Private Platform context.

WORLD https://api.collective2.com/world/apiv3/COMMAND

PRIVATE https://api.collective2.com/platform/apiv3/PLATFORMID/COMMAND

Platform ID is only used in the Private Platform context. Your Platform ID will be assigned to you when you acquire your API Key. (Remember: To enable Private Platform API use, you need to contact us.) Regular "World" customers will not need a Private Platform ID, nor do they need to contact us before beginning to use the API.

In the API Reference below, you'll see the following notation. Here's what it means:

Understanding this API reference

Rate Limits

Please try to be a good API citizen. Don't bang relentlessly on our servers. Don't slurp gigabytes of data. Don't poll the same information again and again.

We track all API usage. We're still in the process of developing a formal rate-limit policy, but a good rule of thumb is to pause a second between requests.

We reserve the right to suspend, throttle, or terminate API access if usage impacts other customers.

Acceptable Use

We want to encourage software development on the C2 Platform, not restrict it. But we also need to maintain the C2 core business.

A good rule of thumb is: If you're doing something with our API that will make it hard for us to pay our personal mortgages, we probably look unfavorably upon it. If in doubt, please contact us. We'll try to figure something out so that we can work together.

How to get support

Try the C2 Software Development Forum first. At a minimum, the answer to your question might already be there. If not, posting publicly allows other developers to benefit from your heartache. Finally: remember not to post your API key in a public message.

Alternately, contact our Help Desk. You can save a lot of time if you try to be very specific about the problem you face. If appropriate, include detailed logs of exactly what you send, and how the API responds, and why the behavior you see is not what you expect.

Using curl to test

When developing or testing new API functionality, it is often convenient to be able to POST JSON requests directly to C2's servers from a command line (linux, mac, windows). You can use the command-line program curl to do this. Here is an example of how I post the data above using curl:

Using curl

In the example above, I am telling curl to send the data (everything following the -d) using application/JSON encoding. This document isn't meant to serve as a tutorial for curl, but there are a lot of good ones online. Here is one that I found helpful.

API Reference

Strategy Access API

getSystemRoster

World

Parameters

Required
Type
Min
Max
filter
string
active [default], recently_active

Example request

POST https://api.collective2.com/world/apiv3/getSystemRoster
{
   
   "apikey" : "aPkNwYEInOfbN1BfNb"
   "filter" : "active"
}

Example response

{
    "ok": "1",
    "response": [
        {
            "system_id": "98728140",
            "ownerpersonid": "55716615",
            "trades_stocks": "1",
            "trades_stocks_short": "0",
            "trades_options_short": "0",
            "minimum_portfolio_size_required": "25000",
            "freeTrialPeriodDays": "30",
            "owner_screenname": "GertjanOonk",
            "trades_options": "0",
            "created_when": "2015-12-10",
            "system_name": "Trade Master General",
            "recently_inactive_since": "0",
            "equitycurve_startingcapital": "25000",
            "monthlyFee": "10",
            "trades_forex": "0",
            "isAlive": "1",
            "trades_futures": "0"
        },
        {
            "system_id": "97652834",
            "ownerpersonid": "57955364",
            "trades_stocks": "0",
            "trades_stocks_short": "0",
            "trades_options_short": "0",
            "minimum_portfolio_size_required": "10000",
            "freeTrialPeriodDays": "14",
            "owner_screenname": "jurjen_damste",
            "trades_options": "0",
            "created_when": "2015-10-07",
            "system_name": "PMG Trade Love",
            "recently_inactive_since": "0",
            "equitycurve_startingcapital": "10000",
            "monthlyFee": "149",
            "trades_forex": "0",
            "isAlive": "1",
            "trades_futures": "1"
        }
	]
}

getListSubscribers

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/getListSubscribers POST https://api.collective2.com/world/apiv3/getListSubscribers
{
   "systemid" : 98885884,
   "apikey" : "aPkNwYEInOfbN1BfNb"
}

Example response

{
   "ok" : "1",
   "response" : {
      "listSubscribers" : [
         {
            "custom_subscription_guid" : null,
            "recurring_billing_num_failed_transacts" : null,
            "privateSubManagement_subscription_is_expired" : 0,
            "custom_subscription_amount" : null,
            "platform_subscription_ends_when" : "2016-03-03",
            "subscription_status" : "current",
            "subscription_started_date" : "20151230",
            "isPrivateSubManagement" : "1",
            "subscriber_country" : "United States",
            "custom_subscription_num_bill_periods_remaining" : null,
            "subscriber_personid" : "98867966",
            "recurring_next_billing_amount_default" : null,
            "systemid" : "98885884",
            "privateSubManagement_subscription_started_when" : "20151230",
            "platform_subscription_is_expired" : 0,
            "subscriber_email" : "[email protected]",
            "subscription_guid" : "98972362",
            "custom_subscription_good_until_time" : null,
            "recurring_billing_turned_off_when" : null,
            "subscriber_first_name" : "James",
            "subscription_ended" : "",
            "subscriber_countrycode" : "us",
            "privateSubManagement_subscription_ends_when" : "20160303",
            "subscriber_last_name" : "Stewart",
            "subscription_schedule_guid" : null
         }
      ]
   }
}

unsubscribeFromStrategy

Private Platform World

Parameters

Required
Type
Min
Max
actionType
List Member
autoTradePositionsAndOrders
List Member

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/unsubscribeFromStrategy POST https://api.collective2.com/world/apiv3/unsubscribeFromStrategy
{
   "actionType" : "unsubscribe_immediate",
   "systemid" : "78921278",
   "personid" : "100",
   "apikey" : "7vtD6enAIKvD2qHPac"
}

Example response

{
   "success" : {
      "subscription_guid" : "99124415"
   },
   "ok" : "1"
}

getSystemDetails

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/getSystemDetails POST https://api.collective2.com/world/apiv3/getSystemDetails
{
   "systemid" : 93600791,
   "apikey" : "RuO9yC9bw9_RMP6Cxx"
}

Example response

{
   "ok" : "1",
   "response" : {
      "longDescription" : null,
      "system_id" : "93600791",
      "statistics" : {
         "Maximum" : {
            "metainfo" : {
               "bunch" : "assuming Pareto losses only (using partial moments from Sortino statistics)",
               "dataset" : "Analysis based on DAILY values, last 6 months only",
               "group" : "DRAW DOWN STATISTICS",
               "suffix" : null,
               "helpText" : null,
               "category" : "Quartiles of draw downs",
               "precision" : "5",
               "prefix" : null,
               "multiplier" : "1.000000"
            },
            "value" : "0"
         },
         "avgDollarPosWinners" : {
            "value" : "0"
         },
         "VaR(95%) (regression method)" : {
            "metainfo" : {
               "bunch" : "assuming Pareto losses only (using partial moments from Sortino statistics)",
               "dataset" : "Analysis based on DAILY values, last 6 months only",
               "group" : "DRAW DOWN STATISTICS",
               "suffix" : null,
               "helpText" : null,
               "category" : "Risk estimates based on draw downs (based on Extreme Value T",
               "precision" : "5",
               "prefix" : null,
               "multiplier" : "1.000000"
            },
            "value" : "0"
         },
         "sumDollarPosLosers" : {
            "value" : "0"
         },
         "Calmar Ratio" : {
            "metainfo" : {
               "bunch" : null,
               "dataset" : null,
               "group" : "CALMAR STATISTICS",
               "suffix" : null,
               "helpText" : "A comparison of the average annual compounded rate of return and the maximum drawdown risk of commodity trading advisors and hedge funds",
               "category" : null,
               "precision" : "3",
               "prefix" : null,
               "multiplier" : "1.000000"
            },
            "value" : null
         },
         "Popularity (today)" : {
            "value" : "0"
         },
         "avgptsfutures" : {
            "value" : null
         }
      },
      "trades_stocks" : null,
      "ownerpersonid" : "98765",
      "test_system" : "0",
      "shorts_stocks" : null,
      "trades_own_system_certified" : "0",
      "creditSystemTimeUntil_epochSecs" : "1522432136",
      "freeTrialPeriodDays" : "21",
      "minimum_portfolio_size_required" : "25000",
      "owner_screenname" : "MatthewKlein",
      "trades_own_system_scaling" : "0",
      "trades_options" : null,
      "shorts_options" : null,
      "systemName" : "Strata Test",
      "equitycurve_startingcapital" : "25000",
      "trades_forex" : null,
      "createdWhen" : "2015-03-31 13:48:56",
      "monthlyFee" : "0",
      "isAlive" : "1",
      "marginEquityData" : {
         "buyPower" : 25000,
         "modelAccountValue" : 25000,
         "marginUsed" : 0,
         "equity" : 0,
         "updatedLastTimeET" : "2016-01-10 14:35:35",
         "cash" : 25000,
         "systemid" : "93600791"
      },
      "trades_own_system_percent_followed" : "0",
      "trades_futures" : null,
      "shortDescription" : "",
      "trades_own_system_number_signals" : "0",
      "creditSystemTimeUntil_clock" : "2018-03-30 13:48:56"
   }
}

getDesiredPositions

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/getDesiredPositions POST https://api.collective2.com/world/apiv3/getDesiredPositions
{
   "systemid" : 93059035,
   "apikey" : "OslqjI8mni9_ngFAQG"
}

Example response

{
   "ok" : "1",
   "response" : [
      {
         "underlying" : null,
         "symbol" : "MSFT",
         "strike" : null,
         "putcall" : null,
         "typeofsymbol" : "stock",
         "quant" : "-30",
         "expir" : null
      },
      {
         "underlying" : null,
         "symbol" : "@ESH6",
         "strike" : null,
         "putcall" : null,
         "typeofsymbol" : "future",
         "quant" : "1",
         "expir" : null
      }
   ]
}

retrieveSignalsWorking

Private Platform World Subscriber

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/retrieveSignalsWorking POST https://api.collective2.com/world/apiv3/retrieveSignalsWorking
{
   "systemid" : 94001001,
   "apikey" : "GdT9AAJUVzq2zOaEKf"
}

Example response

{
   "ok" : "1",
   "response" : [
      {
         "isLimitOrder" : "50.439999",
         "strike" : "0",
         "status" : "working",
         "underlying" : "",
         "isMarketOrder" : "0",
         "tif" : "GTC",
         "putcall" : "",
         "expiration" : "",
         "quant" : "107",
         "symbol" : "WFM",
         "name" : "WHOLE FOODS MARKET",
         "instrument" : "stock",
         "isStopOrder" : "0",
         "posted_time_unix" : "1429213465",
         "action" : "STC",
         "signal_id" : "94001239",
         "posted_time" : "2015-04-16 15:44:25"
      },
      {
         "isLimitOrder" : "35.790001",
         "strike" : "0",
         "status" : "working",
         "underlying" : "",
         "isMarketOrder" : "0",
         "tif" : "GTC",
         "putcall" : "",
         "expiration" : "",
         "quant" : "120",
         "symbol" : "MDLZ",
         "name" : "MONDELEZ INTERNATIONAL",
         "instrument" : "stock",
         "isStopOrder" : "0",
         "posted_time_unix" : "1429667374",
         "action" : "BTO",
         "signal_id" : "94001254",
         "posted_time" : "2015-04-21 21:49:34"
      },
      {
         "isLimitOrder" : "0",
         "strike" : "0",
         "status" : "working",
         "underlying" : "",
         "isMarketOrder" : "1",
         "tif" : "GTC",
         "putcall" : "",
         "expiration" : "",
         "quant" : "107",
         "symbol" : "WFM",
         "name" : "WHOLE FOODS MARKET",
         "instrument" : "stock",
         "isStopOrder" : "0",
         "posted_time_unix" : "1429233823",
         "action" : "STC",
         "signal_id" : "94001241",
         "posted_time" : "2015-04-16 21:23:43"
      }
   ]
}

retrieveSignalsAll

Private Platform World Subscriber

Parameters

Required
Type
Min
Max
systemid
integer
filter_type
List Member

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/retrieveSignalsAll POST https://api.collective2.com/world/apiv3/retrieveSignalsAll
{
   "filter_date_time_start" : "2015-03-01 00:00:00",
   "filter_date_time_end" : "2015-04-28 00:00:00",
   "filter_type" : "time_posted",
   "systemid" : 94001001,
   "apikey" : "LxABTY8eJTv2DF_uMV"
}

Example response

{
   "ok" : "1",
   "response" : [
      {
         "isLimitOrder" : "0",
         "canceled_time_unix" : "0",
         "strike" : "0",
         "expired_time_unix" : "0",
         "status" : "traded",
         "expired_time" : "0",
         "traded_time" : "2015-03-26 10:37:50",
         "underlying" : "",
         "isMarketOrder" : "1",
         "tif" : "DAY",
         "putcall" : "",
         "expiration" : "",
         "quant" : "75",
         "canceled_time" : "",
         "symbol" : "DISH",
         "name" : "DISH NETWORK",
         "isStopOrder" : "0",
         "instrument" : "stock",
         "posted_time_unix" : "1427380670",
         "trade_id_closing" : "94001182",
         "traded_price" : "70.089996",
         "trade_id_opening" : "",
         "action" : "STC",
         "traded_time_unix" : "1427380670",
         "signal_id" : "94001184",
         "posted_time" : "2015-03-26 10:37:50"
      },
      {
         "isLimitOrder" : "0",
         "canceled_time_unix" : "0",
         "strike" : "0",
         "expired_time_unix" : "0",
         "status" : "traded",
         "expired_time" : "0",
         "traded_time" : "2015-04-08 09:48:30",
         "underlying" : "",
         "isMarketOrder" : "1",
         "tif" : "GTC",
         "putcall" : "",
         "expiration" : "",
         "quant" : "41",
         "canceled_time" : "",
         "symbol" : "AVGO",
         "name" : "AVAGO TECHNOLOGIES",
         "isStopOrder" : "0",
         "instrument" : "stock",
         "posted_time_unix" : "1428500908",
         "trade_id_closing" : "94001206",
         "traded_price" : "126.410004",
         "trade_id_opening" : "",
         "action" : "STC",
         "traded_time_unix" : "1428500910",
         "signal_id" : "94001208",
         "posted_time" : "2015-04-08 09:48:28"
      },
      {
         "isLimitOrder" : "0",
         "canceled_time_unix" : "0",
         "strike" : "0",
         "expired_time_unix" : "0",
         "status" : "traded",
         "expired_time" : "0",
         "traded_time" : "2015-03-03 12:41:40",
         "underlying" : "",
         "isMarketOrder" : "1",
         "tif" : "GTC",
         "putcall" : "",
         "expiration" : "",
         "quant" : "124",
         "canceled_time" : "",
         "symbol" : "FAST",
         "name" : "FASTENAL",
         "isStopOrder" : "0",
         "instrument" : "stock",
         "posted_time_unix" : "1425404485",
         "trade_id_closing" : "94001101",
         "traded_price" : "41.209999",
         "trade_id_opening" : "",
         "action" : "STC",
         "traded_time_unix" : "1425404500",
         "signal_id" : "94001103",
         "posted_time" : "2015-03-03 12:41:25"
      }
   ]
}

requestMarginEquity

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/requestMarginEquity POST https://api.collective2.com/world/apiv3/requestMarginEquity
{
   "systemid" : 1234,
   "apikey" : "EJE7xgFCHgE3MqwCEz"
}

Example response

{
   "ok" : "0",
   "error" : {
      "title" : "Unable to access this systemid",
      "message" : "Credentials provided do not allow access to this systemid"
   }
}

createNewSystem

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer
longDescription
string
char
8000 char
startingcapital
integer
1000
10000000
ownerpersonid
integer
Optional
Type
Min
Max
site_visibility_status
integer
0
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/createNewSystem
{
   "site_visibility_status" : 1,
   "startingcapital" : 25000,
   "ownerpersonid" : 98867966,
   "name" : "API System 300",
   "creditSystemTimeInSeconds" : 86400,
   "apikey" : "Y3yoRTnQ9nLUbyvXrG"
}

Example response

{
   "success" : {
      "NewSystemID" : "99124408"
   },
   "ok" : "1"
}

createNewSystem

Private Platform World

Parameters

Required
Type
Min
Max
longDescription
string
char
8000 char
startingcapital
integer
1000
10000000
ownerpersonid
integer
Optional
Type
Min
Max
site_visibility_status
integer
0
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/createNewSystem POST https://api.collective2.com/world/apiv3/createNewSystem
{
   "site_visibility_status" : 1,
   "startingcapital" : 25000,
   "ownerpersonid" : 98867966,
   "name" : "API System 300",
   "creditSystemTimeInSeconds" : 86400,
   "apikey" : "_XZBc7OdTDWTOuTthk"
}

Example response

{
   "success" : {
      "NewSystemID" : "99124411"
   },
   "ok" : "1"
}

changeSystemAttribute

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer
systemid
integer
name
string
3 char
40 char
longDescription
string
char
8000 char
shortDescription
string
char
255 char
ownerpersonid
integer
equitycurve_startingcapital
integer
1000
10000000
monthlyfee
integer
trialdays
integer
creditSystemTimeInSeconds
integer
0
86400*365*20
freeSignalEntryCredits
integer
0
9999999999
test_system
integer
0
1
isAlive
integer
0
1
Optional
Type
Min
Max
minimum_portfolio_size_required
integer
1000
10000000

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/changeSystemAttribute POST https://api.collective2.com/world/apiv3/changeSystemAttribute
{
   "minimum_portfolio_size_required" : 12345,
   "name" : "API System 666",
   "systemid" : 98885884,
   "apikey" : "HZh4yEk4ebqwle7T6p"
}

Example response

{
   "success" : {
      "changes" : [
         "name updated",
         "minimum_portfolio_size_required updated"
      ]
   },
   "ok" : "1"
}

requestAllTrades_overview

Private Platform World Subscriber

Introduction

Without any additional params, requestAllTrades_overview returns all trades (i.e. positions) ever opened by the strategy. For older strategies, this can be a lot of data.

Use the following optional params to filter the trades (i.e. positions) returned:

openTrades: 0/1 - show only those trades still open
closedTrades: 0/1 - show only those trades completely closed out

Parameters

Required
Type
Min
Max
systemid
integer
Optional
Type
Min
Max
show_component_signals
integer
openTrades
integer
closedTrades
integer
onlyClosedTrades
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/requestAllTrades_overview POST https://api.collective2.com/world/apiv3/requestAllTrades_overview
{
   "systemid" : 1234,
   "apikey" : "QhI_63z953YmlEkbj0",
   "show_component_signals": 1
}

Example response

{
    "ok": "1",
    "response": [
        {
            "closeVWAP_timestamp": "1454074721",
            "strike": "44",
            "open_or_closed": "closed",
            "expir": "Dec15",
            "openVWAP_timestamp": "1454074721",
            "underlying": "APA",
            "closing_price_VWAP": "0.00000",
            "putcall": "call",
            "component_signals": [
                {
                    "symbol": "APA1518L44.0000",
                    "signalid": "99996488",
                    "action": "STO",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.520000",
                    "tradedwhen": "2015-12-14 11:25:23"
                },
                {
                    "symbol": "APA1518L44.0000",
                    "signalid": "99996543",
                    "action": "BTC",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.000000",
                    "tradedwhen": "2015-12-18 16:20:00"
                }
            ],
            "quant_closed": "1",
            "markToMarket_time": "",
            "opening_price_VWAP": "0.52000",
            "trade_id": "99996489",
            "symbol": "APA1518L44.0000",
            "quant_opened": "1",
            "closedWhen": "2015-12-18 16:20:00",
            "instrument": "option",
            "ptValue": "100",
            "PL": "52",
            "closedWhenUnixTimeStamp": "1450473600",
            "openedWhen": "2015-12-14 11:25:23",
            "long_or_short": "short",
            "symbol_description": null
        },
        {
            "closeVWAP_timestamp": "1454074721",
            "strike": "33",
            "open_or_closed": "closed",
            "expir": "Nov15",
            "openVWAP_timestamp": "1454074721",
            "underlying": "MOS",
            "closing_price_VWAP": "0.00000",
            "putcall": "call",
            "component_signals": [
                {
                    "symbol": "MOS1513K33.0000",
                    "signalid": "99996187",
                    "action": "STO",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.360000",
                    "tradedwhen": "2015-11-09 09:53:43"
                },
                {
                    "symbol": "MOS1513K33.0000",
                    "signalid": "99996259",
                    "action": "BTC",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.000000",
                    "tradedwhen": "2015-11-13 16:20:00"
                }
            ],
            "quant_closed": "1",
            "markToMarket_time": "",
            "opening_price_VWAP": "0.36000",
            "trade_id": "99996188",
            "symbol": "MOS1513K33.0000",
            "quant_opened": "1",
            "closedWhen": "2015-11-13 16:20:00",
            "instrument": "option",
            "ptValue": "100",
            "PL": "36",
            "closedWhenUnixTimeStamp": "1447449600",
            "openedWhen": "2015-11-09 09:53:43",
            "long_or_short": "short",
            "symbol_description": null
        },
        {
            "closeVWAP_timestamp": "1454074721",
            "strike": "33",
            "open_or_closed": "closed",
            "expir": "Nov15",
            "openVWAP_timestamp": "1454074721",
            "underlying": "MOS",
            "closing_price_VWAP": "0.00000",
            "putcall": "put",
            "component_signals": [
                {
                    "symbol": "MOS1506W33.0000",
                    "signalid": "99996097",
                    "action": "STO",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.230000",
                    "tradedwhen": "2015-11-02 14:20:21"
                },
                {
                    "symbol": "MOS1506W33.0000",
                    "signalid": "99996186",
                    "action": "BTC",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.000000",
                    "tradedwhen": "2015-11-06 00:00:00"
                }
            ],
            "quant_closed": "1",
            "markToMarket_time": "",
            "opening_price_VWAP": "0.23000",
            "trade_id": "99996098",
            "symbol": "MOS1506W33.0000",
            "quant_opened": "1",
            "closedWhen": "2015-11-06 00:00:00",
            "instrument": "option",
            "ptValue": "100",
            "PL": "23",
            "closedWhenUnixTimeStamp": "1446786000",
            "openedWhen": "2015-11-02 14:20:21",
            "long_or_short": "short",
            "symbol_description": null
        },
        {
            "closeVWAP_timestamp": "1454074721",
            "strike": "56.5",
            "open_or_closed": "closed",
            "expir": "Dec15",
            "openVWAP_timestamp": "1454074721",
            "underlying": "FSLR",
            "closing_price_VWAP": "0.00000",
            "putcall": "call",
            "component_signals": [
                {
                    "symbol": "FSLR1504L56.500",
                    "signalid": "99996391",
                    "action": "STO",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "1.300000",
                    "tradedwhen": "2015-11-30 11:24:10"
                },
                {
                    "symbol": "FSLR1504L56.500",
                    "signalid": "99996432",
                    "action": "BTC",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.000000",
                    "tradedwhen": "2015-12-04 00:00:00"
                }
            ],
            "quant_closed": "1",
            "markToMarket_time": "",
            "opening_price_VWAP": "1.30000",
            "trade_id": "99996392",
            "symbol": "FSLR1504L56.500",
            "quant_opened": "1",
            "closedWhen": "2015-12-04 00:00:00",
            "instrument": "option",
            "ptValue": "100",
            "PL": "130",
            "closedWhenUnixTimeStamp": "1449205200",
            "openedWhen": "2015-11-30 11:24:10",
            "long_or_short": "short",
            "symbol_description": null
        },
        {
            "closeVWAP_timestamp": "1454074721",
            "strike": "52",
            "open_or_closed": "closed",
            "expir": "Oct15",
            "openVWAP_timestamp": "1454074721",
            "underlying": "LULU",
            "closing_price_VWAP": "0.00000",
            "putcall": "put",
            "component_signals": [
                {
                    "symbol": "LULU1523V52.000",
                    "signalid": "99995974",
                    "action": "STO",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.400000",
                    "tradedwhen": "2015-10-19 11:14:30"
                },
                {
                    "symbol": "LULU1523V52.000",
                    "signalid": "99996031",
                    "action": "BTC",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.000000",
                    "tradedwhen": "2015-10-23 16:20:00"
                }
            ],
            "quant_closed": "1",
            "markToMarket_time": "",
            "opening_price_VWAP": "0.40000",
            "trade_id": "99995975",
            "symbol": "LULU1523V52.000",
            "quant_opened": "1",
            "closedWhen": "2015-10-23 16:20:00",
            "instrument": "option",
            "ptValue": "100",
            "PL": "40",
            "closedWhenUnixTimeStamp": "1445631600",
            "openedWhen": "2015-10-19 11:14:30",
            "long_or_short": "short",
            "symbol_description": null
        },
        {
            "closeVWAP_timestamp": "1454074721",
            "strike": "15",
            "open_or_closed": "closed",
            "expir": "Dec15",
            "openVWAP_timestamp": "1454074721",
            "underlying": "SODA",
            "closing_price_VWAP": "0.00000",
            "putcall": "call",
            "component_signals": [
                {
                    "symbol": "SODA1504L15.000",
                    "signalid": "99996366",
                    "action": "STO",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.180000",
                    "tradedwhen": "2015-11-23 14:07:27"
                },
                {
                    "symbol": "SODA1504L15.000",
                    "signalid": "99996457",
                    "action": "BTC",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.000000",
                    "tradedwhen": "2015-12-04 16:20:00"
                }
            ],
            "quant_closed": "1",
            "markToMarket_time": "",
            "opening_price_VWAP": "0.18000",
            "trade_id": "99996367",
            "symbol": "SODA1504L15.000",
            "quant_opened": "1",
            "closedWhen": "2015-12-04 16:20:00",
            "instrument": "option",
            "ptValue": "100",
            "PL": "18",
            "closedWhenUnixTimeStamp": "1449264000",
            "openedWhen": "2015-11-23 14:07:27",
            "long_or_short": "short",
            "symbol_description": null
        },
        {
            "closeVWAP_timestamp": "1454074721",
            "strike": "41.5",
            "open_or_closed": "closed",
            "expir": "Dec15",
            "openVWAP_timestamp": "1454074721",
            "underlying": "CF",
            "closing_price_VWAP": "0.00000",
            "putcall": "put",
            "component_signals": [
                {
                    "symbol": "CF1511X41.5000",
                    "signalid": "99996427",
                    "action": "STO",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.370000",
                    "tradedwhen": "2015-12-07 11:58:03"
                },
                {
                    "symbol": "CF1511X41.5000",
                    "signalid": "99996490",
                    "action": "BTC",
                    "quant": "1",
                    "instrument": "option",
                    "tradeprice": "0.000000",
                    "tradedwhen": "2015-12-11 00:00:00"
                }
            ],
            "quant_closed": "1",
            "markToMarket_time": "",
            "opening_price_VWAP": "0.37000",
            "trade_id": "99996428",
            "symbol": "CF1511X41.5000",
            "quant_opened": "1",
            "closedWhen": "2015-12-11 00:00:00",
            "instrument": "option",
            "ptValue": "100",
            "PL": "37",
            "closedWhenUnixTimeStamp": "1449810000",
            "openedWhen": "2015-12-07 11:58:03",
            "long_or_short": "short",
            "symbol_description": null
        }
   ]
}

subscribeToStrategy

Private Platform World

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/subscribeToStrategy POST https://api.collective2.com/world/apiv3/subscribeToStrategy
{
   "systemid" : "78921278",
   "personid" : "100",
   "apikey" : "4j_xGU2epAqRN6uUki"
}

Example response

{
   "success" : {
      "subscription_guid" : "99124415"
   },
   "ok" : "1"
}

setDesiredPositions

Private Platform World

Introduction

This command (and its sibling, getDesiredPositions) are useful if you want to control your Model Account by specifying an exact portfolio, rather than issuing individual buys and sells.

C2 will continuously adjust your Model Account by reducing or increasing positions as needed. All trades are market orders. You can setDesiredPositions at any time, but of course C2 will be unable to adjust positions of instruments when its respective market is closed.

When this mode is in use, other signal-entry methods (API, WebTrader) will be disengaged. You can turn off this mode by sending a special portfolio of symbol=stop and typeofsymbol= stop. Also, you can manually turn off this mode through the WebTrader screen.

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/setDesiredPositions POST https://api.collective2.com/world/apiv3/setDesiredPositions
{
   "positions" : [
      {
         "symbol" : "MSFT",
         "typeofsymbol" : "stock",
         "quant" : -30
      },
      {
         "symbol" : "@ESH6",
         "typeofsymbol" : "future",
         "quant" : 1
      }
   ],
   "systemid" : 93059035,
   "apikey" : "w8u0t3TIBRUk8eVSjD"
}

Example response

{
   "ok" : "1",
   "response" : [
      {
         "underlying" : null,
         "symbol" : "MSFT",
         "strike" : null,
         "putcall" : null,
         "typeofsymbol" : "stock",
         "quant" : "-30",
         "expir" : null
      },
      {
         "underlying" : null,
         "symbol" : "@ESH6",
         "strike" : null,
         "putcall" : null,
         "typeofsymbol" : "future",
         "quant" : "1",
         "expir" : null
      }
   ]
}

Other information

setDesiredPositions also has two special "modes." You can force a completely flat portfolio by setting symbol='flat' and typeofsymbol='flat'. Alternately, you can turn off setDesiredPositions mode entirely by sending symbol and typeofsymbol as 'stop'. Note that this will NOT flatten your current strategy holdings. It will leave them intact and allow you to manage the Model Account either through the API or WebTrader. You can re-engage setDesiredPositions again at any time.

retrieveSystemEquity

Private Platform World Subscriber

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/retrieveSystemEquity POST https://api.collective2.com/world/apiv3/retrieveSystemEquity
{
   "commission_plan" : "default",
   "systemid" : 46106678,
   "apikey" : "rjQpoGZf2SZQzDLnMi"
}

Example response

{
   "systemname" : "BOB DYLAN   SP500",
   "equity_data" : [
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1126.20",
         "unix_timestamp" : "1262122832",
         "YYYYMMDD" : "20091229",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1126.42",
         "unix_timestamp" : "1262155376",
         "YYYYMMDD" : "20091230",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1126.42",
         "unix_timestamp" : "1262155376",
         "YYYYMMDD" : "20091230",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262238138",
         "YYYYMMDD" : "20091231",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262326942",
         "YYYYMMDD" : "20100101",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262462695",
         "YYYYMMDD" : "20100102",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262531936",
         "YYYYMMDD" : "20100103",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262600549",
         "YYYYMMDD" : "20100104",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262600549",
         "YYYYMMDD" : "20100104",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262681320",
         "YYYYMMDD" : "20100105",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1115.10",
         "unix_timestamp" : "1262681320",
         "YYYYMMDD" : "20100105",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1136.99",
         "unix_timestamp" : "1262816547",
         "YYYYMMDD" : "20100106",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1141.48",
         "unix_timestamp" : "1262884829",
         "YYYYMMDD" : "20100107",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1144.70",
         "unix_timestamp" : "1262953314",
         "YYYYMMDD" : "20100108",
         "strategy_raw" : 10000
      },
      {
         "strategy_with_cost" : 10000,
         "index_price" : "1144.70",
         "unix_timestamp" : "1262953314",
         "YYYYMMDD" : "20100108",
         "strategy_raw" : 10000
      }
   ],
   "ok" : "1",
   "initial_index_to_equity_scaling_factor" : "8.87941751021133",
   "systemid" : 46106678
}

Signal Entry API

Basic submitsignal format

Private PlatformWorld

All requests to the Signal API require an API key, and also a system id number. (You can find your trading system's ID number beside the system's name on the main system page.)

Here is an example API request. It tells C2 to SELL SHORT 5 contracts of the June 2015 E-Mini S&P futures contract, at 2099.25 limit. The order is a DAY order:


{
        "apikey":   "1kuBw5575981fsghHuA65756wy8HuAshe",
        "systemid": "89959688",
        "signal":{
                   "action": "SSHORT",
                   "quant": 2,
                   "symbol": "@ESM5",
                   "typeofsymbol": "future",
                   "limit": 2099.25,
                   "duration": "DAY"
                }
}

All C2 responses are well-formed JSON. The response I receive for the example above is:


{
   "ok" : 1,
   "signal" : {
      "market" : "0",
      "signalid" : "94956394",
      "stoploss" : "",
      "comments" : null,
      "day" : "1",
      "systemid" : "89959688",
      "parkUntilYYYYMMDDHHMM" : null,
      "symbol" : "@ESM5",
      "conditionalupon" : null,
      "duration" : "DAY",
      "description" : "E-MINI S&P 500 [CME Chicago Mercantile Exchange]",
      "targetocagroupid" : null,
      "decimalprecision" : "2",
      "expiresat" : "1434057300",
      "pointvalue" : "50",
      "parkUntilSecs" : null,
      "typeofsymbol" : "future",
      "currency" : "USD",
      "quant" : "2",
      "limit" : "2099.25",
      "gtc" : "0",
      "profittarget" : "",
      "action" : "SSHORT",
      "ocaid" : null
   },
   "signalid" : "94956394",
   "elapsed_time" : "0.6114"
}

There are a few important things to notice about the C2 response.

First, C2 tells me whether the API request I made triggered any sort of error, or if it was ok. In this case, the signal request was accepted, because ok was 1.

Notice also that C2 returned a signalid number for me (94956394). This is useful because with this number I can refer to the signal in subsequent calls. For example, I can cancel-replace the order (i.e. change the limit price from 2099.25 to some other value), or cancel it completely. In a later section of this document, I will show you how to use your own signal id numbering scheme, if you choose not to use C2's signal ids.

Finally, notice that C2 echoed back to me in JSON format the signal I created. C2 filled in for my convenience a bunch of information I didn't bother to supply when I created the signal originally (the symbol description, for example, or the point value.)

Variations on submitsignal

Private PlatformWorld

You can submit market orders, limit orders, or stop orders. Here I submit a market order to buy to open (BTO) 2 shares of IBM stock at the market. The following is a DAY order.


curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signal":{
                       "action": "BTO",
                       "quant": 2,
                       "symbol": "IBM",
                       "typeofsymbol": "stock",
                       "market": 1,
                       "duration": "DAY"
                    }
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/submitSignal'

Here is an order to buy at limit price 12.22, good til cancel (GTC).


curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signal":{
                       "action": "BTO",
                       "quant": 2,
                       "symbol": "IBM",
                       "typeofsymbol": "stock",
                       "limit": 12.22,
                       "duration": "GTC"
                    }
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/submitSignal'

Summary of submitSignal parameters

The two examples above show us some of the parameters you can use when sending signals to C2. However, there are many others:


parameter possible values explanation
action BTO STO SSHORT BTC STC BTO = Buy to Open (establish long position)
STO = Sell to Open (establish short position)
SSHORT = Sell Short (generally used for stocks, but STO and SSHORT can be used interchangeably)
BTC = Buy to Cover a short position
STC = Sell to Close a long position
typeofsymbol stock option future forex instruments like ETFs and mutual funds should be treated as a "stock"
Click here for C2 Symbols Help
duration DAY GTC
stop stop price
limit limit price
market 1 Set to 1 to declare this is a market order. If you do not supply limit or stop parameters, order will be assumed to be a market order.
profittarget price Used when submitting an position-entry order. Automatically create a conditional order to close the position at this limit price. When used in conjunction with stoploss, a One-Cancels-All group is created.
stoploss price Used when submitting an position-entry order. Automatically create a conditional order to close the position at this stop price. When used in conjunction with profittarget, a One-Cancels-All group is created.
conditionalupon signalid Do not allow this order to start "working" unless the parent order is filled (parent order has signalid = conditionalupon)
conditionalUponSignal JSON signal hash Same as above, but instead of supplying already-determined signalid, you can provide nested JSON containing entire signal hash
xreplace signalid Cancel the signalid specified, and if the cancel is successful, submit this new order to replace it


Using your own signalids

Private PlatformWorld

C2 creates a signalid each time you create a new buy/sell signal. It reports back to you the signalid it created, so that you can refer to the signal again.

However, some programmers might prefer to use their own signalid numbering scheme, and submit a signalid to C2 along with the signal. In these cases, C2 still assigns a global signalid to your signal, but you will be able to refer back to the signal created with either the "local" id you submitted, or the global number C2 creates.


If you use your own signalid numbering scheme, be aware that signalids must be unique for each systemid across all time. For instance, if you create signalid 100 for system id #12345, you may never again use signalid 100 for system #12345, no matter what happened to signalid 100.


Here is an example of what happens when you use your own signal numbering scheme. Remember, it is completely optional to assign your own signalid numbers. Most programmers will probably want to use the signalids automatically assigned by C2.


	
curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signal":{
                       "action": "BTO",
                       "quant": 2,
                       "symbol": "GOLD",
                       "typeofsymbol": "stock",
                       "limit": 31.05,
                       "duration": "GTC",
                       "signalid":1011
                    }
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/submitSignal'

Here is what C2 returns to the above:


	
{
   "ok" : 1,
   "signal" : {
      "market" : "0",
      "localsignalid" : "1011",
      "stoploss" : "",
      "signalid" : "94958342",
      "comments" : null,
      "day" : "0",
      "systemid" : "89959688",
      "parkUntilYYYYMMDDHHMM" : null,
      "symbol" : "GOLD",
      "conditionalupon" : null,
      "duration" : "GTC",
      "targetocagroupid" : null,
      "expiresat" : "2147483640",
      "pointvalue" : 1,
      "parkUntilSecs" : null,
      "typeofsymbol" : "stock",
      "currency" : "USD",
      "quant" : "2",
      "limit" : "31.05",
      "gtc" : "1",
      "profittarget" : "",
      "action" : "BTO",
      "ocaid" : null
   },
   "signalid" : "1011",
   "elapsed_time" : "0.5497"
}

Conditional Orders

Private PlatformWorld

Once you know a signalid, either by supplying it to C2, or by parsing it out from the JSON C2 returns, it is easy to make a conditional order. A conditional order is an order that becomes valid only once the original (parent) order is traded.

To create a conditional order, include a parameter: conditionalupon. Like this:


	
curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signal":{
                       "action": "STC",
                       "quant": 2,
                       "symbol": "GOLD",
                       "typeofsymbol": "stock",
                       "limit": 39.99,
                       "duration": "GTC",
                       "conditionalupon":1011
                    }
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/submitSignal'

You can construct conditional orders in this way -- that is by referring to a parent order's signalid within the conditionalupon parameter.

There is an alternate way to create conditionals which might please programmers. You can deliver a set of nested JSON, linking parent to child with the conditionalUponSignal parameter. Like this:


	
curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signal":{
                       "action": "STC",
                       "quant": 2,
                       "symbol": "SWY",
                       "typeofsymbol": "stock",
                       "limit": 150,
                       "duration": "DAY",
                       "conditionalUponSignal": { "action": "BTO", "quant": 2, "symbol": "SWY",	"typeofsymbol": "stock", "limit": 22.22, "duration": "DAY" }
                    }
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/submitSignal'



Notice what we did in the example above. We told C2 to create a Sell-to-close order, but make it conditional upon a Buy-to-open.

Bracket Orders (Entry + Stop Loss + Profit Target)

Private PlatformWorld

It's a pain in the ass to create an entry order as a "parent," then two separate conditional child orders: a stop-loss and a profit target. Why not do it all in one swoop? Like this:


		curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signal":{
                       "action": "BTO",
                       "quant": 2,
                       "symbol": "ANN",
                       "typeofsymbol": "stock",
                       "market": 1,
                       "duration": "GTC",
                       "profittarget": "49.25",
                       "stoploss": "40.00"
                    }
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/submitSignal'
	

The response to the example above looks like this:


{
   "ok" : 1,
   "signal" : {
      "market" : "1",
      "profittargetsignalid" : "94958589",
      "signalid" : "94958587",
      "stoploss" : "40.00",
      "comments" : null,
      "day" : "0",
      "systemid" : "89959688",
      "parkUntilYYYYMMDDHHMM" : null,
      "symbol" : "ANN",
      "conditionalupon" : null,
      "duration" : "GTC",
      "targetocagroupid" : "94958588",
      "expiresat" : "2147483640",
      "pointvalue" : 1,
      "parkUntilSecs" : null,
      "typeofsymbol" : "stock",
      "stoplosssignalid" : "94958591",
      "currency" : "USD",
      "ticktime" : "14:46:56t",
      "quant" : "2",
      "gtc" : "1",
      "profittarget" : "49.25",
      "action" : "BTO",
      "ocaid" : null
   },
   "signalid" : "94958587",
   "elapsed_time" : "0.0465"
}
	

A few things to notice about the response above.

The stop loss and profit target are each assigned a separate signalid by C2 (94958589 and 94958591 respectively), and thus can be referred to later. (For example, perhaps you will want to adjust your stop loss?)

You will also notice C2 created a One-Cancels-All (OCA) group(targetocagroupid = 94958588). The profit target and stop loss are both part of the same OCA group. This means that when one is canceled, expired, or traded, the other is canceled.

You can always create your own OCA groups by adding the following parameter to your signal package submitted to C2:

ocaid

Alternately, if you don't want C2 to automatically group your bracket orders into an OCA group, just include the following parameter in your signal packet:
"forcenooca": 1

When assigning your own OCA group id numbers, the same warning applies as when assigning your own signalids. OCA ID numbers must be unique within each trading system across all time. You cannot use an OCA ID that was already used as a signal ID, or vice-versa.


Cancel Orders

Private PlatformWorld

Cancel orders like this:



curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signalid":	"94958591"
                    
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/cancelSignal'

	

Notice the URL has changed from submitSignal to cancelSignal.


Here C2 tells us our request to cancel was processed successfully:


{
   "ok" : 1,
   "signal" : {
      "market" : "0",
      "strike" : null,
      "signalid" : "94958591",
      "expir" : null,
      "personid" : "3",
      "underlying" : null,
      "day" : "0",
      "killedwhen" : "0",
      "tradeprice" : "0",
      "expiredwhen" : "0",
      "systemid" : "89959688",
      "symbol" : null,
      "islimit" : "0",
      "tradedwhen" : "0",
      "typeofsymbol" : null,
      "putcall" : null,
      "guid" : "94958591",
      "quant" : "2",
      "gtc" : "1",
      "stop" : "40",
      "postedwhen" : "1434048449",
      "signalexpiresat" : "1528656449",
      "action" : "STC"
   },
   "signalid" : "94958591",
   "title" : "Signal canceled",
   "elapsed_time" : "0.2656",
   "message" : "Signal 94958591 successfully canceled"
}
	

Here is an example of a cancel request that was not successful:


{
   "ok" : 0,
   "signal" : {
      "market" : "1",
      "strike" : null,
      "signalid" : "94958587",
      "expir" : null,
      "personid" : "3",
      "underlying" : null,
      "day" : "0",
      "killedwhen" : "0",
      "tradeprice" : "47.56",
      "expiredwhen" : "0",
      "systemid" : "89959688",
      "symbol" : null,
      "islimit" : null,
      "tradedwhen" : "1434048449",
      "typeofsymbol" : "stock",
      "putcall" : null,
      "guid" : "94958587",
      "quant" : "2",
      "gtc" : "1",
      "stop" : null,
      "postedwhen" : "1434048449",
      "signalexpiresat" : "2147483640",
      "action" : "BTO"
   },
   "signalid" : "94958587",
   "title" : "Signal was traded",
   "elapsed_time" : "0.0032",
   "message" : "Signal could not be canceled"
}
	

Cancel-and-Replace (xreplace) orders

Private PlatformWorld

It is common to change a working order's price. For instance, you might want to change the limit price of your profit target, which has not yet been reached; or the stop price of not-yet-triggered stop loss. Rather than requiring two steps to achieve this (by first, canceling a specific signal; and second, submitting a replacement order), you can achieve the same functionality in one step, by using the parameter called cancel-and-replace, or xreplace. Like this:


curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "signal":{
                       "action": "STC",
                       "quant": 2,
                       "symbol": "GM",
                       "typeofsymbol": "stock",
                       "limit": 46.99,
                       "duration": "GTC",
                       "xreplace": 94932375,
                       "leave_oca_intact": 1
                   }
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/submitSignal'

	

This call returns:


{
   "ok" : 1,
   "signal" : {
      "market" : "0",
      "signalid" : "94959254",
      "stoploss" : "",
      "comments" : null,
      "day" : "0",
      "systemid" : "89959688",
      "parkUntilYYYYMMDDHHMM" : null,
      "symbol" : "GM",
      "conditionalupon" : null,
      "duration" : "GTC",
      "targetocagroupid" : null,
      "expiresat" : "2147483640",
      "pointvalue" : 1,
      "parkUntilSecs" : null,
      "typeofsymbol" : "stock",
      "currency" : "USD",
      "xreplace" : "94932375",
      "quant" : "2",
      "limit" : "46.99",
      "gtc" : "1",
      "profittarget" : "",
      "action" : "STC",
      "ocaid" : null
   },
   "signalid" : "94959254",
   "elapsed_time" : "0.8412"
}
	

Notice the leave_oca_intact parameter. This is optional. If provided, it should be 0 or 1. When set to 1, this tells C2 that, if you are xreplacing a member of an One-Cancels-Another (OCA) group, you should leave the group intact (i.e. do not automatically cancel the sibling order in the OCA group.)

If the signal you are xreplacing is not part of an OCA group, this parameter is ignored.




Retrieve list of all strategies with real-time access

Private PlatformWorld

You can retrieve a list of all strategies for which the API key has real-time access. (This typically means systems you have subscribed to, or which you own.)


curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe"
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/listAllSystems'
	

A typical response might look like this:


{
   "response" : [
      {
         "longDescription" : "And here is my Long description.\n\nI love carriage returns.\n\n",
         "system_id" : "83186981",
         "systemName" : "Your Trading System",
         "monthlyFee" : "11",
         "createdWhen" : "2013-09-26 16:19:23",
         "isAlive" : "1",
         "shortDescription" : "This is my so called \"short\" description, complete with umlaût.",
         "freeTrialPeriodDays" : "22",
         "creatorScreenName" : "MatthewKlein"
      },
            {
         "longDescription" : "Clone of system 84690231 as of Thu Jun 11 08:03:29 2015 ET",
         "system_id" : "94946805",
         "systemName" : "Clone of system 84690231",
         "monthlyFee" : "50",
         "createdWhen" : "2014-01-15 05:13:17",
         "isAlive" : "1",
         "shortDescription" : "Clone of system 84690231 as of Thu Jun 11 08:03:29 2015 ET",
         "freeTrialPeriodDays" : "10",
         "creatorScreenName" : "MatthewKlein"
      },
      {
         "longDescription" : "Zeus takes a position in stocks with the goal of achieving a 5%-10% return within a few days or weeks. All trades have a profits targets posted once the position is open.\nHowever, if you can assume a little more risk than most systems, the system can provide good returns over time.",
         "system_id" : "87753456",
         "systemName" : "ZeusTrade",
         "monthlyFee" : "0",
         "createdWhen" : "2014-05-26 06:50:45",
         "isAlive" : "1",
         "shortDescription" : "Zues specializing in trading stocks and ETFs. ",
         "freeTrialPeriodDays" : "0",
         "creatorScreenName" : "NirKertis2"
      },
      {
         "longDescription" : "This system generates a random trade every minute for futures, stocks, and forex. Use it for testing C2 connectivity or for your own software development purposes. Do not trade it with real money.",
         "system_id" : "1234",
         "systemName" : "C2 Test System (Random)",
         "monthlyFee" : "0",
         "createdWhen" : "2015-06-11 16:22:22",
         "isAlive" : "1",
         "shortDescription" : "This system generates a random trade every minute for futures, stocks, and forex. Use it for testing C2 connectivity or for your own software development purposes. Do not trade it with real money.",
         "freeTrialPeriodDays" : "0",
         "creatorScreenName" : "RandomNumberGenera"
      },
      {
         "longDescription" : null,
         "system_id" : "86425852",
         "systemName" : "Yo Yo Ma",
         "monthlyFee" : "0",
         "createdWhen" : "2014-03-12 10:28:15",
         "isAlive" : "1",
         "shortDescription" : "",
         "freeTrialPeriodDays" : "0",
         "creatorScreenName" : "MatthewKlein"
      }
   ]
}
	

Retrieving open and closed position information

Private PlatformWorld

You can retrieve position information about a system like this:


curl -d '{
    "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
    "systemid": "94959200"
 }' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/requestTrades'
	


Alternately to request only open positions, use this:



curl -d '{
    "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
    "systemid": "94959200"
 }' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/requestTradesOpen'
	

The response to either will look something like this:


{
  "response" : 
   [
	   {
	      "closeVWAP_timestamp" : "1434055203",
	      "strike" : "0",
	      "open_or_closed" : "closed",
	      "expir" : "",
	      "openVWAP_timestamp" : "1434055203",
	      "underlying" : "",
	      "closing_price_VWAP" : "45.00000",
	      "putcall" : "",
	      "quant_closed" : "80",
	      "long_or_short" : "long",
	      "markToMarket_time" : "",
	      "trade_id" : "91826329",
	      "symbol" : "GPRO",
	      "opening_price_VWAP" : "56.49000",
	      "quant_opened" : "80",
	      "closedWhen" : "2015-02-09 10:40:08",
	      "instrument" : "stock",
	      "ptValue" : "1",
	      "PL" : "-919",
	      "closedWhenUnixTimeStamp" : "1423496408",
	      "openedWhen" : "2015-01-13 09:48:37",
	      "symbol_description" : "GOPRO INC. CLASS A COMMON STOS"
	   },
	   {
	      "closeVWAP_timestamp" : "1434055203",
	      "strike" : "0",
	      "open_or_closed" : "closed",
	      "expir" : "",
	      "openVWAP_timestamp" : "1434055203",
	      "underlying" : "",
	      "closing_price_VWAP" : "52.74000",
	      "putcall" : "",
	      "long_or_short" : "short",
	      "quant_closed" : "200",
	      "markToMarket_time" : "",
	      "trade_id" : "90607847",
	      "symbol" : "EVR",
	      "opening_price_VWAP" : "50.60000",
	      "quant_opened" : "200",
	      "closedWhen" : "2014-11-18 10:10:41",
	      "instrument" : "stock",
	      "ptValue" : "1",
	      "PL" : "428",
	      "closedWhenUnixTimeStamp" : "1416323441",
	      "openedWhen" : "2014-11-04 12:06:29",
	      "symbol_description" : "EVERCORE PARTNERS"
	   },
	   {
	      "closeVWAP_timestamp" : "1434055203",
	      "strike" : "0",
	      "open_or_closed" : "open",
	      "expir" : "",
	      "openVWAP_timestamp" : "1434055203",
	      "underlying" : "",
	      "closing_price_VWAP" : "56.43",
	      "putcall" : "",
	      "long_or_short" : "long",
	      "quant_closed" : "150",
	      "markToMarket_time" : "2015-06-11 16:40:03",
	      "trade_id" : "94369671",
	      "symbol" : "EWY",
	      "opening_price_VWAP" : "58.23390",
	      "quant_opened" : "250",
	      "closedWhen" : "",
	      "instrument" : "stock",
	      "ptValue" : "1",
	      "PL" : "-451",
	      "closedWhenUnixTimeStamp" : "",
	      "openedWhen" : "2015-05-12 09:38:19",
	      "symbol_description" : "ISHARES MSCI KOREA CAPPED IND"
	   },
	   {
	      "closeVWAP_timestamp" : "1434055204",
	      "strike" : "0",
	      "open_or_closed" : "closed",
	      "expir" : "",
	      "openVWAP_timestamp" : "1434055204",
	      "underlying" : "",
	      "closing_price_VWAP" : "149.30000",
	      "putcall" : "",
	      "long_or_short" : "long",
	      "quant_closed" : "40",
	      "markToMarket_time" : "",
	      "trade_id" : "92028409",
	      "symbol" : "UVXY",
	      "opening_price_VWAP" : "128.01250",
	      "quant_opened" : "40",
	      "closedWhen" : "2015-01-29 10:16:56",
	      "instrument" : "stock",
	      "ptValue" : "1",
	      "PL" : "852",
	      "closedWhenUnixTimeStamp" : "1422544616",
	      "openedWhen" : "2015-01-22 09:30:06",
	      "symbol_description" : "PROSHARES ULTRA VIX SHORT-TERM"
	   }
	]
}

	

Retrieving working signals

Private PlatformWorld

You can retrieve all working signals (i.e. signals that have not yet traded, been canceled, or expired) within a system like this:


curl -d '{
    "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
    "systemid": "94959200"
 }' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/retrieveSignalsWorking'
	

A typical response might look like this:


{
   "response" : [
      {
         "isLimitOrder" : "150",
         "symbol" : "SWY",
         "strike" : null,
         "status" : "working",
         "name" : "SAFEWAY",
         "isStopOrder" : null,
         "instrument" : "stock",
         "posted_time_unix" : "1434114076",
         "underlying" : null,
         "isMarketOrder" : "0",
         "tif" : "DAY",
         "putcall" : null,
         "action" : "BTO",
         "expiration" : null,
         "quant" : "1",
         "signal_id" : "94974799",
         "posted_time" : "2015-06-12 09:01:16"
      },
      {
         "isLimitOrder" : "22.22",
         "symbol" : "SWY",
         "strike" : null,
         "status" : "working",
         "name" : "SAFEWAY",
         "isStopOrder" : null,
         "instrument" : "stock",
         "posted_time_unix" : "1434114075",
         "underlying" : null,
         "isMarketOrder" : "0",
         "tif" : "DAY",
         "putcall" : null,
         "action" : "BTO",
         "expiration" : null,
         "quant" : "2",
         "signal_id" : "94974798",
         "posted_time" : "2015-06-12 09:01:15"
      },
      {
         "isLimitOrder" : "39.99",
         "symbol" : "GOLD",
         "strike" : null,
         "status" : "working",
         "name" : "RANDGOLD RESOURCES",
         "isStopOrder" : null,
         "instrument" : "stock",
         "posted_time_unix" : "1434047839",
         "underlying" : null,
         "isMarketOrder" : "0",
         "tif" : "GTC",
         "putcall" : null,
         "action" : "STC",
         "expiration" : null,
         "quant" : "2",
         "signal_id" : "94958448",
         "posted_time" : "2015-06-11 14:37:19"
      }
   ]
}
	

Retrieving all signals (with filtering)

Private PlatformWorld

You can retrieve all historical signals ever submitted within a system. Because the response can be quite large, you should filter your request using a time-based filter parameter, like this:


curl -d '{
            "apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
            "systemid": "89959688",
            "filter_type":	"time_posted",
            "filter_date_time_start": "2015-06-11 00:00:00",
            "filter_date_time_end": "2015-06-13 11:00:00"
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/retrieveSignalsAll'
	

Available filter_type values are: time_posted, time_traded, time_expired, time_canceled.

All times are New York time, regardless of the location of the exchange where the instrument is traded.


A typical response might look like this:


	{
   "response" : [
      {
         "canceled_time_unix" : "0",
         "isLimitOrder" : "150",
         "strike" : null,
         "status" : "working",
         "expired_time_unix" : "0",
         "traded_time" : "",
         "expired_time" : "0",
         "underlying" : null,
         "isMarketOrder" : "0",
         "putcall" : null,
         "tif" : "DAY",
         "expiration" : null,
         "quant" : "1",
         "canceled_time" : "",
         "symbol" : "SWY",
         "name" : "SAFEWAY",
         "isStopOrder" : null,
         "instrument" : "stock",
         "posted_time_unix" : "1434114076",
         "action" : "BTO",
         "traded_time_unix" : "0",
         "signal_id" : "94974799",
         "posted_time" : "2015-06-12 09:01:16"
      },
      {
         "canceled_time_unix" : "0",
         "isLimitOrder" : "22.22",
         "strike" : null,
         "status" : "working",
         "expired_time_unix" : "0",
         "traded_time" : "",
         "expired_time" : "0",
         "underlying" : null,
         "isMarketOrder" : "0",
         "putcall" : null,
         "tif" : "DAY",
         "expiration" : null,
         "quant" : "2",
         "canceled_time" : "",
         "symbol" : "SWY",
         "name" : "SAFEWAY",
         "isStopOrder" : null,
         "instrument" : "stock",
         "posted_time_unix" : "1434114075",
         "action" : "BTO",
         "traded_time_unix" : "0",
         "signal_id" : "94974798",
         "posted_time" : "2015-06-12 09:01:15"
      }
   ]
}
	

Automatic Position Maintenance

Private PlatformWorld

Depending on your trading goals, it may be simpler to tell Collective2 which symbols you want to hold in your C2 Model Account portfolio, and how large to make each position, rather than delivering specific buy and sell "signals."

If you use our Position Maintenance API, Collective2 will be responsible for placing whatever individual buy and sell signals are required to make your Model Account have only the positions you desire. C2 will use market orders -- only when relevant markets are open -- to achieve the position goals you set. See below for examples of how you can set (and get) your system's desired positions.

setDesiredPositions

Private PlatformWorld

Each call to setDesiredPositions must include a list of hash elements (i.e. a list of associative arrays). Each hash element contains: symbol, typeofsymbol, and quant. Positive quantities are long positions. Negative quantities are short positions. (Note the exception, below: a special type of element denoting an empty portfolio with no positions whatsoever.)

Here is an example of how you can call setDesiredPositions:


curl -d '{
"apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
"systemid": "94679653",
"positions": 	[
					{ 
						"symbol"		: "@ESM5",
						"typeofsymbol"	: "future",
						"quant"			: "-4"
					},
					{
						"symbol"		: "EURUSD",
						"typeofsymbol"	: "forex",
						"quant"			: "-3"
					},
					{
						"symbol"		: "AAPL",
						"typeofsymbol"	: "stock",
						"quant"			: "211"
					}

				]
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/setDesiredPositions'

	

This call returns:


{
    "response": [
        {
            "underlying": null,
            "symbol": "EURUSD",
            "putcall": null,
            "strike": null,
            "typeofsymbol": "forex",
            "quant": "-3",
            "expir": null
        },
        {
            "underlying": null,
            "symbol": "@ESM5",
            "putcall": null,
            "strike": null,
            "typeofsymbol": "future",
            "quant": "-4",
            "expir": null
        },
        {
            "underlying": null,
            "symbol": "AAPL",
            "putcall": null,
            "strike": null,
            "typeofsymbol": "stock",
            "quant": "211",
            "expir": null
        }
    ]
}
	

Here is how you tell setDesiredPositions that you want no positions within a strategy:


curl -d '{
"apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
"systemid": "94679653",
"positions": 	[
					{ 
						"symbol"  : "flat",
						"typeofsymbol"  : "flat",
						"quant"  : "0"
					}

				]
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/setDesiredPositions'

	


Here is how you tell setDesiredPositions to stop automatically maintaining positions. Note that this is different than telling C2 to maintain a flat position.


curl -d '{
"apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
"systemid": "94679653",
"positions": 	[
					{ 
						"symbol"			: "stop",
						"typeofsymbol"	: "stop",
						"quant"			: "0"
					}

				]
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/setDesiredPositions'

	

getDesiredPositions

Private PlatformWorld

You can query your strategy's desired positions. Note that the information returned here will be whichever data you most recently sent via setDesiredPositions. This does not necessarily return a strategy's current positions. For that, see Retrieving open and closed position information.

Here is an example of how you can call getDesiredPositions:


curl -d '{
"apikey":   "1kuBwZmJpHHHgJAHFSYGYFSYGHf1nvOV4hSGPWVwy8HuAshe",
"systemid": "94679653"
}' -H "Content-Type: application/json" 'https://collective2.com/world/apiv3/getDesiredPositions'

	

This call returns:


{
    "response": [
        {
            "underlying": null,
            "symbol": "EURUSD",
            "putcall": null,
            "strike": null,
            "typeofsymbol": "forex",
            "quant": "-3",
            "expir": null
        },
        {
            "underlying": null,
            "symbol": "@ESM5",
            "putcall": null,
            "strike": null,
            "typeofsymbol": "future",
            "quant": "-4",
            "expir": null
        },
        {
            "underlying": null,
            "symbol": "AAPL",
            "putcall": null,
            "strike": null,
            "typeofsymbol": "stock",
            "quant": "211",
            "expir": null
        }
    ]
}
	

Additional Signal API Examples:

cancelSignal

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/cancelSignal POST https://api.collective2.com/world/apiv3/cancelSignal
{
   "signalid" : 99058927,
   "systemid" : 98885884,
   "apikey" : "XT3z0xJ9m8bwz31cta"
}

Example response

{
   "ok" : "0",
   "signal" : {
      "market" : "0",
      "strike" : null,
      "typeofsymbol" : "stock",
      "signalid" : "99058927",
      "expir" : null,
      "personid" : "3",
      "underlying" : null,
      "putcall" : null,
      "day" : "1",
      "gtc" : "0",
      "quant" : "2",
      "guid" : "99058927",
      "expiredwhen" : "0",
      "tradeprice" : null,
      "killedwhen" : "1452112519",
      "systemid" : "98885884",
      "symbol" : null,
      "islimit" : "99.990000",
      "postedwhen" : "1452112474",
      "stop" : "0.000000",
      "action" : "BTO",
      "signalexpiresat" : "1452114300",
      "tradedwhen" : "0"
   },
   "signalid" : "99058927",
   "error" : {
      "title" : "Signal already canceled",
      "message" : "Signal could not be canceled"
   },
   "elapsed_time" : "0.0010"
}

submitSignal

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/submitSignal POST https://api.collective2.com/world/apiv3/submitSignal
{
   "signal" : {
      "market" : 1,
      "symbol" : "AAPL",
      "typeofsymbol" : "stock",
      "action" : "BTO",
      "limit" : "99.99",
      "duration" : "DAY",
      "quant" : 2
   },
   "systemid" : 98885884,
   "apikey" : "cFbmqTygmtS8RL3YYS"
}

Example response

{
   "ok" : "1",
   "signal" : {
      "market" : "0",
      "parkUntilSecs" : null,
      "typeofsymbol" : "stock",
      "stoploss" : "",
      "signalid" : "99124414",
      "comments" : null,
      "currency" : "USD",
      "day" : "1",
      "gtc" : "0",
      "quant" : "2",
      "limit" : "99.99",
      "systemid" : "98885884",
      "parkUntilYYYYMMDDHHMM" : null,
      "symbol" : "AAPL",
      "stop" : "0",
      "conditionalupon" : null,
      "duration" : "DAY",
      "targetocagroupid" : null,
      "expiresat" : "1452546300",
      "profittarget" : "",
      "action" : "BTO",
      "pointvalue" : 1,
      "ocaid" : null
   },
   "signalid" : "99124414",
   "elapsed_time" : "0.2832"
}

AutoTrade Management API

getListAvailableBrokers

Private Platform World

Parameters

Optional
Type
Min
Max
trade_forex
integer
0
1
trade_futures
integer
0
1
trade_stocks
integer
0
1
trade_options
integer
0
1
allow_short_options
integer
0
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/getListAvailableBrokers POST https://api.collective2.com/world/apiv3/getListAvailableBrokers
{
   "systemid" : "78921278",
   "personid" : "100",
   "apikey" : "ucOMNu5mUU9Rg8N9PA"
}

Example response

{
   "success" : {
      "parameters_in" : {
         "options" : null,
         "stocks" : null,
         "countrycode" : "us",
         "personid" : "100",
         "show_simulated_broker" : 1,
         "forex" : null,
         "allow_short_options" : null,
         "wlSiteID" : null,
         "futures" : null,
         "systemid" : "78921278"
      },
      "brokers_available" : [
         {
            "brokerClassImageURL" : "/images/brokers/c2LogoAutoTrade.png",
            "brokerClassName" : "Simulated Broker",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "Simulated Brokerage Account",
                  "manual_trading_allowed" : "0",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : "42869",
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "C2DEMO",
                  "needAccountPW" : 0,
                  "broker_trades_forex" : "1"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/amp_160_160.png",
            "brokerClassName" : "AMP Clearing",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "AMP Clearing (CQG)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "AMPCQG",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "AMP Clearing (CQG, server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "AMPCQG",
                  "broker_trades_futures" : "1",
                  "brokercode" : "AMPCQGB",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "AMP Clearing (Rithmic, server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "AMP_RITHMIC",
                  "broker_trades_futures" : "1",
                  "brokercode" : "AMP_RITHMICB",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "AMP Clearing (Rithmic)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "AMP_RITHMIC",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/cqglogo160x160.png",
            "brokerClassName" : "CQG",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "Dorman - CQG (Futures)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "CQGDORMAN",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/danielsLogo160x160.png",
            "brokerClassName" : "Daniels Trading",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "CTS Daniels Trading (RJO)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "CTSDANIELRJO",
                  "textlabel_for_broker_userid" : "User ID",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "Daniels Trading (Forex)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "0",
                  "brokercode" : "DANIELSFX",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               },
               {
                  "brokername" : "Daniels Trading (OEC)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "DANIELS",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/dorman160x160.png",
            "brokerClassName" : "Dorman Trading",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "Dorman - CQG (Futures)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "DORMANCQG",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "Dorman Trading (CTS)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "DORMAN",
                  "textlabel_for_broker_userid" : "User ID",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "Dorman Trading - Rithmic",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "DORMANRITHM",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "Dorman Trading CTS (server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "DORMAN",
                  "broker_trades_futures" : "1",
                  "brokercode" : "DORMANB",
                  "textlabel_for_broker_userid" : "User ID",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/fxcm_large2.png",
            "brokerClassName" : "FXCM",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "FXCM-NY-USD",
                  "manual_trading_allowed" : "0",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "0",
                  "brokercode" : "FXCMLIVE",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               },
               {
                  "brokername" : "FXCM-UK-GBP",
                  "manual_trading_allowed" : "0",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "0",
                  "brokercode" : "FXCMLIVEUK",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               },
               {
                  "brokername" : "FXCM-UK-GBP (server 2)",
                  "manual_trading_allowed" : "0",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "FXCMLIVEUK",
                  "broker_trades_futures" : "0",
                  "brokercode" : "FXCMLIVEUKB",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/gain_large.png",
            "brokerClassName" : "Gain Capital",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "Gain Capital (Forex)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "0",
                  "brokercode" : "OECLIVEFX",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               },
               {
                  "brokername" : "Gain Capital (Futures)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "OEC",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "The Fox Group (Gain Capital)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "FOXGRP",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "Gain Capital (Forex, Server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "OECLIVEFX",
                  "broker_trades_futures" : "0",
                  "brokercode" : "OECLIVEFXB",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               },
               {
                  "brokername" : "Gain Capital (Futures, Server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "OEC",
                  "broker_trades_futures" : "1",
                  "brokercode" : "OECB",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/highRidge160x160.png",
            "brokerClassName" : "High Ridge Futures",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "High Ridge Futures - CGQ (Futures)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "CQG_LIVE",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "High Ridge Futures - CTS (Futures)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "VISIONCTS",
                  "textlabel_for_broker_userid" : "User ID",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "High Ridge Futures - Rithmic (ADM)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "VISIONRITH",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/ib_large.png",
            "brokerClassName" : "Interactive Brokers",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "Interactive Brokers (Direct Connection) (server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "IB_LIVE",
                  "broker_trades_futures" : "1",
                  "brokercode" : "IB_LIVEB",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               },
               {
                  "brokername" : "Interactive Brokers (Direct Connection)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "IB_LIVE",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/mb_large.png",
            "brokerClassName" : "MB Trading",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "MBTrading (Futures)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "MBTUSFUT",
                  "textlabel_for_broker_userid" : "User name",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "MBTrading (Stocks, Options)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "MBTUSLIVE2",
                  "textlabel_for_broker_userid" : "User name",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "MBTrading USA (Forex)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "0",
                  "brokercode" : "MBTUSLIVE",
                  "textlabel_for_broker_userid" : "User name",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "1"
               },
               {
                  "brokername" : "MBTrading (Stocks, Options) (server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "MBTUSLIVE2",
                  "broker_trades_futures" : "1",
                  "brokercode" : "MBTUSLIVE2B",
                  "textlabel_for_broker_userid" : "User name",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/ninjatrader_160_160.png",
            "brokerClassName" : "NinjaTrader Brokerage",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "NinjaTrader Broker (CQG)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "NINJACQG",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "NinjaTrader Brokerage (CTS/Dorman)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "MIRUS",
                  "textlabel_for_broker_userid" : "User ID",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/optimus160x160.png",
            "brokerClassName" : "Optimus Futures",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "Optimus Futures (ADM/Rithmic)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "OPTIMUSR",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/optionshouse_logo_160_160.png",
            "brokerClassName" : "OptionsHouse",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "OptionsHouse",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "0",
                  "brokercode" : "TM_LIVE",
                  "textlabel_for_broker_userid" : "User ID #",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "OptionsHouse (server 2)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : "TM_LIVE",
                  "broker_trades_futures" : "0",
                  "brokercode" : "TM_LIVEB",
                  "textlabel_for_broker_userid" : "User ID #",
                  "needAccountPW" : 1,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         },
         {
            "brokerClassImageURL" : "/images/brokers/tradepro160x160b.png",
            "brokerClassName" : "Trade Pro Futures",
            "is_c2_preferred" : 0,
            "brokerChoicesForThisParentClass" : [
               {
                  "brokername" : "Trade Pro Futures (ADM/Rithmic)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "1",
                  "broker_trades_stocks" : "1",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "TPROADMRITH",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               },
               {
                  "brokername" : "Trade Pro Futures (Dorman/Rithmic)",
                  "manual_trading_allowed" : "1",
                  "broker_trades_options" : "0",
                  "broker_trades_stocks" : "0",
                  "personid_is_trading_here_broker_account_guid" : 0,
                  "need_broker_userid" : 1,
                  "onlynonusacustomers" : 0,
                  "this_is_secondary_choice_available_only_if_brokercode_used" : null,
                  "broker_trades_futures" : "1",
                  "brokercode" : "TPRODORRITH",
                  "textlabel_for_broker_userid" : "User ID",
                  "needAccountPW" : 0,
                  "needAccountNum" : 1,
                  "broker_trades_forex" : "0"
               }
            ]
         }
      ]
   },
   "ok" : "1"
}

changeAutoTrade

Private Platform World Subscriber

Parameters

Required
Type
Min
Max
systemid
integer
Optional
Type
Min
Max
scalingPercentage
integer
1
max_units_futures
integer
1
max_units_forex
integer
1
max_units_options
integer
1
max_dollars_stocks
integer
100
enable_futures
integer
0
1
enable_forex
integer
0
1
enable_options
integer
0
1
enable_stocks
integer
0
1
allow_short_options
integer
0
1
stopLossDollarsPerPosition
integer
100
ignore_manual_trades_in_account
integer
0
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/changeAutoTrade POST https://api.collective2.com/world/apiv3/changeAutoTrade
{
   "enable_forex" : 1,
   "scalingPercentage" : 68,
   "personid" : "100",
   "stopLossDollarsPerPosition" : 550,
   "brokercode" : "C2DEMO",
   "max_dollars_stocks" : 15000,
   "max_units_forex" : 5,
   "apikey" : "vHsKY4ebygLiSiM32t",
   "systemid" : "1234"
}

Example response

{
   "success" : {
      "broker_account_guid" : "42869"
   },
   "ok" : "1"
}

stopAutoTrade

Private Platform World Subscriber

Parameters

Required
Type
Min
Max
systemid
integer
leavePositionsAndOrdersUntouched
integer
0
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/stopAutoTrade POST https://api.collective2.com/world/apiv3/stopAutoTrade
{
   "leavePositionsAndOrdersUntouched" : 0,
   "brokercode" : "C2DEMO",
   "systemid" : 1234,
   "personid" : "100",
   "apikey" : "klU2e8aWxo8ErJSC7R"
}

Example response

{
   "success" : {
      "status" : {
         "visiblePositionsLeftUntouched" : []
      }
   },
   "ok" : "1"
}

startAutoTrade

Private Platform World Subscriber

Parameters

Required
Type
Min
Max
systemid
integer
broker_accountnum
string
4 char
30 char
scalingPercentage
integer
1
allow_short_options
integer
0
1
ignore_manual_trades_in_account
integer
0
1
join_trades_in_progress
integer
0
1
broker_userid
string
4 char
30 char
broker_password
string
4 char
30 char
Optional
Type
Min
Max
enable_futures
integer
0
1
enable_forex
integer
0
1
enable_options
integer
0
1
enable_stocks
integer
0
1
max_units_futures
integer
1
max_units_forex
integer
1
max_units_options
integer
1
max_dollars_stocks
integer
100
join_trades_in_progress
integer
0
1
stopLossDollarsPerPosition
integer
100

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/startAutoTrade POST https://api.collective2.com/world/apiv3/startAutoTrade
{
   "join_trades_in_progress" : 1,
   "enable_futures" : 1,
   "brokercode" : "C2DEMO",
   "scalingPercentage" : 50,
   "systemid" : "1234",
   "personid" : "100",
   "apikey" : "QNFKAMTpMjvBqp9XdL"
}

Example response

{
   "success" : {
      "broker_account_guid" : "42869"
   },
   "ok" : "1"
}

change_software_license_status

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer
license_id
integer
Optional
Type
Min
Max
recurring_billing_status
integer
0
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/change_software_license_status
{
   "payment_method" : "platform_master_account",
   "license_id" : "7678",
   "apikey" : "PK_J3uGNVcXP_RSny3"
}

Example response

{
   "ok" : "0",
   "error" : {
      "errors" : [
         "No current license with this license_id controlled by this platform"
      ],
      "title" : "Unable to change_software_license_status",
      "message" : "There were problems with your request."
   }
}

create_software_license_record_platform

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer
personid
integer
license_type_requested
List Member
ui_description
string
char
30 char

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/create_software_license_record_platform
{
   "payment_method" : "platform_master_account",
   "license_type_requested" : "autotrade_monthly",
   "personid" : 98867966,
   "apikey" : "XnY9f2nPPmQRdrka7w"
}

Example response

{
   "success" : {
      "license_id" : "7762"
   },
   "ok" : "1"
}

Private-Branded Platform API

deleteUser

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/deleteUser
{
   "personid" : "99058649",
   "apikey" : "wxn6uhFzD8ptCwr9DZ"
}

Example response

{
   "ok" : "0",
   "error" : {
      "errors" : [
         "Person already deleted"
      ],
      "title" : "Unable to delete user",
      "message" : "There were problems with your request to delete the user."
   }
}

listAllPeople

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/listAllPeople
{
   "apikey" : "rPeo9dz0z5NVcIRXCs"
}

Example response

{
   "ok" : "1",
   "people" : [
      {
         "firstName" : "John",
         "current_software_license_list" : [],
         "person_id" : "99058649",
         "deleted" : "2016-01-06 15:24:05",
         "current_strategy_subscription_list" : [],
         "created" : "2016-01-06 15:23:15",
         "email" : "[email protected]",
         "LastName" : "Doe",
         "current_strategies_owned_list" : [],
         "screenName" : "newUserManChild"
      },
      {
         "firstName" : "Sam",
         "current_software_license_list" : [
            {
               "ends_when" : "2016-02-10 02:16",
               "amount_paid_for_current_period" : "99.00",
               "amount_to_pay_next_period" : "99.00",
               "license_id" : "7761",
               "starts_when" : "2016-01-10 02:16",
               "payment_method_for_next_period" : "credit_card",
               "payment_method_for_current_period" : "platform_master_account",
               "current_billing_failed_attempts" : null,
               "licensed_to_personid" : "98867966",
               "license_type_requested" : "autotrade_monthly",
               "recurring_billing_status" : "1"
            }
         ],
         "person_id" : "98867966",
         "deleted" : "",
         "current_strategy_subscription_list" : [
            {
               "systemname" : "API System 666",
               "listPaymentRecords" : [],
               "subscription_guid" : "98972362",
               "started_when" : "2015-12-30 04:34",
               "system_id" : "98885884",
               "ended_when" : null
            }
         ],
         "created" : "2015-12-21 13:52:54",
         "email" : "[email protected]",
         "LastName" : "Moe",
         "current_strategies_owned_list" : [
            {
               "systemname" : "API System 300",
               "is_alive" : "1",
               "credits_status" : {
                  "signal_credits_remaining" : "0",
                  "time_credit_remaining_until" : "2016-01-11 02:35",
                  "requires_credits" : 0
               },
               "created_when" : "2016-01-10 02:35",
               "is_trade_leader_strategy" : "0",
               "systemid" : "99124411",
               "transactions_list" : []
            },
            {
               "systemname" : "API System 300",
               "is_alive" : "1",
               "credits_status" : {
                  "signal_credits_remaining" : "0",
                  "time_credit_remaining_until" : "2016-01-11 02:35",
                  "requires_credits" : 0
               },
               "created_when" : "2016-01-10 02:35",
               "is_trade_leader_strategy" : "0",
               "systemid" : "99124408",
               "transactions_list" : []
            },
            {
               "systemname" : "API System 300",
               "is_alive" : "1",
               "credits_status" : {
                  "signal_credits_remaining" : "0",
                  "time_credit_remaining_until" : "2016-01-11 02:16",
                  "requires_credits" : 0
               },
               "created_when" : "2016-01-10 02:16",
               "is_trade_leader_strategy" : "0",
               "systemid" : "99124397",
               "transactions_list" : []
            }
         ],
         "screenName" : "MoeMan2"
      }
   ]
}

changePersonAttribute

Private Platform World

Parameters

Required
Type
Min
Max
firstname
string
1 char
40 char
lastname
string
1 char
40 char
password
string
6 char
30 char
email
string
1 char
60 char

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/changePersonAttribute POST https://api.collective2.com/world/apiv3/changePersonAttribute
{
   "email" : "[email protected]",
   "firstname" : "Sam",
   "password" : "c2xyz0192837432sgsh",
   "screenname" : "MoeMan2",
   "lastname" : "Moe",
   "personid" : "98867966",
   "apikey" : "PByEsGpAhFP3ZQv1mW"
}

Example response

{
   "success" : {
      "changes" : [
         "screenname updated",
         "password updated",
         "firstname updated",
         "firstname updated",
         "email updated"
      ]
   },
   "ok" : "1"
}

privateSubManagement_endSubscription

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer
subscription_guid
integer
systemid
integer
systemid
integer
personid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/privateSubManagement_endSubscription
{
   "subscription_guid" : 98972362,
   "unsubAtYYYYMMDDhhmm" : "2016-03-03 09:30",
   "apikey" : "YQjZoK6ggDgdP9bZdh"
}

Example response

{
   "success" : {
      "subscription_guid" : "98972362"
   },
   "ok" : "1"
}

createNewUser

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer
screenname
string
4 char
20 char
firstname
string
1 char
40 char
lastname
string
1 char
40 char
password
string
6 char
30 char
email
string
1 char
60 char

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/createNewUser
{
   "email" : "[email protected]",
   "firstname" : "John",
   "password" : "c2xyz0192837432sgsh",
   "lastname" : "Doe",
   "screenname" : "newUserManChild",
   "apikey" : "w0hr8mU1NS5quBVZhC"
}

Example response

{
   "success" : {
      "NewPersonID" : "99124407"
   },
   "ok" : "1"
}

privateSubManagement_createSubscription

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer
systemid
integer
systemid
integer
personid
integer
Optional
Type
Min
Max
untilDaysFromNow
integer
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/privateSubManagement_createSubscription
{
   "untilDaysFromNow" : 10,
   "systemid" : "98885884",
   "personid" : "98867966",
   "apikey" : "bPWvFsNCZd7ZRf7LqO"
}

Example response

{
   "success" : {
      "subscription_guid" : "98972362"
   },
   "ok" : "1"
}

listAllSystems

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/listAllSystems
{
   "apikey" : "xPoyuXhUUYx4iXET6X"
}

Example response

{
   "ok" : "1",
   "response" : [
      {
         "longDescription" : null,
         "system_id" : "99119906",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452454348",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-09 14:32:28",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-10 14:32:28"
      },
      {
         "longDescription" : null,
         "system_id" : "99119747",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452450015",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-09 13:20:15",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-10 13:20:15"
      },
      {
         "longDescription" : null,
         "system_id" : "99122953",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452530278",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-10 11:37:58",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-11 11:37:58"
      },
      {
         "longDescription" : null,
         "system_id" : "99122751",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452522914",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-10 09:35:14",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-11 09:35:14"
      },
      {
         "longDescription" : null,
         "system_id" : "99122883",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452529185",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-10 11:19:45",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-11 11:19:45"
      }
   ]
}

getPersonRecord

Private Platform World

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/getPersonRecord POST https://api.collective2.com/world/apiv3/getPersonRecord
{
   "personid" : "100",
   "apikey" : "Zb9Z_wOLk_5izxnilm"
}

Example response

{
   "ok" : "1",
   "people" : [
      {
         "firstName" : "Matthew",
         "all_strategy_subscription_list" : [
            {
               "systemname" : "ETF Tri",
               "listPaymentRecords" : [],
               "subscription_guid" : "99124415",
               "started_when" : "2016-01-10 02:35",
               "system_id" : "78921278",
               "ended_when" : "2016-01-10 02:35"
            },
            {
               "systemname" : "ETF Tri",
               "listPaymentRecords" : [],
               "subscription_guid" : "99124401",
               "started_when" : "2016-01-10 02:16",
               "system_id" : "78921278",
               "ended_when" : "2016-01-10 02:16"
            },
            {
               "systemname" : "ETF Tri",
               "listPaymentRecords" : [],
               "subscription_guid" : "99122993",
               "started_when" : "2016-01-10 11:46",
               "system_id" : "78921278",
               "ended_when" : "2016-01-10 11:46"
            },
            {
               "systemname" : "ETF Tri",
               "listPaymentRecords" : [],
               "subscription_guid" : "99122978",
               "started_when" : "2016-01-10 11:42",
               "system_id" : "78921278",
               "ended_when" : "2016-01-10 11:42"
            },
            {
               "systemname" : "ETF Tri",
               "listPaymentRecords" : [],
               "subscription_guid" : "99122967",
               "started_when" : "2016-01-10 11:39",
               "system_id" : "78921278",
               "ended_when" : "2016-01-10 11:39"
            }
         ],
         "person_id" : "100",
         "autotrading_status_list" : [
            {
               "broker_account_guid" : "42869",
               "scalingPercentage" : "100",
               "systemname" : "Volatility Factor",
               "stopLossDollarsPerPosition" : null,
               "broker_class_name" : "Simulated Broker Account",
               "enabled_options" : 1,
               "max_units_forex" : null,
               "autotrade_system_guid" : "96466",
               "systemid" : "84556311",
               "enabled_futures" : 1,
               "broker_connection_name" : "Simulated Brokerage Account",
               "max_units_options" : null,
               "broker_accountnum" : "SIM100",
               "max_units_futures" : null,
               "enabled_forex" : 1,
               "brokercode" : "C2DEMO",
               "max_dollars_stocks" : null,
               "allow_short_options" : 1,
               "enabled_stocks" : 1
            }
         ],
         "created" : "2001-01-01 00:00:00",
         "email" : "[email protected]",
         "LastName" : "Klein",
         "all_software_license_list" : [
            {
               "ends_when" : "2015-07-12 01:52",
               "amount_paid_for_current_period" : "99.00",
               "amount_to_pay_next_period" : null,
               "license_id" : "6763",
               "starts_when" : "2015-06-11 01:52",
               "payment_method_for_next_period" : null,
               "payment_method_for_current_period" : "credit_card",
               "current_billing_failed_attempts" : null,
               "licensed_to_personid" : "100",
               "license_type_requested" : "autotrade_monthly",
               "recurring_billing_status" : "0"
            },
            {
               "ends_when" : "2015-05-28 01:03",
               "amount_paid_for_current_period" : "99.00",
               "amount_to_pay_next_period" : null,
               "license_id" : "6598",
               "starts_when" : "2015-04-28 01:03",
               "payment_method_for_next_period" : null,
               "payment_method_for_current_period" : "credit_card",
               "current_billing_failed_attempts" : null,
               "licensed_to_personid" : "100",
               "license_type_requested" : "autotrade_monthly",
               "recurring_billing_status" : "0"
            },
            {
               "ends_when" : "2015-04-28 10:03",
               "amount_paid_for_current_period" : "99.00",
               "amount_to_pay_next_period" : "99.00",
               "license_id" : "6495",
               "starts_when" : "2015-03-29 10:03",
               "payment_method_for_next_period" : null,
               "payment_method_for_current_period" : "credit_card",
               "current_billing_failed_attempts" : null,
               "licensed_to_personid" : "100",
               "license_type_requested" : "autotrade_monthly",
               "recurring_billing_status" : "1"
            }
         ],
         "all_strategies_owned_list" : [
            {
               "systemname" : "Testycular",
               "is_alive" : "1",
               "credits_status" : {
                  "signal_credits_remaining" : "5",
                  "time_credit_remaining_until" : null,
                  "requires_credits" : 0
               },
               "created_when" : "2015-12-27 01:30",
               "is_trade_leader_strategy" : "0",
               "systemid" : "98927357",
               "transactions_list" : []
            },
            {
               "systemname" : "Musculature",
               "is_alive" : "1",
               "credits_status" : {
                  "signal_credits_remaining" : "5",
                  "time_credit_remaining_until" : null,
                  "requires_credits" : 0
               },
               "created_when" : "2015-12-23 04:13",
               "is_trade_leader_strategy" : "0",
               "systemid" : "98906178",
               "transactions_list" : []
            },
            {
               "systemname" : "API Tester",
               "is_alive" : "1",
               "credits_status" : {
                  "signal_credits_remaining" : "0",
                  "time_credit_remaining_until" : "2018-06-15 03:40",
                  "requires_credits" : 0
               },
               "created_when" : "2015-12-16 02:22",
               "is_trade_leader_strategy" : "0",
               "systemid" : "95056111",
               "transactions_list" : []
            }
         ],
         "screenName" : "MatthewKlein"
      }
   ]
}

toggleSystemVisibility

Private Platform World

Parameters

Required
Type
Min
Max
systemid
integer
site_visibility_status
integer
0
1
systemid
integer

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/toggleSystemVisibility POST https://api.collective2.com/world/apiv3/toggleSystemVisibility
{
   "site_visibility_status" : 0,
   "systemid" : 98885311,
   "apikey" : "oAWprecMQ7pNx5KIN9"
}

Example response

{
   "success" : {
      "newVisibilityStatus" : 0
   },
   "ok" : "1"
}

privateSubManagement_changeSubscriptionEndTime

Private Platform

Parameters

Required
Type
Min
Max
platformid
integer
subscription_guid
integer
Optional
Type
Min
Max
add_days_to_current_term
integer
1

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/privateSubManagement_changeSubscriptionEndTime
{
   "subscription_guid" : 98972362,
   "end_date_YYYYMMDD" : "2016-06-07",
   "apikey" : "vcI91QUXZxIM15VNZ1"
}

Example response

{
   "success" : {
      "changes" : [
         "subscriptionEndTime updated"
      ]
   },
   "ok" : "1"
}

listAllSystems

Private Platform World

Example request

POST https://api.collective2.com/platform/apiv3/[PLATFORMID]/listAllSystems POST https://api.collective2.com/world/apiv3/listAllSystems
{
   "apikey" : "M7URNlgk2VkmJLppO5"
}

Example response

{
   "ok" : "1",
   "response" : [
      {
         "longDescription" : null,
         "system_id" : "99119906",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452454348",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-09 14:32:28",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-10 14:32:28"
      },
      {
         "longDescription" : null,
         "system_id" : "99119747",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452450015",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-09 13:20:15",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-10 13:20:15"
      },
      {
         "longDescription" : null,
         "system_id" : "99122953",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452530278",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-10 11:37:58",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-11 11:37:58"
      },
      {
         "longDescription" : null,
         "system_id" : "99122751",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452522914",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-10 09:35:14",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-11 09:35:14"
      },
      {
         "longDescription" : null,
         "system_id" : "99122883",
         "trades_stocks" : "0",
         "ownerpersonid" : "98867966",
         "owner_email" : "[email protected]",
         "owner_lastname" : "Moe",
         "test_system" : "0",
         "shorts_stocks" : "0",
         "creditSystemTimeUntil_epochSecs" : "1452529185",
         "freeTrialPeriodDays" : "0",
         "minimum_portfolio_size_required" : "25000",
         "freeSignalEntryCredits" : "0",
         "owner_screenname" : "MoeMan2",
         "owner_firstname" : "Sam",
         "trades_options" : "0",
         "shorts_options" : "0",
         "systemName" : "API System 300",
         "equitycurve_startingcapital" : "25000",
         "trades_forex" : "0",
         "createdWhen" : "2016-01-10 11:19:45",
         "monthlyFee" : "0",
         "isAlive" : "1",
         "trades_futures" : "0",
         "shortDescription" : null,
         "site_visibility_status" : "1",
         "creditSystemTimeUntil_clock" : "2016-01-11 11:19:45"
      }
   ]
}