GET Member Broker Status
Read one member's stored Tradovate connection health. Only broker identities covered by an active grant appear. This endpoint uses your partner token and does not contact Tradovate.
Endpoint
GET https://app.crosstrade.io/v1/api/partner/users/{external_id}/brokers
Headers
| Name | Required | Value |
|---|---|---|
| Authorization | Yes | Bearer <partner access token> with partner:read (also implied by partner:provision) |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
external_id | string | Yes | Member id used at creation; 1–64 ASCII letters, digits, periods, underscores or hyphens |
No query parameters or request body.
Code examples
Set PARTNER_TOKEN and replace th_8831 with your member id.
- Python
- JavaScript
- cURL
import json
import os
import requests
response = requests.get(
"https://app.crosstrade.io/v1/api/partner/users/th_8831/brokers",
headers={"Authorization": f"Bearer {os.environ['PARTNER_TOKEN']}"},
timeout=15,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))
const response = await fetch(
"https://app.crosstrade.io/v1/api/partner/users/th_8831/brokers",
{ headers: { Authorization: `Bearer ${process.env.PARTNER_TOKEN}` } },
);
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(JSON.stringify(await response.json(), null, 2));
curl -sS "https://app.crosstrade.io/v1/api/partner/users/th_8831/brokers" \
-H "Authorization: Bearer $PARTNER_TOKEN"
Response
200 OK. The record is under member, with the same fields as each item from GET Broker Status. This response has no pagination, as_of field or membership ETag.
{
"success": true,
"member": {
"external_id": "th_8831",
"uid": "k3Qz9pLa",
"status": "connected",
"grant": {
"version": 1,
"active": true
},
"brokers": [
{
"environment": "demo",
"user_id": "4815162",
"name": "jamie_r",
"status": "ready",
"reason": null,
"expires": "2026-10-16T09:12:00Z",
"linked": "2026-10-15T14:08:40Z"
}
],
"all_ready": true
},
"meta": {
"requestId": "preq_1c2d3e4f5a6b7089"
}
}
Broker states are ready, reauth_required, unknown or unlinked; see connection states for their meanings. all_ready requires at least one shared login. A revoked member or member without shared identities returns brokers: [] and all_ready: false.
Membership status: connected describes consent, not broker health. If a login needs reauthorization, issue a relink Connect URL. Use the member's token for Trading and Management requests; ready does not bypass their authorization checks.
Errors
| Status | Error | Meaning |
|---|---|---|
| 400 | validation_failed | Malformed external id, unsupported query parameter or unexpected body |
| 401 | unauthorized | Invalid partner token |
| 403 | insufficient_scope, partner_not_enabled, partner_disabled | Scope or service policy refuses the read |
| 404 | member_not_found | Unknown member |
| 429 | rate_limited, too_many_concurrent_requests | Honor Retry-After |
| 503 | storage_unavailable, policy_unavailable, auth_unavailable, partner_api_unavailable | Retry with backoff |
See Partner errors for response shapes.