Rebind a customer to a new Hyperprop login (support flow)
Move a soulbound customer to a new Hyperprop login in one atomic operation. There is no plain “release” — every customer always has exactly one bound login, so a lost login is fixed by rebinding, never by leaving the customer unbound.
Use this when a customer lost access to their Hyperprop login (forgot password AND lost the email — normal password reset covers everything else):
- Customer contacts YOUR support
- The customer creates their new Hyperprop account (signs up)
- You rebind here with the new login’s
email(ortraderId) — find the binding viaGET /trader-bindings?customerId=...
What happens:
- The binding now points at the new login (
boundVia: "rebind") - Every still-active account (
not_started/in_progress) linked to the OLD login is set tofailedwith the violation reason “Identity rebound by the firm …” — the old login can never trade this customer’s accounts again. Anaccount.failedwebhook fires per account, and the trade engine is refreshed immediately so open sessions are cut off. - Terminal accounts (
passed/failed/expired) are untouched — history stays with the old identity for audit. - Unlinked accounts with pending import keys are now redeemable only by the new login.
- Give the customer new accounts by creating them for the new login (or unassigned with an import key) — failed accounts are not transferred.
- Billing note: activating an account under the new login (redeeming a pending key, or a new linked create) counts as a fresh market data activation for that login — a new billing cycle (platform + market data) starts, on top of what the old login already consumed. Billing follows logins, not customers.
Safety checks:
- The new login must be an existing Hyperprop user (
404 TRADER_NOT_FOUNDotherwise — have the customer sign up first). - One login = one customer per firm: if the new login already belongs to a different customer of yours, the rebind is refused with
409 NEW_LOGIN_ALREADY_BOUND. - Rebinding to the already-bound login is a no-op and returns
400 SAME_LOGIN.
Permissions: organization admins (or API key). Supports idempotency keys.
Error codes: BINDING_NOT_FOUND, TRADER_NOT_FOUND, SAME_LOGIN, NEW_LOGIN_ALREADY_BOUND, REBIND_ERROR.
Authorizations
JWT Bearer token for user session auth. Format: "Bearer {token}". Used by User and Organization endpoints.
Path Parameters
Binding ID from GET /trader-bindings
Body
The NEW Hyperprop user ID to bind this customer to. Provide EITHER traderId OR email.
"f994bc02-343c-4026-8a57-afc085eca8d5"
Email of the customer's NEW Hyperprop login (must already exist — the customer signs up first). Resolved to their user ID server-side.
"customer-new@gmail.com"
Related topics
List trader identity bindings (customer ⇄ Hyperprop login)Import a trading account with an import keyUnlink a trader (issues a fresh import key)Create a trading accountSign up a new user