Enroll in cash sweep
Enroll an investor’s brokerage account in the High Yield Cash (HYC) / FDIC Bank Sweep program. The account must be ACTIVE, fully-disclosed, and have a customer agreement at or above the minimum required version.
Required disclosures can be accepted inline via disclosure_acceptances
(an array — each entry MUST carry its own disclosure_id), or
pre-recorded via POST /v1/investors/{investor_id}/disclosures/acceptances.
If any required disclosure is missing, the endpoint returns 400 with a
missing_disclosures array — each item carries the disclosure id,
title, verbatim text, and url so the partner can render the copy
and re-submit. On success, the response data block includes an
accepted_disclosures list of the ids that were acknowledged.
Authorizations
HTTP Basic Authentication using the API Key as username and API Secret as password.
Path Parameters
Investor ID (prefixed, e.g. inv_...)
Body
Cash sweep variant
non_shariah, shariah APR tier to assign
Optional inline disclosure acceptances. Each entry MUST carry
the disclosure_id it acknowledges — one timestamp shared
across "all missing" was audit-incorrect because the user
consents to each disclosure individually. Equivalent to
pre-recording via POST /v1/investors/{investor_id}/disclosures/acceptances.
The service rejects entries with a disclosure_id outside
the required set for this enrollment or duplicate ids.
Response
Enrollment initiated
Prefixed enrollment ID (e.g. cse_...)
cash_sweep_enrollment Unix timestamp of creation
non_shariah, shariah pending_enrollment, active, pending_unenrollment, inactive Ids of every HYC disclosure that was acknowledged on the way to this enrollment (pre-recorded + newly recorded inline on this request). Returned on the enroll response so the partner UI can show the full list without a follow-up GET on the disclosure-acceptances endpoint.
Acknowledgement of the High Yield Cash 11:45 AM ET processing cutoff. Returned on unenroll (and surfaced where else relevant) so partner UIs can render deterministic copy about when the request will take effect, without re-implementing the timezone math.