Skip to main content

Create Account Group

Create an account group. The response is 201 Created with a Location header.

Elite

The Management API requires an Elite subscription. See Authentication.

Endpoint​

POST https://app.crosstrade.io/v1/api/manage/account-groups

Headers​

NameRequiredValue
AuthorizationYesBearer <your API token>
Content-TypeYesapplication/json

Body parameters​

NameTypeRequiredDescription
namestringYesThe name signals use
destinationnt8 or tradovateYesCannot be changed later
accountsarray of stringsYes1 to 100 accounts. nt8: names exactly as your add-on lists them. tradovate: active accounts on your linked Tradovate login

Code examples​

import requests

resp = requests.post(
"https://app.crosstrade.io/v1/api/manage/account-groups",
headers={"Authorization": "Bearer YOUR_TOKEN"},
json={'name': 'Evals', 'destination': 'nt8', 'accounts': ['PROP1234', 'PROP1235']},
)
print(resp.status_code, resp.json())

Responses​

{
"success": true,
"changed": true,
"data": {
"id": "acctgrp_Xy12ab34Cd56ef78",
"name": "Evals",
"destination": "nt8",
"accounts": [
"PROP1234",
"PROP1235"
],
"created": "2026-10-02T14:31:07Z",
"updated": "2026-10-02T14:31:07Z"
},
"changedFields": [
"accounts",
"destination",
"name"
],
"delivery": {
"status": "immediate",
"target": "signal_gate"
},
"warnings": [],
"meta": {
"requestId": "req_9f2c1a0b7d3e4f51",
"etag": "\"c2:Tm90UmVhbEV0YWcwMg\""
}
}

When it takes effect​

The next incoming webhook signal.

Notes​

  • An nt8 group needs your add-on connected so CrossTrade can check the accounts.
  • tradovate account names match without regard to case and are saved with Tradovate's spelling.
  • Names are unique per destination without regard to case. A create is refused with 409 group_name_conflict if the name is taken, so a retried create cannot make a second group.