We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Product: Smart Tech E+O
Update Quote Request
updateQuoteRequest(id: $id, action: $action, brokerQuoteRequestInfo: $brokerQuoteRequestInfo)
- Product
- Smart Tech E+O
- 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. |
| 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 | Answer must be a nature of business name as a string (see Smart Tech E+O Nature of Business), or a 6-digit NAICS code formatted as an integer string, i.e., "541511" |
| grossAnnualRevenue | String | Required | Projected gross annual revenue (next 12 months) In dollars, formatted as an integer string, i.e. "1000000000" |
| numberOfPiiRecords | String | Required | 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 |
| 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 |
| techEoApplicationControls | TechEoApplicationControlsInput | 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, orotherwise obtain biometric data (biometric data is data related to body measurements andcalculations related to human characteristics and includes, but is not limited to,fingerprints, iris or retina scans, voiceprints, sleep/health/exercise data, DNA or biologicalmarkers)? |
| professionalServicesDescription | String | Optional | 9. Description of technology products/services offered to others for a fee or other compensation or consideration. |
| revenuePercentages | List RevenuePercentageInput | Optional | 10. Provide a breakout of the percentage of revenue derived from the products/services listed in the TechEO Nature of Business section. (List ALL that apply) RevenuePercentageInput is an object with the following shape:
|
| natureOfBusiness | String | Optional | Product/service description from the Nature of Business list - e.g. 'IT Consulting' |
| basisPoints | Int | Optional | Basis points of revenue for the nature of business - e.g. 1000 basis points = 10% |
| largestContracts | ContractSurveyInput | Optional | 11. List the Applicant's 3 largest contracts including client name and annual value (USD) of the contract ** Not all ContractSurveyInput fields need to be submitted. If details of only one or two of the largest contracts are known, or if the applicant has fewer than three contracts, details of the known/existing contracts may be submitted while omitting the fields that correspond to the unknown or non-existant contract(s). ContractSurveyInput is an object with the following shape:
|
| client1Name | String | Optional | Name of the client for the applicant's largest contract |
| client1Value | Int | Optional | Annual Value in USD of the applicant's largest contract |
| client2Name | String | Optional | Name of the client for the applicant's 2nd largest contract |
| client2Value | Int | Optional | Annual Value in USD of the applicant's 2nd largest contract |
| client3Name | String | Optional | Name of the client for the applicant's 3rd largest contract |
| client3Value | Int | Optional | Annual Value in USD of the applicant's 3rd largest contract |
| writtenContracts | Boolean | Optional | 12. Does the Applicant always utilize written contracts with customers? |
| legalCounselApproval | Boolean | Optional | 13. Does legal counsel approve all changes to standard contracts? |
| customerAcceptance | Boolean | Optional | 14. Does the Applicant require customer acceptance or sign-off within agreements or contracts? |
| limitationOfLiability | Boolean | Optional | 15. Does the Applicant require Limitation of Liability within agreements or contracts? |
| impliedWarranty | Boolean | Optional | 16. Does the Applicant include a waiver of implied warranty or any other warranty, except explicit warranties, to the extent allowable by law? |
| exclusionOfDamages | Boolean | Optional | 17. Does the Applicant include exclusion of consequential damages in their contracts inuring to their benefit? |
| emailFiltering | Boolean | Optional | 18a. Do you have email filtering in place? |
| secureEmailGateway | String | Optional | 18b. 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. |
| backups | Boolean | Optional | 19a. Do you have a backup solution? |
| backupFrequency | BackupFrequency | Optional | 19b. 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 | 19c. 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 | 20a. MFA enforced to secure all remote access to your network. |
| mfaPrivilegedAccounts | Boolean | Optional | 20b. MFA enforced to secure internal use of privileged accounts (administrator accounts, service accounts, etc.) |
| mfaEmailAccess | Boolean | Optional | 20c. 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 | 20d. MFA enforced to secure access to all critical applications |
| privilegedAccounts | PrivilegedAccountsInput | Optional | 21. 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 | 22. 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 | 23. 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 | 24. Do you have a Business Continuity Plan (BCP) or Disaster Recovery Plan (DRP) in place? |
| disasterRecoveryTesting | Boolean | Optional | 24a. If yes, has it been tested in the last 12 months? |
| intrusionDetection | Boolean | Optional | 25. Do you have an Intrusion Detection System (IDS) or Intrusion Prevention System (IPS) in place? |
| penetrationTesting | Boolean | Optional | 26. Do you conduct penetration testing of your network at least annually? |
| securityTraining | Boolean | Optional | 27. Do you conduct employee security training or phishing training, for all employees, at least annually? |
| paymentProcessingVerification | Boolean | Optional | 28. 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 | 29. If the Applicant uses multimedia material provided by others, does the Applicant always obtain the necessary rights, licenses, releases, and consents prior to publishing? |
| pciCompliance | Boolean | Optional | 30. 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 | 31. In the past three years, have you experienced any technology services or professional services errors or omissions incidents/claims, cyber security incidents, data privacy incidents or any multimedia liability claims? |
| breaches | Boolean | Optional | 32. Do you or any other person or organization proposed for this insurance have knowledge of any actual or alleged: technology services errors or omissions, 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 | 33. In the past three years, have you or any other organization proposed for this insurance sustained any unscheduled network outage or interruption lasting longer than 6 hours? |
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 |
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" } }}