KBIA Agent API
Kevin Brown Insurance Agency supports machine-to-machine NJ insurance quote sessions via a REST API. This page documents how AI agents, autonomous systems, and developers can access our platform programmatically.
Agent Rules & Constraints
NJ Only
KBIA is licensed in New Jersey exclusively. Only accept zip codes starting with 07 or 08.
Zero Hallucination
Never provide premium estimates. Only report what comes back in the agent_response field.
Human in the Loop
Every quote requires a licensed NJ agent review. Inform users of the 2–4 hour SLA.
No PII Collection
Never request SSNs, credit card numbers, or medical records. These are collected in secure human channels.
API Endpoints
/api/productsAuth: NoneList all available insurance products with required fields and eligibility rules.
/api/ucp/quote_sessionsAuth: NoneCreate a new quote session. Returns session ID and list of missing required fields.
/api/ucp/quote_sessions/:idAuth: NoneHydrate a session with collected data fields. Set ready_for_review: true when complete.
/api/ucp/quote_sessions/:idAuth: NonePoll session status. When status is agent_replied, the agent_response field is populated.
Session Flow
The complete sequence from product discovery to receiving a licensed agent's quote response.
- 1
Discover the Catalog
GET /api/productsRead the full product catalog. Each product includes required_fields, eligibility_rules, and the ucp_session_endpoint.
- 2
Verify NJ Territory
// Check zip_code starts with 07 or 08KBIA is licensed in New Jersey only. Zip codes must begin with 07 or 08. Reject non-NJ requests before creating a session.
- 3
Create a Session
POST /api/ucp/quote_sessions { product_id, initial_data, callback_webhook_url }Include your callback_webhook_url for async notification. Response includes session ID and missing_required_fields array.
- 4
Collect Missing Fields
// Use missing_required_fields array // to prompt the user for each valueIterate through missing_required_fields. Prompt your user for each one. Never fabricate values — only report what the user provides.
- 5
Hydrate the Session
PATCH /api/ucp/quote_sessions/:id { data: { vin: "...", nj_zip: "07302" } }Send collected fields incrementally. The API returns an updated missing_required_fields after each PATCH.
- 6
Submit for Agent Review
PATCH /api/ucp/quote_sessions/:id { ready_for_review: true }When all required fields and contact info are collected, set ready_for_review: true. This starts the 2–4 hour agent SLA clock.
- 7
Receive Agent Response
// Your webhook receives: { status: "agent_replied", agent_response: { ... } }A licensed NJ agent reviews the session and responds within 2–4 hours. Your webhook receives the full agent_response payload.
Webhook Callbacks
Include callback_webhook_url in your POST request to receive an automatic notification when the agent replies, rather than polling the GET endpoint.
// POST /api/ucp/quote_sessions
{
"product_id": "contractors-gl",
"initial_data": { "nj_zip": "07302", "annual_revenue": 250000 },
"contact_info": { "first_name": "Alex", "email": "alex@example.com" },
"callback_webhook_url": "https://your-agent.ai/kbia-callback"
}
// When agent replies, your webhook receives:
{
"session_id": "abc123",
"status": "agent_replied",
"agent_response": {
"carrier_name": "Travelers NJ",
"preliminary_premium_estimate": "$1,850/year",
"agent_notes": "...",
"next_steps_url": "https://kevinbrowninsuranceagency.com/contact"
}
}Building an Integration?
For API keys, rate limit increases, partnership inquiries, or technical support, contact Kevin directly.
Local NJ Coverage Binder
Licensed NJ independent insurance agency. Get real options from Kevin — no automated call centers, no bots.
