Skip to content

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).

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.

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.

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.