Skip to content

Public appetite check (no key), as a GET

GET
/api/appetite
curl -X GET "https://api.valjeanspecialty.com/api/appetite"

Same as the POST form, with fields as query parameters; cacheable. lines is comma-separated.

No key needed.

lines
required
Array<string>
>= 1 items <= 6 items

Comma-separated.

state
required
string
>= 2 characters <= 40 characters
naics
string
/^[0-9]{2,6}$/
description
string
<= 300 characters
target_premium
number
<= 1000000000
tiv
number
<= 100000000000

OK

Media typeapplication/json
object
fit
required

“unknown” means no appetite is on file for these lines yet: fall back to your own guidance.

string
Allowed values: good possible unlikely unknown
appetite_on_file
required
boolean
headline
required

One sentence you can show as is.

string
market_count
required

Markets on file that could write it, capped at 5. Market names are never returned.

integer
market_count_label
required

E.g. “2 markets”, “5+ markets”, “Not on file yet”.

string
lines
required
Array<object>
object
line
required

Line code.

string
fit
required
string
Allowed values: good possible unlikely
notes
required
Array<string>
needs
required

What Valjean will need for this risk, in plain words.

Array<string>
class_matched
required

The class Valjean matched the risk to, if any.

string | null
state
required

Two-letter state code.

string
unknown_lines

Lines in the request Valjean didn’t recognise.

Array<string>
how_to_send

Present whenever the fit isn’t “good”: a broker reviews every submission, including ones outside the appetite on file.

object
email
required

Where to email the risk instead.

string format: email
include
required

What to include in that email.

Array<string>
note
required
string
disclaimer
required
string

Example

{
"fit": "good",
"lines": [
{
"fit": "good"
}
]
}

Fix the request and send it again (invalid_request, invalid_json).

Media typeapplication/json
object
error
required
object
code
required

Machine-readable code, e.g. invalid_request, read_only, not_found, closed, rate_limited.

string
message
required

Plain-English explanation you can show a person.

string
issues

Validation problems, as “field: problem” (400 invalid_request only).

Array<string>

Example

{
"error": {
"code": "invalid_request",
"message": "Check the request.",
"issues": [
"insured.state: Too small: expected string to have >=2 characters"
]
}
}

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.

Media typeapplication/json
object
error
required
object
code
required

Machine-readable code, e.g. invalid_request, read_only, not_found, closed, rate_limited.

string
message
required

Plain-English explanation you can show a person.

string
issues

Validation problems, as “field: problem” (400 invalid_request only).

Array<string>

Example

{
"error": {
"code": "rate_limited",
"message": "Too many requests. Try again in a minute."
}
}
Retry-After
integer
Example
60

Seconds to wait.