| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Overview
Deprecation NoticeThis endpoint is kept for backward compatibility. Use
POST .../Rating/RunOptionsfor new integrations.
Runs the rating engine synchronously for a proposal and returns the calculated premium and rating status when complete. Due to the complexity of rating, this may result in calls taking longer than the allotted timeout period. Pairing this call with polling for status (GET .../Rating/Status) is recommended.
The response is the same ProposalRatingStatus object returned by GET .../Rating/Status. Rating errors are caught internally: if the rating engine throws an exception, the response is still 200 OK with RatingStatus set to "E" and the error message in RatingErrorMessage.
Examples
Scenario 1: Rate a proposal with pre-rating validation:
POST /api/Quotes/Proposals/12345/Rating/Run200 OK
{
"ProposalID": 12345,
"RatingCalculationDate": "2026-05-10T14:30:00Z",
"DeepModifiedDateUTC": "2026-05-10T14:25:00Z",
"RatingStatus": "C",
"RatingErrorMessage": null,
"LineItems": [
{
"PolicyLineCode": "ISO_GL",
"Premium": 5000.00
}
],
"Premium": 5000.00,
"TotalCost": 5250.00
}Scenario 2: Skip validation and rate:
POST /api/Quotes/Proposals/12345/Rating/Run?skipValidation=true200 OK
{
"ProposalID": 12345,
"RatingCalculationDate": "2026-05-10T14:32:00Z",
"DeepModifiedDateUTC": "2026-05-10T14:25:00Z",
"RatingStatus": "C",
"RatingErrorMessage": null,
"Premium": 5000.00,
"TotalCost": 5250.00
}Scenario 3: Rating fails with an error:
POST /api/Quotes/Proposals/12345/Rating/Run200 OK
{
"ProposalID": 12345,
"RatingCalculationDate": null,
"DeepModifiedDateUTC": "2026-05-10T14:25:00Z",
"RatingStatus": "E",
"RatingErrorMessage": "Rate table not found for policy line ISO_GL.",
"Premium": null,
"TotalCost": null
}