curl https://portal.bridgelinepf.com/api/v1/quotes/qte_2lo4LFk5rf8toDFJHSUZ2O \
-H "Authorization: Bearer $BRIDGELINE_API_KEY"
const res = await fetch(`https://portal.bridgelinepf.com/api/v1/quotes/${quoteId}`, {
headers: {
Authorization: `Bearer ${process.env.BRIDGELINE_API_KEY}`,
},
})
const quote = await res.json()
import os
import requests
res = requests.get(
f"https://portal.bridgelinepf.com/api/v1/quotes/{quote_id}",
headers={
"Authorization": f"Bearer {os.environ['BRIDGELINE_API_KEY']}",
},
timeout=30,
)
quote = res.json()
{
"id": "qte_2lo4LFk5rf8toDFJaD9Xoe",
"object": "quote",
"livemode": true,
"status": "interested",
"client_reference_id": null,
"metadata": {},
"broker": {"email": "maria@lonestarrisk.example"},
"created_at": "2026-10-04T15:04:05Z",
"expires_at": "2026-11-03T15:04:05Z",
"hosted_url": null,
"selected_option_id": "opt_20_9",
"interest": {
"option_id": "opt_20_9",
"note": "Can we start the first payment in November?",
"submitted_at": "2026-10-05T15:02:11Z",
"broker_notification": {
"status": "sent",
"reason": null,
"recipient": "broker",
"recipients": ["maria@lonestarrisk.example"],
"at": "2026-10-05T15:02:13Z"
}
},
"totals": {
"premium": "46100.00",
"taxes_and_fees": "0.00",
"total": "46100.00",
"weighted_minimum_earned_rate": 0.25,
"financing_start_date": "2026-10-15"
},
"policies": [
{
"id": "pol_4Hq8Zt2m",
"total": "46100.00",
"minimum_earned": {"rate": 0.25},
"carrier": {
"name": "Scottsdale Insurance Company",
"am_best": {"rating": "A+", "source": "am_best"}
},
"metadata": {}
}
],
"eligibility": {
"status": "eligible",
"checks": [
{"code": "INPUT_VALID", "passed": true},
{"code": "INSURED_STATE", "passed": true, "limit": "TX", "actual": "TX"},
{"code": "PREMIUM_MIN", "passed": true, "limit": "4500.00", "actual": "46100.00"},
{"code": "PREMIUM_MAX", "passed": true, "limit": "175000.00", "actual": "46100.00"},
{"code": "AM_BEST_MIN", "passed": true, "limit": "A-"},
{"code": "ISSUER", "passed": true},
{"code": "COVERAGE", "passed": true},
{"code": "POLICY_BACKDATE", "passed": true, "limit": "30 days"},
{"code": "DATE_UNIFORMITY", "passed": true},
{"code": "POLICY_TERM", "passed": true, "limit": "3 months", "actual": "12 months"},
{"code": "MINIMUM_EARNED_MAX", "passed": true, "limit": "90%", "actual": "25%"}
],
"reasons": []
},
"assumptions": [
{
"code": "TAXES_AND_FEES_NOT_PROVIDED",
"param": "policies[0].taxes_and_fees",
"message": "No taxes or fees provided; the amount financed is the premium only."
},
{
"code": "AUDITABLE_ASSUMED",
"param": "policies[0].auditable",
"message": "Not provided; assumed auditable (the conservative choice)."
}
],
"warnings": [],
"binding_readiness": {
"ready": false,
"issues": [
{
"code": "DOCUMENT_TYPE_REQUIRED",
"param": "policies[0].document_type",
"message": "Say whether this is a quote, binder or policy."
},
{
"code": "MISSING_POLICY_NUMBER",
"param": "policies[0].policy_number",
"message": "A real policy number is required before binding."
},
{
"code": "INSURED_ADDRESS_INCOMPLETE",
"param": "insured.address",
"message": "The insured's full mailing address is required before binding (statutory notices are mailed to it)."
}
]
},
"recommended_option_id": "opt_25_10",
"options": [
{
"id": "opt_20_9",
"down_payment_rate": 0.2,
"term_months": 9,
"apr": 0.1209,
"down_payment": "9220.00",
"amount_financed": "36880.00",
"monthly_payment": "4306.98",
"finance_charge": "1882.86",
"total_of_payments": "38762.86",
"total_cost": "47982.86",
"spread_clamped": false
}
// ...29 more options
]
}
{
"error": {
"type": "not_found",
"code": "NOT_FOUND",
"message": "No such quote.",
"param": "id",
"doc_url": "https://docs.bridgelinepf.com/errors#NOT_FOUND",
"request_id": "req_8fJ2kQ9xLm4TzW7nB3cY5pDv"
}
}
Retrieve a quote
Returns the stored snapshot (never re-priced), including whether the insured has said they are interested. status is active until expires_at, then expired; interested once the insured picks an option on the hosted page (selected_option_id); interest then carries their note and whether we emailed the agency. hosted_url is always null here: it is returned only when the quote is created, or when you replace the link with the hosted-link endpoint.
curl https://portal.bridgelinepf.com/api/v1/quotes/qte_2lo4LFk5rf8toDFJHSUZ2O \
-H "Authorization: Bearer $BRIDGELINE_API_KEY"
const res = await fetch(`https://portal.bridgelinepf.com/api/v1/quotes/${quoteId}`, {
headers: {
Authorization: `Bearer ${process.env.BRIDGELINE_API_KEY}`,
},
})
const quote = await res.json()
import os
import requests
res = requests.get(
f"https://portal.bridgelinepf.com/api/v1/quotes/{quote_id}",
headers={
"Authorization": f"Bearer {os.environ['BRIDGELINE_API_KEY']}",
},
timeout=30,
)
quote = res.json()
{
"id": "qte_2lo4LFk5rf8toDFJaD9Xoe",
"object": "quote",
"livemode": true,
"status": "interested",
"client_reference_id": null,
"metadata": {},
"broker": {"email": "maria@lonestarrisk.example"},
"created_at": "2026-10-04T15:04:05Z",
"expires_at": "2026-11-03T15:04:05Z",
"hosted_url": null,
"selected_option_id": "opt_20_9",
"interest": {
"option_id": "opt_20_9",
"note": "Can we start the first payment in November?",
"submitted_at": "2026-10-05T15:02:11Z",
"broker_notification": {
"status": "sent",
"reason": null,
"recipient": "broker",
"recipients": ["maria@lonestarrisk.example"],
"at": "2026-10-05T15:02:13Z"
}
},
"totals": {
"premium": "46100.00",
"taxes_and_fees": "0.00",
"total": "46100.00",
"weighted_minimum_earned_rate": 0.25,
"financing_start_date": "2026-10-15"
},
"policies": [
{
"id": "pol_4Hq8Zt2m",
"total": "46100.00",
"minimum_earned": {"rate": 0.25},
"carrier": {
"name": "Scottsdale Insurance Company",
"am_best": {"rating": "A+", "source": "am_best"}
},
"metadata": {}
}
],
"eligibility": {
"status": "eligible",
"checks": [
{"code": "INPUT_VALID", "passed": true},
{"code": "INSURED_STATE", "passed": true, "limit": "TX", "actual": "TX"},
{"code": "PREMIUM_MIN", "passed": true, "limit": "4500.00", "actual": "46100.00"},
{"code": "PREMIUM_MAX", "passed": true, "limit": "175000.00", "actual": "46100.00"},
{"code": "AM_BEST_MIN", "passed": true, "limit": "A-"},
{"code": "ISSUER", "passed": true},
{"code": "COVERAGE", "passed": true},
{"code": "POLICY_BACKDATE", "passed": true, "limit": "30 days"},
{"code": "DATE_UNIFORMITY", "passed": true},
{"code": "POLICY_TERM", "passed": true, "limit": "3 months", "actual": "12 months"},
{"code": "MINIMUM_EARNED_MAX", "passed": true, "limit": "90%", "actual": "25%"}
],
"reasons": []
},
"assumptions": [
{
"code": "TAXES_AND_FEES_NOT_PROVIDED",
"param": "policies[0].taxes_and_fees",
"message": "No taxes or fees provided; the amount financed is the premium only."
},
{
"code": "AUDITABLE_ASSUMED",
"param": "policies[0].auditable",
"message": "Not provided; assumed auditable (the conservative choice)."
}
],
"warnings": [],
"binding_readiness": {
"ready": false,
"issues": [
{
"code": "DOCUMENT_TYPE_REQUIRED",
"param": "policies[0].document_type",
"message": "Say whether this is a quote, binder or policy."
},
{
"code": "MISSING_POLICY_NUMBER",
"param": "policies[0].policy_number",
"message": "A real policy number is required before binding."
},
{
"code": "INSURED_ADDRESS_INCOMPLETE",
"param": "insured.address",
"message": "The insured's full mailing address is required before binding (statutory notices are mailed to it)."
}
]
},
"recommended_option_id": "opt_25_10",
"options": [
{
"id": "opt_20_9",
"down_payment_rate": 0.2,
"term_months": 9,
"apr": 0.1209,
"down_payment": "9220.00",
"amount_financed": "36880.00",
"monthly_payment": "4306.98",
"finance_charge": "1882.86",
"total_of_payments": "38762.86",
"total_cost": "47982.86",
"spread_clamped": false
}
// ...29 more options
]
}
{
"error": {
"type": "not_found",
"code": "NOT_FOUND",
"message": "No such quote.",
"param": "id",
"doc_url": "https://docs.bridgelinepf.com/errors#NOT_FOUND",
"request_id": "req_8fJ2kQ9xLm4TzW7nB3cY5pDv"
}
}
status:activeuntilexpires_at, thenexpired;interestedonce your client chooses an option on the interactive quote, and it staysinterestedafter expiry.selected_option_idandinterest: your client’s choice, their note and whether we emailed your broker.hosted_urlis alwaysnullhere. To get a link again, replace it.
404 as an id that doesn’t exist.
curl https://portal.bridgelinepf.com/api/v1/quotes/qte_2lo4LFk5rf8toDFJHSUZ2O \
-H "Authorization: Bearer $BRIDGELINE_API_KEY"
const res = await fetch(`https://portal.bridgelinepf.com/api/v1/quotes/${quoteId}`, {
headers: {
Authorization: `Bearer ${process.env.BRIDGELINE_API_KEY}`,
},
})
const quote = await res.json()
import os
import requests
res = requests.get(
f"https://portal.bridgelinepf.com/api/v1/quotes/{quote_id}",
headers={
"Authorization": f"Bearer {os.environ['BRIDGELINE_API_KEY']}",
},
timeout=30,
)
quote = res.json()
{
"id": "qte_2lo4LFk5rf8toDFJaD9Xoe",
"object": "quote",
"livemode": true,
"status": "interested",
"client_reference_id": null,
"metadata": {},
"broker": {"email": "maria@lonestarrisk.example"},
"created_at": "2026-10-04T15:04:05Z",
"expires_at": "2026-11-03T15:04:05Z",
"hosted_url": null,
"selected_option_id": "opt_20_9",
"interest": {
"option_id": "opt_20_9",
"note": "Can we start the first payment in November?",
"submitted_at": "2026-10-05T15:02:11Z",
"broker_notification": {
"status": "sent",
"reason": null,
"recipient": "broker",
"recipients": ["maria@lonestarrisk.example"],
"at": "2026-10-05T15:02:13Z"
}
},
"totals": {
"premium": "46100.00",
"taxes_and_fees": "0.00",
"total": "46100.00",
"weighted_minimum_earned_rate": 0.25,
"financing_start_date": "2026-10-15"
},
"policies": [
{
"id": "pol_4Hq8Zt2m",
"total": "46100.00",
"minimum_earned": {"rate": 0.25},
"carrier": {
"name": "Scottsdale Insurance Company",
"am_best": {"rating": "A+", "source": "am_best"}
},
"metadata": {}
}
],
"eligibility": {
"status": "eligible",
"checks": [
{"code": "INPUT_VALID", "passed": true},
{"code": "INSURED_STATE", "passed": true, "limit": "TX", "actual": "TX"},
{"code": "PREMIUM_MIN", "passed": true, "limit": "4500.00", "actual": "46100.00"},
{"code": "PREMIUM_MAX", "passed": true, "limit": "175000.00", "actual": "46100.00"},
{"code": "AM_BEST_MIN", "passed": true, "limit": "A-"},
{"code": "ISSUER", "passed": true},
{"code": "COVERAGE", "passed": true},
{"code": "POLICY_BACKDATE", "passed": true, "limit": "30 days"},
{"code": "DATE_UNIFORMITY", "passed": true},
{"code": "POLICY_TERM", "passed": true, "limit": "3 months", "actual": "12 months"},
{"code": "MINIMUM_EARNED_MAX", "passed": true, "limit": "90%", "actual": "25%"}
],
"reasons": []
},
"assumptions": [
{
"code": "TAXES_AND_FEES_NOT_PROVIDED",
"param": "policies[0].taxes_and_fees",
"message": "No taxes or fees provided; the amount financed is the premium only."
},
{
"code": "AUDITABLE_ASSUMED",
"param": "policies[0].auditable",
"message": "Not provided; assumed auditable (the conservative choice)."
}
],
"warnings": [],
"binding_readiness": {
"ready": false,
"issues": [
{
"code": "DOCUMENT_TYPE_REQUIRED",
"param": "policies[0].document_type",
"message": "Say whether this is a quote, binder or policy."
},
{
"code": "MISSING_POLICY_NUMBER",
"param": "policies[0].policy_number",
"message": "A real policy number is required before binding."
},
{
"code": "INSURED_ADDRESS_INCOMPLETE",
"param": "insured.address",
"message": "The insured's full mailing address is required before binding (statutory notices are mailed to it)."
}
]
},
"recommended_option_id": "opt_25_10",
"options": [
{
"id": "opt_20_9",
"down_payment_rate": 0.2,
"term_months": 9,
"apr": 0.1209,
"down_payment": "9220.00",
"amount_financed": "36880.00",
"monthly_payment": "4306.98",
"finance_charge": "1882.86",
"total_of_payments": "38762.86",
"total_cost": "47982.86",
"spread_clamped": false
}
// ...29 more options
]
}
{
"error": {
"type": "not_found",
"code": "NOT_FOUND",
"message": "No such quote.",
"param": "id",
"doc_url": "https://docs.bridgelinepf.com/errors#NOT_FOUND",
"request_id": "req_8fJ2kQ9xLm4TzW7nB3cY5pDv"
}
}
Authorizations
bl_live_… or bl_test_… API key.
Headers
API version (a date). Defaults to 2026-09-23; echoed on every response.
^\d{4}-\d{2}-\d{2}$Path Parameters
The quote id (qte_…).
Response
The quote.
An indicative quote: a stored snapshot, not a price lock.
qte_…
"quote"active, interested, expired Show child attributes
Show child attributes
Show child attributes
Show child attributes
Returned when the quote is created; null when retrieved.
The insured's response on the hosted page; null unless status is interested. This object is also the payload the Phase 3 quote.interest_expressed webhook will reuse.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes