{"openapi":"3.1.0","info":{"title":"YellowBus agent services","version":"1.0.0","description":"Free insurance quote referrals and licensed producer signup. Read requirements and obtain explicit user approval before writes. No UCP checkout or insurance binding."},"servers":[{"url":"https://yllwbus.com"}],"paths":{"/agent-api/services":{"get":{"operationId":"discoverServices","summary":"Discover consumer and producer services","responses":{"200":{"description":"Public service information","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agent-api/quote-requirements":{"get":{"operationId":"getQuoteRequirements","summary":"Get current consent disclosure and CAPTCHA requirements","responses":{"200":{"description":"Public service information","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agent-api/producer-signup":{"get":{"operationId":"getProducerSignup","summary":"Get real registration fields and verification/checkout handoffs","responses":{"200":{"description":"Public service information","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/portal/register":{"post":{"operationId":"registerProducer","summary":"Create a producer account after explicit approval; verification and checkout follow","description":"Prefer a secure browser form for credentials. Use Accept: application/json and preserve the returned session cookie securely for continuation. Never put credentials in chat transcripts.","x-openai-isConsequential":true,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","password","npn","account_create_confirmed"],"properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"password":{"type":"string","minLength":8,"writeOnly":true},"npn":{"type":"string","pattern":"^\\d{1,10}$"},"company_name":{"type":"string"},"license_number":{"type":"string"},"phone":{"type":"string"},"account_create_confirmed":{"type":"boolean","const":true}}}}}},"responses":{"201":{"description":"Account created; human_action_required and continue_url. Subscription is not active."},"400":{"description":"Invalid registration, missing approval, or failed license eligibility."},"409":{"description":"Account already exists; use the login page."}}}},"/agent-api/quote-requests":{"post":{"operationId":"submitQuoteRequest","summary":"Send a consumer-approved free quote request","x-openai-isConsequential":true,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["name","email","phone","zip_code","insurance_type","contact_preference","consent_version","tcpa_consent","submit_confirmed"],"properties":{"name":{"type":"string","minLength":1,"maxLength":160},"email":{"type":"string","format":"email","maxLength":254},"phone":{"type":"string","minLength":10,"maxLength":32},"zip_code":{"type":"string","pattern":"^\\d{5}(-\\d{4})?$"},"insurance_type":{"type":"string","enum":["auto","home","life","health","medicare","commercial"]},"contact_preference":{"type":"string","enum":["email","text","phone","all"]},"compare_quotes":{"type":"boolean","default":false,"description":"Ask separately whether the consumer wants quotes from multiple agents."},"tcpa_consent":{"type":"boolean","const":true,"description":"Only true after the consumer explicitly agrees to the full disclosure."},"consent_version":{"type":"string","const":"2026-10-22"},"submit_confirmed":{"type":"boolean","const":true,"description":"Consumer explicitly approved sending this exact request."},"captcha_token":{"type":"string","maxLength":10000,"description":"Human-completed challenge if required; never bypass it."}}}}}},"responses":{"201":{"description":"Request saved; lead_id is a receipt, not an insurance quote or policy."},"400":{"description":"Invalid data, consent or CAPTCHA."},"409":{"description":"Human CAPTCHA completion required; follow continue_url. Nothing submitted."},"429":{"description":"Rate limit; respect Retry-After."},"500":{"description":"Submission failed. Do not blindly retry after an uncertain outcome."}}}}}}