CrowBar | FAQ | Corvus Skip to main content

Frequently Asked Questions

Why am I receiving a 404 error?

Double-check that you are posting requests to https://api-sandbox.corvusinsurance.com/q.

Sign in to the Developer Portal to see the other causes of a 404.

How do I receive my API authentication credentials?

Contact api@corvusinsurance.com if you’re interested in becoming an API partner. Once you’ve gone through a few onboarding steps, we will invite you to the Developer Portal, where you may view your API keys (see Authentication).

Do I need developer login credentials in order to get started?

Yes, for the Developer Portal, where you view your API key and webhook URL. Developer Portal accounts are created by invitation: Corvus emails you a link to set a password and set up multi-factor authentication. The link expires after 7 days, and each environment (sandbox and production) has its own invitation and login (see Developer Portal). API requests themselves need no login, only the headers described in Authentication.

How are agent user accounts created and how are agents identified as members of an agency?

We will automatically create a user account in our system for an agent the first time they submit a request based on the headers X-USER-NAME and X-USER-EMAIL. These headers must be included on every request. Internally, we associate the agent with a unique, Corvus-generated brokerage ID that identifies the agency and is passed to Corvus as part of the create client request.

How am I identified as the source of the business?

Each partner receives a unique API key. The X-API-KEY header must be included on every request (see Authentication).

Can I update the client’s business name or website?

Yes, by using the update client mutation (see Update Client).

Why is my quote ineligible for auto quoting?

You can request the brokerAutoQuoteIneligibleReasons variable in the updateQuoteRequest response in order to see why a quote is ineligible for auto-quoting. These are the most common requirements for auto-quote eligibility (subject to change):

  • Most accounts up to and including $100M in revenue
  • Limits up to and including $5M, max $2M if the account is under $10M in revenue (note - if a higher limit is requested but not allowed, we will return the next highest limit available)
  • PII record count up to 1MM records
  • 80 or greater Corvus score
  • Account must be claims free
  • Not in appetite and will be declined: Casinos/gambling risks, colleges/universities, tribal risks, cannabis related risks, gig economy, medium/large municipalities, pornographic/adult content related sites, social media/networking (websites relying on user-generated content, blogs, chatrooms, and online networking forums), payment processors, dating websites, nuclear facilities
  • Minimum required cyber security controls must be met (varies based on size, class, and more)

My quote appears stuck in the “submitted” status. When will I receive a quote?

After submitting, the data.updateQuoteRequest.isAutoQuoteEligible attribute will be true if a quote will be generated in the next five minutes. If the attribute is false, this quote request is a referral and requires approval from an underwriter. Review times vary with the complexity of each submission, so we can't give a set turnaround. Rather than polling, subscribe to the Quote Ready and Quote Declined webhooks to be notified when the underwriter quotes or declines the request.

Can I request a quote from multiple product lines, e.g. ‘Smart Cyber’ and ‘Smart Tech E+O’?

Yes. Create only one client and submit all quote requests, for every product line, under that client. Creating duplicate clients or submissions for the same account may impact delivery of your quotes.

How do I request more than one coverage option for the same account?

Create one client for the account and one quote request, and list each option, up to three, in the limits array before you submit the quote request (see Smart Cyber or Smart Tech E+O). To change the options after submitting, use the RESUBMIT action where it is available. Do not create a new client and quote request for each option. Separate clients for the same account make later quote requests duplicates of earlier ones, so they will be referred to an underwriter instead of being quoted automatically.

What if an agent needs an endorsement or to cancel a policy?

At this time, our API does not support endorsements or cancellations. Instruct the agent to contact the underwriter assigned to the account directly. Underwriter contact information is queryable using the GetQuoteRequest query (see the table of content for the specific product line)

Do you support renewals via API?

Renewals are read-only through our API. Renewal submissions open for solicitation 80 days before policy expiration. You may look up a renewal quote request (see Get Renewal Quote Request) and subscribe to renewal webhooks (see Renewal Solicitation Open). Renewal submission information cannot be changed through the API. To change it, contact the servicing underwriter. Do not submit a renewal as a new quote request via our API, as we will treat it as new business.

How long do pre-signed URLs last before expiring?

All of our pre-signed URLs are intended to be short-lived links (~5min), and we recommend querying for a new link before usage.

Is there a time period after which the quote expires? Are we allowed to generate a new quote id in such cases? Or should we RESUBMIT a request with the old quote id?

Our quotes are only valid for 45 days after they are shared. After that point, the quote request is automatically closed and you may generate a new quote id. Up until that 45 day mark, you may resubmit with the old quote id.

What are the possible quote statuses?

Quote statuses
Incomplete This status indicates that a quote request is still in progress and has not been submitted yet.
Submitted The quote request submission is ready for underwriting or is currently being underwritten. It has not been shared.
Needs More Data This status is manually set by the underwriter indicating that they would like more data from the broker on the client or quote before proceeding any further. This can be set at any point in the process, e.g. after a quote has been shared or a bind requested.
Declined There is a submission, but it was declined. This can be done via our auto-decline process, but normally is done by underwriters.
Quotes Shared The submission has been quoted and is accessible to the broker.
Bind Requested A bind has been requested on this quote.
Closed A quote offer was sent but never bound. An underwriter can manually close a quote, or a quote will auto close 45 days after quotes were last shared. Auto-closed quote requests have a decline reason of EXPIRED.
Completed A quote offer was sent, and it was bound.
Hold

This status is manually set by the underwriter and indicates that the underwriter has paused work rating the submission. Unlike "Needs More Data," no action is needed from the broker. Some reasons why a quote may be put on hold include the following:

  • Quote is too early to be worked on: our quotes are only valid for 45 days. Underwriters try not to quote more than 30-45 days out so as to avoid needing to refresh older quotes. In this case, they will put the quote on hold until the desired policy effective date draws closer.
  • Submission needs more information: If an underwriter needs more information or wants to send a document to the broker, they must email the broker directly. At this point, the underwriter puts the quote on hold.