We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Errors
How rejected requests and failed operations are reported, and what the common messages mean.
Requests rejected before the operation runs
Requests rejected before the GraphQL operation runs, such as a missing or invalid API key, return a 400, 401, or 404 status (see Authentication). A request body with no
query
returns a 400 status.
Sign in to the Developer Portal to see the cause of each status and what to do.
Failed operations
errors
array. Each error has a message, and the
path
shows which field failed. That field is null. If the field is non-null, the null moves up to its parent: for a top-level field such as quoteRequest,
data
itself is
null
(see Partial success).
{ "data": null, "errors": [ { "message": "not_found", "locations": [{ "line": 2, "column": 3 }], "path": ["quoteRequest"] } ]}
Common messages
Each message is the
message
of an entry in the
errors
array. Messages in angle brackets, such as <status>, name a value that changes.
| Code | Cause | What to do | Returned by |
|---|---|---|---|
unauthorized
|
Your brokerage or user does not have access to the record, or the operation or field is not available to API partners. | Check that the record belongs to your brokerage. Select only the fields shown in these docs. | Any operation, for example List Policies, Update Policyholder Contact |
not_found
|
The record does not exist, or it is not visible to your brokerage. Some operations return this instead of unauthorized for records that belong to another brokerage. | Check the id, and that the record belongs to your brokerage. | Get Quote Request, Get Policy Documents, Get Renewal Quote Request |
invalid_nature_of_business
|
The natureOfBusiness value is not a recognized NAICS code or nature of business name. | Send a NAICS code, or a nature of business name exactly as it is listed on the Nature of Business page. | Update Quote Request, Nature of Business |
id or expiringPolicyNumber is required
|
The request has neither an id nor an expiringPolicyNumber. | Provide exactly one of id or expiringPolicyNumber. | Get Renewal Quote Request |
Broker cannot update status to <status>
|
The status is not INCOMPLETE, SUBMITTED or CLOSED, the only values an API partner can set. | Set the status to INCOMPLETE, SUBMITTED or CLOSED. | Update Quote Request |
Cannot resubmit a quote request unless its application type is 'form' or 'broker_api'.
|
The RESUBMIT action was used on a quote request that an underwriter has begun reviewing or has shared. | Contact the underwriter directly to change the submission. Query the underwriter's name and email with Get Quote Request. | Update Quote Request, Get Quote Request |
coverage_effective_at cannot be older than 7 days ago.
|
The coverageEffectiveAt date is more than 7 days in the past. | Send a coverage start date within the last 7 days, or in the future. | Update Quote Request |
Cannot bind quote option from status <status>
|
The quote request is not in the QUOTES_SHARED status, so its quote option cannot be bound. | Bind a quote option only once the quote request has the QUOTES_SHARED status. Check the status with Get Quote Request. | Bind Quote, Get Quote Request |
Mutation validation errors
When a mutation fails validation,
message
is a JSON-encoded string, not plain text. Decoded, it is an object that maps each invalid field to a list of messages. Field names use snake_case (for example broker_message, not brokerMessage).
{ "data": { "updateQuoteRequest": null }, "errors": [ { "message": "{\"broker_message\":[\"should be at most 10000 character(s)\"]}", "locations": [{ "line": 2, "column": 3 }], "path": ["updateQuoteRequest"] } ]}
To handle errors, try to parse each message as JSON. If the result is an object, read the messages for each field from it. Otherwise, treat the message as plain text.
| Code | Cause | What to do | Returned by |
|---|---|---|---|
broker_message
|
The brokerMessage is longer than 10000 characters, so the message reads should be at most 10000 character(s). | Shorten the brokerMessage to 10000 characters or fewer. | Update Quote Request |