GET
/v1/admin/tickets/{ticket}/traderThe tab Trader of the website's Tickets screen, so a question can be answered without opening Users: the trader's standing, their accounts, what they asked before, and the payouts this conversation is about.
Accounts, payouts and fraud flags each need the permission of the screen they
come from. Without it that part is null, rather than empty, so a client can
tell "none" from "not yours to see". The ticket's can says the same in
advance.
Needs a firm. Our own staff name one with the Propper-Workspace header.
Request
curl "https://api.proppertrading.com/v1/admin/tickets/tkt_b3anxpgfthts4h2k/trader" \
-H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f" \
-H "Propper-Workspace: acme"
Response
{
"data": {
"object": "ticket_trader",
"trader": {
"id": "usr_33hajhd7u9q5mjqr",
"name": "Kai Popescu",
"email": "[email protected]",
"locale": "en",
"country": null,
"created_at": "2026-04-18T23:25:45+00:00",
"last_seen_at": null,
"is_active": true,
"deleted": false,
"kyc": "none"
},
"accounts": {
"items": [
{
"id": "acct_gsvrm4k43wtsvjj3",
"number": "PA6F9BFA2E",
"status": "funded",
"challenge": "50K Challange",
"balance": {
"value": "50761.58",
"currency": "USD"
}
},
{
"id": "acct_4uagh3t87bvbbfhh",
"number": "PA91A52A05",
"status": "passed",
"challenge": "50K Challange",
"balance": {
"value": "54585.26",
"currency": "USD"
}
}
],
"total": 3,
"funded": 1
},
"tickets": {
"items": [],
"total": 0
},
"payouts": [
{
"id": "po_99fc6kngcrdz7axf",
"number": "#DZ7AXF",
"status": "pending",
"amount": {
"value": "762.00",
"currency": "USD"
},
"created_at": "2026-10-04T03:59:48+00:00"
}
],
"flags": 0
},
"meta": {
"request_id": "req_01m50twjnmkn3qrdfxkx8xab9b"
}
}
| Field | Description |
|---|---|
trader | Null when the account is gone altogether. deleted is true for a trader who deleted it, whose history stays |
trader.locale | The language the trader uses the platform in |
trader.country | What the trader answered when they signed up. Null when they did not |
trader.kyc | verified once any identity check passed, otherwise the latest one: requires_input, processing or canceled. none when they never started one |
accounts | Up to eight, funded ones first, then active, then passed, then the rest, each newest first. total and funded count all of them. Null without view_accounts |
accounts.items | Each with id, number, status, challenge and balance |
tickets | What the trader asked before: up to ten other tickets, open ones first, each with id, subject, status, created_at and last_message_at. total counts all of them |
payouts | The payouts linked to this ticket, newest first, with what was asked. Null without view_payouts |
flags | Open fraud flags involving the trader. Null without view_fraud |
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | workspace_required | Asked by our own staff without naming a firm |
| 401 | invalid_token | Not a token, or the secret does not match |
| 401 | revoked_token | Signed out here or from another device |
| 401 | expired_token | Ninety days without use, or a set expiry passed |
| 403 | admin_access_required | This account no longer helps run the environment |
| 403 | insufficient_scope | This device does not hold admin:read |
| 403 | workspace_not_permitted | The Propper-Workspace header names an environment this account cannot act in |
| 403 | forbidden | Without view_tickets |
| 404 | resource_not_found | No ticket with that id in this firm |