Update a trader
Update an organization trader’s metadata or external reference. Only organization admins can update traders.
The traderId is the Hyperprop user ID (the userId field from the GET /organization/traders list).
Allowed fields:
| Field | Description |
|---|---|
metadata | Custom organization data about this trader (replaces existing) |
mergeMetadata | true = merge the provided metadata keys instead of replacing |
externalUserId | Queryable external reference — your own user ID for this trader. Look them up with GET /traders?externalUserId=... (send null to clear) |
Use metadata to store any organization-specific data about traders, such as:
- Internal customer IDs
- Customer tier/level
- Notes
- Custom tags
Use externalUserId (rather than metadata) for the one reference you want to query by — it is indexed and exact-match filterable, and flows through webhook payloads as trader.externalUserId.
Example - Update metadata:
curl -X PATCH "https://api.example.com/platform/v1/organization/traders/{userId}" \
-H "X-API-Key: hp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"metadata": {"customerTier": "platinum", "internalId": "CUST-12345", "notes": "VIP customer"}}'
Example - Set your external reference:
curl -X PATCH "https://api.example.com/platform/v1/organization/traders/{userId}" \
-H "X-API-Key: hp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"externalUserId": "mffu-user-4471"}'
To clear metadata:
curl -X PATCH "https://api.example.com/platform/v1/organization/traders/{userId}" \
-H "X-API-Key: hp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"metadata": {}}'
Permissions: Only organization admins can update traders.
Authorizations
JWT Bearer token for user session auth. Format: "Bearer {token}". Used by User and Organization endpoints.
Path Parameters
The Hyperprop user ID (from GET /organization/traders list)
Body
Custom metadata. Replaces existing metadata wholesale unless mergeMetadata is true.
When true, the provided metadata keys are merged into the existing metadata instead of replacing it entirely
true
Your own queryable reference for this trader (null clears it). Look traders up later with GET /traders?externalUserId=...; also returned as trader.externalUserId in account payloads and webhooks.
255"mffu-user-4471"
Related topics
Update notification preferencesUpdate personal risk settings.Update a trading ruleUpdate your organization profileUpdate user profile