Skip to content

Partner Quote API

Responses

Code Description Schema Examples
200 Success. QuoteSuccessResponse success
400 Bad request. Indicates either that some required parameter is missing or value of the parameter is invalid. ErrorResponse missing_required_parameter
state_not_supported
eligible_vehicle_not_found
403 Forbidden. Quote declined by underwriting or eligibility rules. ErrorResponse driver_license_invalid
quote_suppressed_by_cms
api_key_forbidden
429 Too many requests. ErrorResponse —
500 Server error. Indicates that the server encountered an unexpected condition or an error that prevented it from fulfilling the request. ErrorResponse server_error

See Error Codes for the full list of error codes.

Response Example

Success

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
{
  "status": "success",
  "message": "Processed successfully.",
  "transaction_id": "e7e40788-949e-4f7a-901c-b28e1b50c10",
  "reports_ran": true,
  "ubi": {
    "participation_option": "monthly_adjust"
  },
  "quote": {
    "quote_number": "KBNPA9GB4Y89V4G",
    "default_plan_code": "monthly_6_cc",
    "premium_summary": {
      "total_premium": 546.5,
      "initial_premium": 91.5,
      "monthly_premium": 91,
      "paid_in_full_premium": 519.0,
      "policy_term": 6
    },
    "discounts": {
      "policy_discounts": [
        {
          "code": "multi_car_discount",
          "name": "Multi Car Discount",
          "description": "Discount for insuring multiple vehicles on the same policy."
        }
      ],
      "driver_discounts": [
        {
          "driver_id": "d1",
          "discounts": [
            { "code": "good_student", "name": "Good Student" }
          ]
        }
      ],
      "vehicle_discounts": [
        {
          "vehicle_id": "v1",
          "discounts": [
            { "code": "safety_features", "name": "Safety Features" }
          ]
        }
      ]
    },
    "payment_plans": [
      {
        "plan_code": "monthly_6_cc",
        "name": "6-Month Monthly",
        "type": "monthly",
        "payment_method": "credit_card",
        "total_premium": 546.5,
        "down_payment": 91.5,
        "installment_premium": 91,
        "installment_count": 5,
        "policy_term": 6
      },
      {
        "plan_code": "pif_6_cc",
        "name": "6-Month Paid in Full",
        "type": "paid_in_full",
        "payment_method": "credit_card",
        "total_premium": 519.0,
        "policy_term": 6
      }
    ]
  },
  "bridge_urls": {
    "consumer_bridge_url": "https://consumer.url?sub4=e7e40788-949e-4f7a-901c-b28e1b50c10&partner=novo&sub1=0196596a-e597-7782-89f7-481a9512fcfa",
    "agent_bridge_url": "https://agent.url/agent?transactionId=e7e40788-949e-4f7a-901c-b28e1b50c10"
  },
  "coverage": {
    "policy_coverages": [
      {
        "coverage_code": "bi",
        "value": "50/100",
        "coverage_description": "Bodily Injury",
        "value_type": "limit",
        "value_description": "$50,000 Per Person / $100,000 Per Accident",
        "premium": 295
      },
      {
        "coverage_code": "pd",
        "value": "25",
        "coverage_description": "Property Damage",
        "value_type": "limit",
        "value_description": "$25,000",
        "premium": 149
      },
      {
        "coverage_code": "umbi",
        "value": "25/50",
        "coverage_description": "Uninsured Motorist Bodily Injury",
        "value_type": "limit",
        "value_description": "$25,000 Per Person / $50,000 Per Accident",
        "premium": 28
      },
      {
        "coverage_code": "uim",
        "value": "25/50",
        "coverage_description": "Underinsured Motorist Bodily Injury",
        "value_type": "limit",
        "value_description": "$25,000 Per Person / $50,000 Per Accident",
        "premium": 74
      },
      {
        "coverage_code": "med",
        "value": "1000",
        "coverage_description": "Medical Payments",
        "value_type": "limit",
        "value_description": "$1,000 Per Person",
        "premium": 0
      },
      {
        "coverage_code": "umpd",
        "value": "DECLINED",
        "coverage_description": "Uninsured Motorist Property Damage",
        "value_type": "limit",
        "value_description": "Declined"
      }
    ],
    "vehicle_coverages": [
      {
        "vin": "1C6SRFFT6KN855186",
        "coverages": [
          {
            "coverage_code": "comp",
            "value": "250",
            "coverage_description": "Comprehensive",
            "value_type": "deductible",
            "value_description": "$250 Deductible, Glass with $0 Deductible",
            "premium": 0
          },
          {
            "coverage_code": "coll",
            "value": "250",
            "coverage_description": "Collision",
            "value_type": "deductible",
            "value_description": "$250 Deductible",
            "premium": 0
          },
          {
            "coverage_code": "rent",
            "value": "50_PER_DAY_1500_MAX",
            "coverage_description": "Car Rental Reimbursement",
            "value_type": "limit",
            "value_description": "$50 Per Day $1,500 Maximum",
            "premium": 0
          },
          {
            "coverage_code": "loan_payoff",
            "value": "N",
            "coverage_description": "Loan Lease",
            "value_type": "limit",
            "value_description": "Declined",
            "premium": 0
          },
          {
            "coverage_code": "umpd",
            "value": "DECLINED",
            "coverage_description": "Uninsured Motorist Property Damage",
            "value_type": "limit",
            "value_description": "Declined"
          },
          {
            "coverage_code": "full_glass",
            "value": "Y",
            "coverage_description": "Glass Coverage",
            "value_type": "limit",
            "value_description": "Yes"
          },
          {
            "coverage_code": "acpe",
            "value": "1500",
            "coverage_description": "Additional Custom Parts and Equipment",
            "value_type": "limit",
            "value_description": "$1,500",
            "premium": 0
          }
        ]
      }
    ]
  },
  "input_issues": [
    {
      "path": "application.coverage.vehicle_coverage[0].umpd",
      "severity": "warning",
      "type": "rule_violation",
      "message": "UMPD value '100' is unsupported and is changed to the closest supported value 'declined'.",
      "original_value": "100",
      "resolved_value": "declined"
    },
    {
      "path": "application.coverage.vehicle_coverage[0].tow",
      "severity": "warning",
      "type": "rule_violation",
      "message": "TOW value 'true' is unsupported and is changed to the closest supported value 'false'.",
      "original_value": "true",
      "resolved_value": "false"
    },
    {
      "path": "application.coverage.policy_coverage.umpd",
      "severity": "warning",
      "type": "rule_violation",
      "message": "UMPD value '50' is unsupported and is changed to the closest supported value 'declined'.",
      "original_value": "50",
      "resolved_value": "declined"
    }
  ],
  "underwriting_messages": [
    {
      "code": "prior_insurance_proof_required",
      "severity": "warning",
      "category": "missing_data",
      "message": "Proof of prior insurance is required for John Doe before this policy can be issued."
    },
    {
      "code": "mvr_used_in_rating",
      "severity": "informational",
      "category": "disclosure",
      "message": "Motor vehicle records were used in rating."
    }
  ],
  "marketing_messages": [
    {
      "code": "nsp_participation_cta",
      "message": "This quote uses Monthly Adjust. Other Novo Safety Program options are available in the consumer bridge."
    }
  ]
}

