Withdraw a bind request
curl -X DELETE "https://api.valjeanspecialty.com/api/agent/v1/submissions/SUBMISSION_ID/bind-requests/{bindRequestId}" \ -H "Authorization: Bearer $VALJEAN_KEY"const res = await fetch("https://api.valjeanspecialty.com/api/agent/v1/submissions/SUBMISSION_ID/bind-requests/{bindRequestId}", { method: "DELETE", headers: { Authorization: `Bearer ${process.env.VALJEAN_KEY}`, },});console.log(await res.json());import os, requests
res = requests.delete( "https://api.valjeanspecialty.com/api/agent/v1/submissions/SUBMISSION_ID/bind-requests/{bindRequestId}", headers={"Authorization": f"Bearer {os.environ['VALJEAN_KEY']}"},)print(res.json())Withdraws your bind request while your broker is still preparing it (status preparing), before anything goes to the market. Once it’s been sent to the market (requested), this returns 409 not_withdrawable: call your broker. Withdrawing twice is fine and returns the same result.
Needs a read-and-submit key and an agency with a signed broker agreement.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Submission id.
The bind request’s id (from the bind request or bind progress).
Responses
Section titled “Responses”OK
object
Example
{ "bind_request_id": "9c8b7a6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d", "status": "cancelled", "status_text": "Cancelled", "note": "Withdrawn. Nothing was sent to the market."}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." }}The file’s state doesn’t allow it: closed, not_open, quote_expired, already_requested, not_withdrawable (the bind request already went to the market: call your broker), no_instant_market, limit, or ai_off (plain-sentence answers aren’t switched on; send answers by key). Don’t retry the same request.
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": "closed", "message": "This submission is closed." }}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." }}
