Accept Reasonable Salary
accept_reasonable_salaryFull Description
Marks the Solo S-corp owner's in-progress reasonable-salary estimate as accepted, recording the chosen W-2 salary for IRS-defensibility purposes. Call this LAST in the Reasonable Salary Calculator flow. Before calling, confirm the user has reviewed the calculated estimate and explicitly wants to accept that number; do not call accept_reasonable_salary automatically just because a calculate_reasonable_salary call succeeded. IMPORTANT - any later change to the estimate's inputs silently clears the acceptance, so accept must be the final step. Takes no arguments; the company and owner come from the token context, never the caller, so it requires an existing company — if the account does not have one yet, call create_company first, otherwise this fails. It accepts the single most recently calculated in-progress estimate for that owner; if several calculate_reasonable_salary calls were made, only the latest can be accepted (each overwrote the previous). On success, returns the accepted estimate (id, result as an integer USD amount, range, acceptedAt). On failure, the response errors list names a structured kind - "no_in_progress_estimate" (calculate a reasonable salary estimate first), "company_not_eligible" (company is not taxed as an S-corp), or "no_draft_team_member" (owner profile not ready yet, usually a brief race after signup; retry shortly). Does NOT set the owner's actual pay rate, file any tax form, or finalize the estimate to an employee job.
ONBOARDING HANDOFF — RSC is reached two ways, and acceptance means different things in each. (1) Standalone: the owner came directly to figure out their salary; after a successful accept, confirm the saved number and you're done. (2) As an onboarding step: an earlier get_company_onboarding_status next_step routed you here (its detail was reasonable_salary_calculator). In that case acceptance is NOT the end of onboarding — after a successful accept, call get_company_onboarding_status again. Acceptance advances the flow, so the refreshed next_step points to the real next step (typically continue_in_gusto with the URL to send the owner to). Never invent or hardcode that destination URL yourself; always take it from the refreshed onboarding status — and if it comes back as set_password instead, there is no URL to relay: follow that step's own message.