We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Product: Smart Cyber
Update Quote Request
updateQuoteRequest(id: $id, action: $action, brokerQuoteRequestInfo: $brokerQuoteRequestInfo)
- Product
- Smart Cyber
- Method
- POST
- Endpoint
-
Sandbox:
https://api-sandbox.corvusinsurance.com/qProduction:https://crowbar.corvusinsurance.com/q - Authentication
-
Send the headers
X-API-KEY, X-USER-EMAIL, X-USER-NAMEwith every request. See Authentication.
id
is required by the API, and omitting it will result in an error. Omitting
action
saves the quote request without submitting it. A submission requires
brokerQuoteRequestInfo
with coverageEffectiveAt, limits, and
optionalData
(which, despite its name, is required). Keys marked with * inside an object are required whenever that object is sent.
Arguments
Required Required to submit OptionalPass these as variables.
| Name | Type | Required | Description |
|---|---|---|---|
| id | ID! | Required | Id of the Quote Request to update (see Create Quote Request) |
| action | Action | Optional | The The
|
| brokerQuoteRequestInfo | BrokerQuoteRequestInput | Required to submit | |
| coverageEffectiveAt | Date | Required | Coverage start date Format must be |
| limits | [LimitInput!] | Required | To request more than one coverage option, add one entry for each option here. Do not create a new client and quote request for each option. Must be an array with a length of between 1 and 3 values composed of the following keys: |
| aggregateCents | Int | Required | Must be an integer representing the limit in cents. |
| deductibleCents | Int | Required | Must be an integer representing the deductible in cents. |
| hasTria | Boolean | Optional | Boolean value indicating whether coverage for Certified Acts of Terrorism should be included for the insured. Defaults to True.
** If TRIA coverage is waived, insured must sign TRIA exclusion waiver (included in quote documents) prior to policy issuance. |
| isIndication | Boolean | Optional | Boolean value to signify if submission is for a non-bindable indication quote.
|
| brokerMessage | String | Optional | A message to the underwriter about this submission, up to 10,000 characters. A non-blank message also sends Corvus an email notification about the update. |
| dueAt | Date | Optional | The date by which you need the quote. Format must be If omitted, the existing due date is kept. |
| primaryWebsite | String | Optional | Updates the client's primary website, up to 255 characters. Use the same formats as |
| applicationQuestions | QuestionnaireInput | Optional | Responses to Cyber application questions. |
| biometricData | Boolean | Optional | Does the Applicant collect, capture, purchase, receive through trade, or otherwise obtain biometric data (biometric data is data related to body measurements and calculations related to human characteristics and includes, but is not limited to, fingerprints, iris or retina scans, voiceprints, sleep/health/exercise data, DNA or biological markers)? Must be a boolean representing the answer to this question.
|
| excludedClasses | Boolean | Optional | Is the applicant involved in any services related to Cannabis, CBD, Firearms, Gambling, Gig Economy, Fintech, or Adult Content? Must be a boolean representing the answer to this question.
|
| optionalData | [OptionalDatumInput!] | Required | Despite its name, this field is required for a submission. Must be a JSON array composed of one object for each of the following keys with their respective values and types: |
| domicileState | String | Required | Must be one of the 50 states, fully spelled out, or "District of Columbia". |
| natureOfBusiness | String | Required | Must be a 6-digit NAICS code formatted as an integer string, i.e., "541511". Deprecated: Nature of Business name is no longer supported. |
| grossAnnualRevenue | String | Required | Projected gross annual revenue (next 12 months) In dollars, formatted as an integer string, i.e. "1000000000" |
| cyberApplicationControls | CyberApplicationControlsInput | Optional | These values are not required in the request, but may be necessary to quote or bind depending on client details. Responding to them can help prevent a subjectivity and expedite the submission process. |
| biometricData | Boolean | Optional | 8. Does the Applicant collect, capture, purchase, receive through trade, or otherwise obtain biometric data (biometric data is data related to body measurements and calculations related to human characteristics and includes, but is not limited to, fingerprints, iris or retina scans, voiceprints, sleep/health/exercise data, DNA or biological markers)? |
| emailFiltering | Boolean | Optional | 9. Do you have email filtering in place? |
| secureEmailGateway | String | Optional | 9b. Do you use an advanced email security solution that includes features such as URL and attachment sandboxing. (Secure Email Gateway). If so, provide the name of the vendor. |
| hasBackups | Boolean | Optional | 10. Do you have a backup solution in place? |
| backupFrequency | BackupFrequency | Optional | 10a. If so, how frequently do you back up systems and data? BackupFrequency is an enum with the following values: CONTINUOUS_BACKUPS, DAILY, LESS_THAN_MONTHLY, MONTHLY, NEVER, UNANSWERED, UNCERTAIN, WEEKLY |
| backupSolution | BackupSolutionQuestionInput | Optional | 10b. Which of the following are in place for your backup solution(s)? (Select ALL that apply)) BackupSolutionQuestionInput is an object with the following Boolean fields: |
| backupServersHaveUniqueCredentials | Boolean | Optional | Backup servers and user accounts use unique credentials |
| backupServersNotDomainJoined | Boolean | Optional | Backup servers are not joined to a Windows domain |
| backupServersSegmentedFromNetwork | Boolean | Optional | Backup servers are segmented from the rest of the network |
| cloudBasedBackups | Boolean | Optional | Cloud based backups |
| immutableBackups | Boolean | Optional | Backup solution with immutable backups |
| mfaForBackupFiles | Boolean | Optional | MFA required for access to backups |
| multipleGeographicCopies | Boolean | Optional | Multiple copies of backups stored in 2 or more geographical locations |
| offlineOrAirGappedBackups | Boolean | Optional | Copy of backups are kept offline or air-gapped |
| mfaRemoteAccess | Boolean | Optional | 11a. MFA enforced to secure all remote access to your network. |
| mfaPrivilegedAccounts | Boolean | Optional | 11b. MFA enforced to secure internal use of privileged accounts (administrator accounts, service accounts, etc.) |
| mfaEmailAccess | Boolean | Optional | 11c. MFA enforced for email access via webmail portal (i.e. Gmail), mailbox applications (i.e. Outlook Application) and non-corporate devices for all employees |
| mfaCriticalApplications | Boolean | Optional | 11d. MFA enforced to secure access to all critical applications |
| privilegedAccounts | PrivilegedAccountsInput | Optional | 12. How are privileged accounts secured and managed? (Select ALL that apply) PrivilegedAccountsInput is an object with the following Boolean fields: |
| multipleAccountsForAdmins | Boolean | Optional | Administrative users use different accounts for administrative use and non-administrative use (e.g. day to day activities such as browsing and email) |
| noAdminRightsForStandardUsers | Boolean | Optional | Standard users do not have administrative rights to their workstations |
| uniqueAndComplexLocalAdminAccounts | Boolean | Optional | Local administrator accounts are unique and complex on all systems |
| passwordVaultForAdmins | Boolean | Optional | A password management vault is used to manage privileged accounts |
| endpointSecurityVendor | EndpointSecurityVendorInput | Optional | 13. What Endpoint Security Technology do you have in place? (Select ALL that apply and list the product and vendor) EndpointSecurityVendorInput is an object with the following String fields: |
| nextGenAv | String | Optional | Next Gen Antivirus |
| endpointDetectionResponse | String | Optional | Endpoint Detection & Response (EDR) |
| managedDetectionResponse | String | Optional | Managed Detection & Response (MDR) |
| extendedDetectionResponse | String | Optional | Extended Detection & Response (XDR) |
| sensitiveDataAccess | SensitiveDataAccessProtectionQuestionInput | Optional | 14. What security controls are in place to protect against unauthorized access to sensitive and confidential data? SensitiveDataAccessProtectionQuestionInput is an object with the following Boolean fields: |
| rbacLeastPrivilege | Boolean | Optional | Least privilege access using role-based assignments |
| networkSegmentation | Boolean | Optional | Network segmentation of servers containing sensitive data |
| loggingAndMonitoring | Boolean | Optional | Logging and monitoring |
| mfaRequiredForAccess | Boolean | Optional | MFA required for all user access to systems/applications with sensitive data |
| fileLevelEncryption | Boolean | Optional | Encryption at Rest (File level) |
| dataInTransitEncryption | Boolean | Optional | Encryption of Data in-transit |
| disasterRecovery | Boolean | Optional | 15. Do you have a Business Continuity Plan (BCP) or Disaster Recovery Plan (DRP) in place? |
| disasterRecoveryTesting | Boolean | Optional | 15a. If so, is it tested at least annually? |
| intrusionDetection | Boolean | Optional | 16. Do you have an Intrusion Detection System (IDS) or Intrusion Prevention System (IPS) in place? |
| penetrationTesting | Boolean | Optional | 17. Do you conduct penetration testing of your network at least annually? |
| securityTraining | Boolean | Optional | 18. Do you conduct employee security training or phishing training, for all employees, at least annually? |
| paymentProcessingVerification | Boolean | Optional | 19. Prior to executing an electronic payment, do you verify the validity of the funds transfer request or payment change request, with the requestor, via a separate means of communication prior to transferring funds or making payment changes? |
| multimediaRights | Boolean | Optional | 20. If the Applicant uses multimedia material provided by others, does the Applicant always obtain N/A the necessary rights, licenses, releases, and consents prior to publishing? |
| pciCompliance | Boolean | Optional | 21. If the Applicant accepts payment cards in exchange for goods or services rendered, is the Applicant or their outsourced payment processor PCI compliant? |
| claims | Boolean | Optional | 22. In the past three years, have you experienced any cyber security incident, data privacy incident or any multimedia liability claim? |
| breaches | Boolean | Optional | 23. Do you or any other person or organization proposed for this insurance have knowledge of any actual or alleged: security breach, privacy breach, privacy-related event or incident, breach of privacy, or multimedia incident that may reasonably be expected to give rise to a claim or to costs being incurred? |
| interruptions | Boolean | Optional | 24. In the past 3 years, have you or any other organization proposed for this insurance sustained any unscheduled network outage or interruption lasting longer than 6 hours? |
| optionalData | [OptionalDatumInput!] | Optional | These values are not required in the request, but may be necessary to quote or bind depending on client details. Responding to them can help prevent a subjectivity and expedite the submission process. |
| numberOfPiiRecords | String | Optional | Estimated amount of unique personally identifiable records stored, processed or transmitted maintained by the Applicant (including records stored by third-party providers) Answer must be in the list of "min", "veryLow", "low", "medium", "high", "veryHigh", "max", "uncertain". These possible answers translate to: "min" -> 0-250,000 records "veryLow" -> 250,001-500,000 records "low" -> 500,001-1,000,000 records "medium" -> 1,000,001-2,500,000 records "high" -> 2,500,001-5,000,000 records "veryHigh" -> 5,000,001-10,000,000 records "max" -> 10,000,001+ records "uncertain" -> Use if you do not have an answer to this question |
| formalBackups | String | Optional | Does the Applicant have formal processes for regularly backing up, archiving, restoring, and segregating sensitive data? Answer must be in the list of "yes", "no", "uncertain". |
| pciCompliantPayments | String | Optional | If the Applicant accepts payment cards in exchange for goods or services rendered, is the Applicant PCI compliant? Answer must be in the list of "yes", "no", "other", "uncertain". "Other" maps to "N/A" on our application and should be used if the question is not applicable. |
| encryptPos | String | Optional | If the Applicant's industry is retail, restaurant, or online retailer, do they deploy either end-to-end or point-to-point encryption technology on all of their point of sale terminals? Answer must be in the list of "yes", "no", "uncertain". |
| paymentRequestValidation | String | Optional | Prior to executing an electronic payment, does the Applicant verify the validity of the funds transfer request or payment change request, with the requestor, via a separate means of communication prior to transferring funds or making payment changes? Answer must be in the list of "yes", "no", "uncertain". |
| rightfulMediaUse | String | Optional | If the Applicant uses multimedia material provided by others, do they always obtain the necessary rights, licenses, releases, and consents prior to publishing? Answer must be in the list of "yes", "no", "other", "uncertain". "Other" maps to "N/A" on our application and should be used if the question is not applicable. |
| multiFactorAccess | String | Optional | Does the Applicant enforce Multi-Factor Authentication to secure and manage internal use of privileged accounts (administrator accounts, service accounts, etc.)? Answer must be in the list of "yes", "no", "uncertain". |
| multiFactorAuthenticationEmails | String | Optional | Does the Applicant enforce Multi-Factor Authentication (MFA) for email access via webmail portal (i.e. Gmail), mailbox applications (i.e. Outlook Application) and non-corporate devices for all employees? Answer must be in the list of "yes", "no", "uncertain". |
| claims | String | Optional | Has the Applicant experienced in the past three years any cyber security incident, data privacy incident or any multimedia liability claim? Answer must be in the list of "yes", "no", "uncertain". |
| claimsComment | String | Optional | Comments can be optionally added if the answer to Comment must be a string. |
| breaches | String | Optional | Does the Applicant or any other person or organization proposed for this insurance have knowledge of any actual or alleged: security breach, privacy breach, privacy-related event or incident, breach of privacy, or multimedia incident that may reasonably be expected to give rise to a claim or to costs being incurred? Answer must be in the list of "yes", "no", "uncertain". |
| interruptions | String | Optional | Has the Applicant or any other organization proposed for this insurance sustained any unscheduled network outage or interruption lasting longer than six hours within the past three years? Answer must be in the list of "yes", "no", "uncertain". |
Response fields
Select only the fields you need in the selection set.
| Name | Type | Description |
|---|---|---|
| id | ID | Quote request id you can use in future requests |
| isAutoQuoteEligible | Boolean | Will be |
| brokerAutoQuoteIneligibleReasons | String | Specific reasons why quote is ineligible for auto-quoting. Note: since this quote request is auto-quote eligible there are no reasons available. |
Additional Information
When a quote request returns
false
for
isAutoQuoteEligible
there will be more information available in the following field:
| Name | Type | Description |
|---|---|---|
| brokerAutoQuoteIneligibleReasons | String | If we modified the
we would see a reason provide in the response as |
Date validations
The top-level
coverageEffectiveAt
and
coverageEndAt
arguments are checked before the update is saved. A failed check returns one of these plain-text errors and nothing is changed:
-
coverageEffectiveAtcan be no more than 7 days in the past. The error iscoverage_effective_at cannot be older than 7 days ago. -
coverageEndAtmust be today or later. The error iscoverage_end_at cannot be backdated.
Dates before the year 1900 are rejected with a validation error. If
coverageEndAt
is not provided, it defaults to one year after coverageEffectiveAt. Dates are evaluated in UTC.
Closing a quote request
Use the top-level
status
argument to close a quote request you no longer need, for example because the client bound elsewhere. Include
declineLossReason
to tell us why.
| Name | Type | Required | Description |
|---|---|---|---|
| status | QuoteRequestStatus | Optional | API partners can set A quote request with status |
| declineLossReason | DeclineLossReason | Optional | Only these values are accepted from API partners:
Any other value is ignored without an error, and |
| declineLossNotes | String | Optional | Free-text explanation, up to 10,000 characters, for example the name of the carrier the client bound with. |
mutation CloseQuoteRequest($id: ID!, $status: QuoteRequestStatus, $declineLossReason: DeclineLossReason, $declineLossNotes: String) { updateQuoteRequest( id: $id status: $status declineLossReason: $declineLossReason declineLossNotes: $declineLossNotes ) { id status declineLossReason }}
{ "id": "9wrvdpN5QaWlJ5PomsPe1g", "status": "CLOSED", "declineLossReason": "BOUND_ELSEWHERE_PREMIUM_UNCOMPETITIVE", "declineLossNotes": "Bound with incumbent carrier"}
{ "data": { "updateQuoteRequest": { "id": "9wrvdpN5QaWlJ5PomsPe1g", "status": "CLOSED", "declineLossReason": "BOUND_ELSEWHERE_PREMIUM_UNCOMPETITIVE" } }}