Bad request

Missing required parameter
1
2
3
4
5
{
  "status": "error",
  "message": "application.drivers[0].name.last_name is a required field",
  "error_code": "invalid_request"
}
State not supported
1
2
3
4
5
{
  "status": "error",
  "message": "The state is not supported for now",
  "error_code": "state_not_supported"
}
Eligible vehicle not found
1
2
3
4
5
{
  "status": "error",
  "message": "Eligible vehicle not found",
  "error_code": "eligible_vehicle_not_found"
}

Forbidden

Driver license invalid
1
2
3
4
5
6
{
  "status": "error",
  "error_code": "driver_license_invalid",
  "message": "The primary named insured does not have a valid driver license.",
  "reports_ran": true
}
Quote suppressed by CMS
1
2
3
4
5
6
{
  "status": "error",
  "error_code": "quote_suppressed_by_cms",
  "message": "CMS score is below the minimum required to generate a quote.",
  "reports_ran": false
}
API key forbidden
1
2
3
{
  "message": "Forbidden"
}

403 response shapes

Underwriting and eligibility declines return ErrorResponse with status, error_code, message, and optional reports_ran. Invalid or missing API key authentication may return a bare ErrorMessageResponse with only message.

Server error

1
2
3
4
5
{
  "status": "error",
  "message": "Failed to get quote",
  "error_code": "server_error"
}