Managed Investors
B2B surface for partners to provision and manage the investors they act on behalf of.
📄️ Complete a managed investor's profile
PUT semantics — the profile fully replaces the stored profile state; domain value objects validate (IBAN checksum, BIC, birth date) and map failures to 422. The `address`, `bank_account` and `company` sections are each all-or-nothing: omit one entirely to leave it unset, or send it whole. Inside `bank_account` only `iban` is required — BIC and institution are derived from it and the account holder defaults to the profile name. `consents` is REQUIRED on every write: omitting it, or sending a consent as not-given, revokes that consent and erases its recorded capture instant, so re-send each consent as given to leave it untouched. 404 if the investor is not owned by the partner.
📄️ Find a managed investor by your own customer reference
Resolves the partner_customer_ref you provisioned the investor with back to the investor. Use it when you hold your own key but not ours — previously the only way to recover the mapping was to re-POST /v1/investors and read the replay, which is a write used as a lookup. 404 if no investor of yours carries that ref.
📄️ Provision a managed investor
Creates a party identity (investor account + profile) the partner owns. Supplying the optional `profile` block completes the investor in the same call, which is the normal case. Idempotent on partner_customer_ref: re-provisioning the same ref with the same details replays the existing investor (200) instead of creating a second one (201); re-provisioning it with a different inline profile is a 409 — use PUT /v1/investors/{id}/profile to change a profile. The investor has no login user and cannot authenticate directly.
📄️ Get a managed investor
Returns the investor's status, profile completeness and full profile. 404 if the investor does not belong to the calling partner (no existence oracle).