Select a global donor account
Completes global donor login after a password or passwordless flow returns selection_required. The controller validates the selection token and account id, loads the selected donor scoped by client and donor id from Redis, deletes the selection token, then creates a donor session and redirect for the selected account.
Body
Account-selection token and chosen account id from a previous global donor login response.
Short-lived Redis selection token. Validator rule: required|string.
"8b13d7f4c2e94b5fa0f2a0bb7b9359f469ac943f6bdc1eaaef23b7d75fc2e1ab"
Opaque account id returned inside the accounts array. Validator rule: required|string.
"a8b7c6d5e4f3"
Response
Account selection completed and donor session was created.
"success"
"You have successfully logged in!"
A donor record. Donors give one-time donations and recurring commitments, and may be linked to entities (recipients) via sponsorships. Standardized profile columns (first_name, phone, address, etc.) coexist with arbitrary custom fields stored in json_fields and defined per hysform_id. The username/email/password columns also let donors sign in to the donor portal.
A Gratona client — the tenant of the multi-tenant system. Owns donors, entities, programs, users, and integrations. The client_id on every other resource scopes data to this row. Stripe Connect onboarding state, account-level settings, and the client's display name all live here.
"/frontend/donor_view/207/11/7f2c8f8d64b8a1d4a9e2"
"7f2c8f8d64b8a1d4a9e2"
true