Collective2 General API (v4)

API to automate your trading

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

Schemas

Autotrade

Operations

Hello

Request

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

Bodyapplication/json
Namestring or nullrequired

Your name (or any string)

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

Responses

OK

Bodyapplication/json
resultsArray of strings or null

Result array

responseStatusobject(ResponseStatus)
Response
application/json
{ "results": [ "string" ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

General

Operations

GetProfile

Request

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

Query
PersonIdinteger or null(int64)

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

curl -i -X GET \
  https://api4-general.collective2.com/General/GetProfile \
  -H 'Authorization: Bearer <YOUR_Bearer myAPIkey_HERE>'

Responses

OK

Bodyapplication/json
resultsArray of objects or null(PersonDTO)

Result array

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

SearchProfiles

Request

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

Query
PersonIdinteger or null(int64)

The C2 PersonId (optional)

FirstNamestring or null

The FirstName. Not case-sensitive (optional)

LastNamestring or null

The FirstName. Not case-sensitive (optional)

Emailstring or null

The Email. Not case-sensitive (optional)

WhiteLabelSiteIdinteger or null(int64)

The White Label site Id (optional)

CountryCodestring or null

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

DivisionCodestring or null

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

IPAddressstring or null

The person's last known IP address (optional)

Phonestring or null

The verified Phone number (optional)

IsAliveboolean or null

The Person's Status (optional)

IsEmailValidatedboolean or null

The Person's email validation status (optional)

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

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

AscendingOrderboolean

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

curl -i -X GET \
  https://api4-general.collective2.com/General/SearchProfiles \
  -H 'Authorization: Bearer <YOUR_Bearer myAPIkey_HERE>'

Responses

OK

Bodyapplication/json
resultsArray of objects or null(PersonDTO)

Result array

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

UpdateProfile

Request

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

Bodyapplication/json
PersonIdinteger or null(int64)required

The C2 PersonId

curl -i -X PUT \
  https://api4-general.collective2.com/General/UpdateProfile \
  -H 'Authorization: Bearer <YOUR_Bearer myAPIkey_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "PersonId": 0
  }'

Responses

OK

Bodyapplication/json
resultsArray of objects or null(AddPersonResponseDTO)

Result array

responseStatusobject(ResponseStatus)
Response
application/json
{ "results": [ { "personId": 0, "csrf": "string" } ], "responseStatus": { "errorCode": "string", "message": "string", "errors": [ {} ] } }

GetInvestorPlanSubscriptions

Request

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

Query
PersonIdinteger or null(int64)required

The C2 PersonId

ActiveOnlyboolean

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

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

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

AscendingOrderboolean

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

curl -i -X GET \
  'https://api4-general.collective2.com/General/GetInvestorPlanSubscriptions?PersonId=0' \
  -H 'Authorization: Bearer <YOUR_Bearer myAPIkey_HERE>'

Responses

OK

Bodyapplication/json
resultsArray of objects or null(SubscriptionDTO)

Result array

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

GetManagerPlanSubscriptions

Request

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

Query
PersonIdinteger or null(int64)required

The C2 PersonId

ActiveOnlyboolean

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

Cursorstring or null

The Cursor from the previous resultset

Limitinteger(int32)

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

AscendingOrderboolean

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

curl -i -X GET \
  'https://api4-general.collective2.com/General/GetManagerPlanSubscriptions?PersonId=0' \
  -H 'Authorization: Bearer <YOUR_Bearer myAPIkey_HERE>'

Responses

OK

Bodyapplication/json
resultsArray of objects or null(SubscriptionDTO)

Result array

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