Get Validations for Proposal Record

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

Retrieves validation results for a proposal (or for an individual child record within the proposal). This endpoint does not perform the validation evaluation, it simply returns the results from the most recent validation run. To trigger a new evaluation, you should first call POST .../Validations/Run or POST .../Validations/Queue.

This endpoint filters the proposal's full validation list to a specific domain and record. For example, you can retrieve just the validations for a single location or coverage.

The domain parameter identifies the type of record, and the id parameter identifies the specific record:

  • When {domain} is a scheduled item or coverage domain (e.g., ProposalLocation, ProposalCLCoverage), the id is the primary key of the specific record (such as a particular location or coverage). In this context it is a required input and the results are limited to validations for that individual record.
  • When {domain} is either Proposal or Policy, id is ignored because these validations apply to the proposal or its policy configuration as a whole. A value is still required in the URL due to the route pattern, so pass any value (e.g., 0).

What are validation results?

Validation results are produced when POST .../Validations/Run or POST .../Validations/Queue evaluates the proposal and its child records for data completeness and business rule compliance. Each result identifies an issue found during the evaluation: whether it is an error or warning, which field it relates to, and whether it prevents binding or rating.

Results may be empty if validations have not been run yet. If the underlying record has been modified since the last validation run, the RecordChanged field on the result item will be true, indicating the validation may no longer reflect the current data. Re-run validations to get up-to-date results.

Examples

Scenario 1: Get validations for a specific schedule record:

GET /api/Quotes/Proposals/12345/Validations/ProposalLocation/200
200 OK
[
  {
    "ProposalValidationID": 1001,
    "PolicyLineID": 5,
    "StateID": null,
    "CoverageID": null,
    "DomainName": "ProposalLocation",
    "DomainDisplayName": "Location",
    "SubjectID": 200,
    "ValidationType": "Error",
    "Message": "Address is required.",
    "FieldName": "Address1",
    "FieldDisplayName": "Street Address",
    "PreventBind": true,
    "Waived": false,
    "WaivedByUserID": null,
    "WaivedReason": null,
    "PreventRating": true,
    "RecordChanged": false
  }
]

Scenario 2: Get proposal-level validations (id is ignored):

GET /api/Quotes/Proposals/12345/Validations/Proposal/0
200 OK
[
  {
    "ProposalValidationID": 1010,
    "PolicyLineID": null,
    "StateID": null,
    "CoverageID": null,
    "DomainName": "Proposal",
    "DomainDisplayName": "Proposal",
    "SubjectID": null,
    "ValidationType": "Warning",
    "Message": "Effective date is in the past.",
    "FieldName": "EffectiveDate",
    "FieldDisplayName": "Effective Date",
    "PreventBind": false,
    "Waived": false,
    "PreventRating": false,
    "RecordChanged": false
  }
]

Scenario 3: Non-proposal domain with missing id:

GET /api/Quotes/Proposals/12345/Validations/ProposalLocation/
500 Internal Server Error
"Value cannot be null. (Parameter 'id')"
Path Params
integer
required

The ID of the Proposal for which you are retrieving data.

string
required

The name of the Domain object for which you are retrieving validations.

integer
required

The ID of the coverage record (ie, if my {domain} is Claim then this ID is the ClaimID).

Response

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json