We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Webhook events
We may add new event types at any time. Ignore any event type your application does not recognize, and still respond with a 2xx status. You only receive the events you are subscribed to (see Event subscriptions).
Quote Ready
quote_ready
Occurs when your quote has finished processing and rated quote options are available, and again when your quote document PDF has been generated. It can also occur after an underwriter revises and re-shares a quote. Treat each Quote Ready event as a signal that the quote has changed, and query the quote request for its current state.
documentsReady
tells you which stage the quote is in:
false
means the rated quote options are available but the quote document is not ready to download yet, and
true
means the quote document is ready to download.
{ "data": { "brokerageId": "Yb3kP0aLQx2s8vN1dWqZeA", "documentsReady": false, "quoteRequest": { "id": "ZovmHWI-R2S92Svs1ludyw" } }, "timestamp": 1601414395, "type": "quote_ready"}
{ "data": { "brokerageId": "Yb3kP0aLQx2s8vN1dWqZeA", "documentsReady": true, "quoteRequest": { "id": "ZovmHWI-R2S92Svs1ludyw" } }, "timestamp": 1601414395, "type": "quote_ready"}
{ "data": { "brokerageId": "Yb3kP0aLQx2s8vN1dWqZeA", "documentsReady": false, "expiringPolicyNumber": "CYB-123456-00", "quoteRequest": { "id": "ZovmHWI-R2S92Svs1ludyw" } }, "timestamp": 1601414395, "type": "quote_ready"}
After you receive a Quote Ready event with documentsReady: true, query the quote request for the quote document:
quoteRequest { quoteData { edges { node { upload { url } } } } }
(see Get Quote Request).
When the quote is a renewal,
data
also includes expiringPolicyNumber, the policy number of the policy being renewed. This key is only present on renewal quotes. For renewals, Quote Ready is only sent when the renewal is quoted automatically.
In the sandbox, use Generate Quote in the Developer Portal to quote a renewal and trigger this event on demand.
Payload envelope
{ "data": JSON Object, "timestamp": Unix Timestamp, "type": String}
Every event's
data
includes brokerageId.
See Subscribe and verify.
Verify the signature
X-CrowBar-Signature: t=1601414395,s=wGpXVnQVScPh5n7nS63z4MBSc6kCQuefjGNvJy86Fzw=
- Take the signature after
s=. - Compute an HMAC-SHA256 of the raw request body, keyed with your API key.
- Compare. A match means the webhook came from Corvus.
Regenerating your API key changes the signing key immediately.
See Subscribe and verify.
Delivery and retries
- Any 2xx acknowledges. Other statuses fail; redirects aren't followed.
- 15 s to connect, 15 s to respond.
- Retried every 5 minutes, 10 attempts in total.
- At-least-once and unordered. Make handlers idempotent and re-query the resource.
- Events you aren't subscribed to are skipped, not retried.
See Delivery and retries.
Source IPs to allowlist
The full section is available to partners who are signed in to the Developer Portal.
Access is by invitation. To request it, email api@corvusinsurance.com.