| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
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), theidis 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 eitherProposalorPolicy,idis 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?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/200200 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/0200 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')"