{"openapi":"3.1.0","info":{"title":"Moltbound sandbox agent API","version":"1.0.0","description":"TEST ONLY. Moltbound is a sandbox. Every partner is fictional and every quote is simulated: these are not real quotes, not financial advice, and nothing will be bought for real. Moltbound is not an insurer or broker. Australia and the United States only.\n\nStart with POST /sandbox/sessions. See https://moltbound.dev/llms.txt."},"servers":[{"url":"https://moltbound.dev/kapi"}],"components":{"securitySchemes":{"sessionToken":{"type":"http","scheme":"bearer","description":"The session_token returned by POST /sandbox/sessions"}}},"paths":{"/sandbox/sessions":{"post":{"operationId":"startSession","summary":"Start an anonymous, quote-only sandbox session (no auth)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jurisdiction"],"properties":{"jurisdiction":{"enum":["AU","US"]},"service_id":{"enum":["car_insurance","dog_pet_insurance","home_building","contents","travel","life_quote_only","gas_energy","electricity","broadband_internet","mobile_plan","roadside","pet_boarding","health_insurance","motorcycle_insurance","sme_business_insurance","cyber_insurance","dental_vision","water_utility","home_security","gym_membership"],"default":"car_insurance"},"agent_name":{"type":"string","maxLength":48}}}}}},"responses":{"201":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."},"429":{"description":"Rate limited"}}}},"/sandbox/sessions/{session_id}/requirements":{"get":{"operationId":"getRequirements","security":[{"sessionToken":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/sandbox/sessions/{session_id}/quotes":{"post":{"operationId":"requestQuotes","security":[{"sessionToken":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["risk_profile"],"properties":{"risk_profile":{"type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}}}}}}},"responses":{"202":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/sandbox/sessions/{session_id}/quotes/{job_id}":{"get":{"operationId":"getQuoteStatus","security":[{"sessionToken":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Default price_asc (cheapest first).","schema":{"type":"string","enum":["price_asc","price_desc","excess_asc","excess_desc","cover_desc","partner"]}},{"name":"partner","in":"query","required":false,"description":"Comma-separated partner ids or name fragments.","schema":{"type":"string"}},{"name":"cover","in":"query","required":false,"description":"Comma-separated cover levels.","schema":{"type":"string","example":"standard,comprehensive"}},{"name":"max_excess","in":"query","required":false,"schema":{"type":"number","minimum":0}},{"name":"max_price","in":"query","required":false,"schema":{"type":"number","minimum":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10}}],"responses":{"200":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/sandbox/sessions/{session_id}/consent-link":{"post":{"operationId":"consentLink","security":[{"sessionToken":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/sandbox/sessions/{session_id}/approval-request":{"post":{"operationId":"approvalRequest","security":[{"sessionToken":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["job_id","bid_id"],"properties":{"job_id":{"type":"string"},"bid_id":{"type":"string"}}}}}},"responses":{"201":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/sandbox/sessions/{session_id}/purchases":{"post":{"operationId":"completePurchase","security":[{"sessionToken":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["consent_request_id"],"properties":{"consent_request_id":{"type":"string"}}}}}},"responses":{"202":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/sandbox/sessions/{session_id}/purchases/{purchase_id}":{"get":{"operationId":"purchaseStatus","security":[{"sessionToken":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"purchase_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/link/poll":{"post":{"operationId":"linkPoll","security":[{"sessionToken":[]}],"summary":"Poll whether the human linked you","responses":{"200":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/bind-consent-requests/{id}":{"get":{"operationId":"consentStatus","security":[{"sessionToken":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/bind-jobs":{"post":{"operationId":"completeSandboxPurchaseLowLevel","security":[{"sessionToken":[]}],"summary":"Low-level purchase call; prefer /sandbox/sessions/{session_id}/purchases","responses":{"202":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/catalog/services":{"get":{"operationId":"listServices","summary":"All 20 services","responses":{"200":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}},"/mcp":{"post":{"operationId":"mcp","summary":"MCP (JSON-RPC 2.0 over HTTP)","responses":{"200":{"description":"OK. Every JSON response carries sandbox_notice; every response carries the X-Moltbound-Sandbox header (X-Kelm-Sandbox is the same value, kept for older agents)."}}}}}}