Quotes and binding
Quotes appear in GET …/quotes once your broker presents them, with carrier, premium, fees, limits, deductibles, exclusions, subjectivities and expiry. total is premium plus fees; surplus lines taxes are added at binding. Market names appear only here: before a quote is presented you see anonymous market progress (markets on the submission).
Asking to bind
Section titled “Asking to bind”POST /submissions/{id}/quotes/{quote_id}/bind-request{ "instruction": "Please bind as quoted, effective 12/15/2026", "contact_name": "Dana Whitfield", "contact_email": "dana@agency.example", "accept_subjectivities": true }accept_subjectivities must be true: you confirm the quote’s subjectivities will be met. The response repeats them.
A quote past its expiry date returns 409 quote_expired: ask your broker to refresh it. One open bind request per quote: a second returns 409 already_requested.
Changing your mind
Section titled “Changing your mind”While your broker is still preparing the bind request (status preparing), you can withdraw it with DELETE …/bind-requests/{bind_request_id}. Nothing has gone to the market yet, so nothing else happens. Once it’s been sent to the market (requested), the API returns 409 not_withdrawable: call your broker.
To check a bind request before sending it, add ?dry_run=1: it runs every check (quote presented, not expired, no request already open) and returns the quote and its subjectivities, without sending anything.
After binding
Section titled “After binding”GET /policies and GET /policies/{id} list policies placed through Valjean with premium, fees, taxes, total and your commission, plus their invoices and documents. GET /invoices lists invoices Valjean has sent; drafts never appear.

