Quotes your broker has presented
curl -X GET "https://api.valjeanspecialty.com/api/agent/v1/submissions/SUBMISSION_ID/quotes" \ -H "Authorization: Bearer $VALJEAN_KEY"const res = await fetch("https://api.valjeanspecialty.com/api/agent/v1/submissions/SUBMISSION_ID/quotes", { method: "GET", headers: { Authorization: `Bearer ${process.env.VALJEAN_KEY}`, },});console.log(await res.json());import os, requests
res = requests.get( "https://api.valjeanspecialty.com/api/agent/v1/submissions/SUBMISSION_ID/quotes", headers={"Authorization": f"Bearer {os.environ['VALJEAN_KEY']}"},)print(res.json())Only quotes a broker has presented, never ones still being worked. Totals include fees; surplus lines taxes are added at binding.
Any key (read or read-and-submit).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Submission id.
Responses
Section titled “Responses”OK
object
object
Line codes.
Dollars.
Policy, inspection, broker and other fees, in dollars.
Premium plus fees, in dollars. Surplus lines taxes are added at binding.
Example
{ "submission_id": "6f2a1c9e-4b3d-4e8a-9c21-7d4e5f6a8b90", "quotes": [ { "id": "6f1d2c3b-8a9e-4b7c-9d10-1e2f3a4b5c6d", "carrier": "Magnolia Underwriting Managers", "lines": [ "GL", "LL" ], "premium": 17075, "fees": 250, "total": 17325, "limits": "GL: $1,000,000 per occurrence / $2,000,000 aggregate", "deductibles": "GL: $2,500 BI/PD", "exclusions": null, "subjectivities": "Signed application; currently valued loss runs", "expires_on": "2026-12-02" } ], "note": "To bind, reply to your Valjean broker: binding needs a signed request and the subjectivities met."}Headers
Section titled “Headers”Example
"per-key";q=120;w=60The rate limit for this key, as an IETF RateLimit-Policy: 120 requests (q) per 60-second window (w), counted across all of Valjean’s servers. Over it, you get 429 with Retry-After.
Key or token missing, wrong, expired or revoked (unauthorized). Don’t retry: get a new key or sign in again.
object
object
Machine-readable code, e.g. invalid_request, read_only, not_found, closed, rate_limited.
Plain-English explanation you can show a person.
Validation problems, as “field: problem” (400 invalid_request only).
Example
{ "error": { "code": "unauthorized", "message": "This API key isn't valid. Ask your Valjean broker for a new one." }}Not allowed: read_only (a read key tried to submit), agency_not_active (no signed broker agreement), not_offered (instant quotes are off), forbidden (API access off for the agency). Don’t retry.
object
object
Machine-readable code, e.g. invalid_request, read_only, not_found, closed, rate_limited.
Plain-English explanation you can show a person.
Validation problems, as “field: problem” (400 invalid_request only).
Example
{ "error": { "code": "read_only", "message": "This key can read only. Ask your Valjean broker for a key that can submit." }}Not found, or not your agency’s (not_found). The API never says which.
object
object
Machine-readable code, e.g. invalid_request, read_only, not_found, closed, rate_limited.
Plain-English explanation you can show a person.
Validation problems, as “field: problem” (400 invalid_request only).
Example
{ "error": { "code": "not_found", "message": "Submission not found." }}Too many requests (rate_limited): 120 a minute per key, 30 a minute per IP on public endpoints, counted across all of Valjean’s servers. Wait Retry-After seconds.
object
object
Machine-readable code, e.g. invalid_request, read_only, not_found, closed, rate_limited.
Plain-English explanation you can show a person.
Validation problems, as “field: problem” (400 invalid_request only).
Example
{ "error": { "code": "rate_limited", "message": "Too many requests. Try again in a minute." }}Headers
Section titled “Headers”Example
60Seconds to wait.
Something went wrong on Valjean’s side (server_error). Safe to retry later; creates are idempotent with client_reference or an Idempotency-Key header.
object
object
Machine-readable code, e.g. invalid_request, read_only, not_found, closed, rate_limited.
Plain-English explanation you can show a person.
Validation problems, as “field: problem” (400 invalid_request only).
Example
{ "error": { "code": "server_error", "message": "Something went wrong. Try again shortly." }}
