eligibility object:
statusiseligibleorineligible.checkslists the rules we ran, each withpassed, and usually thelimitand the deal’sactualvalue.basis: "partially_assumed"means the check relied on an assumption, such as an assumed AM Best rating.reasonsexplains an ineligible result, each with aparampointing at the field to look at. It’s empty when the deal is eligible.
201 Created with a stored quote and no options, so you can show your producer why. A 422 is only for a malformed request.
The rules
The limits below are today’s program settings. They can change, and every check returns the limit it used, so readlimit rather than hard-coding these figures.
Insured state
insured.address.state must be a two-letter USPS code: one of the 50 states, DC, PR, GU, VI, AS or MP. What happens depends on what you send:
A state outside the program is an answer about the deal, so it’s an ineligible quote. A value that isn’t a state code at all is a malformed request, so it’s a
422.
Minimum earned
TheMINIMUM_EARNED_MAX figure counts the minimum earned rate applied to the premium and to any refundable taxes and fees, plus every tax and fee marked earned. Because unmarked taxes and fees are assumed earned, marking the refundable ones earned: false can bring a deal under the limit; when it would, the reason’s message says so.
New checks and reason codes can be added. Show the message for any you don’t recognize.
Eligible, but no options
Rarely, an eligible deal still has no options: every option would exceed the state’s APR limit, or the policy period leaves no room for a loan term. The quote then hasoptions: [], recommended_option_id: null, and a warning saying why (APR_CAP_EXCEEDED or POLICY_TERM_TOO_SHORT).