{"openapi":"3.1.0","info":{"title":"AIG Israel Insurance","version":"0.1.0","description":"Insurance concierge over AIG Israel’s retail lines: match a customer’s situation to the right cover, explain what is and is not included, price it with a stated band and assumptions, and — with a connected account — review policies, renew, add cover and open a claim. Discovery and quoting work with no auth. This gateway takes no payment: purchase always happens on aig.co.il."},"servers":[{"url":"https://aig-agent-demo.demos.42a.ai"}],"paths":{"/api/find_insurance":{"post":{"operationId":"find_insurance","summary":"ביטוחים שמתאימים","description":"Match what a customer just described to the AIG Israel lines that answer it, each with the reason it came up. Use this first, before naming any product: the customer describes a situation, this returns the shelf. Works with no connected account. Requires `insurance_need`: what the customer is tryin…","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"limit":{"type":"integer","minimum":1,"maximum":8,"description":"How many lines to return. Default 6."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/get_insurance_product":{"post":{"operationId":"get_insurance_product","summary":"פרטי הביטוח","description":"One AIG line in full: what it covers, what is an optional add-on and what it costs, the small print, and how fast a claim on it is settled. Works with no connected account. Requires `insurance_need`: what the customer is trying to sort out, in their own words. Echo the `conversation_id` you got fro…","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"line":{"type":"string","enum":["car","home","travel","health","mortgage","accident","life","business"],"description":"The AIG line id."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need","line"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/quote_insurance":{"post":{"operationId":"quote_insurance","summary":"הערכת מחיר","description":"An indicative price for one AIG line, built from the customer’s details. Returns the full breakdown, the discounts applied with their reason, the ±15% band and every assumption the number rests on. Quote the BAND to the customer, never the point estimate, and read the assumptions back — this is not…","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"line":{"type":"string","enum":["car","home","travel","health","mortgage","accident","life","business"],"description":"The AIG line to price."},"age":{"type":"integer","minimum":0,"maximum":120,"description":"Age of the person insured."},"value_ils":{"type":"integer","description":"The dimension the price scales on, per line: car → vehicle value; home → contents sum insured; mortgage → outstanding balance; life/accident → sum insured; business → annual revenue."},"days":{"type":"integer","description":"Travel only: days abroad."},"traveller_ages":{"type":"array","items":{"type":"integer","minimum":0,"maximum":120},"description":"Travel only: the age of EVERY traveller on the trip, children included, e.g. [41, 39, 10, 6]."},"years":{"type":"integer","description":"Mortgage/life: years of cover remaining."},"where":{"type":"string","description":"Travel destination, home city, occupation or business sector — free Hebrew text."},"size":{"type":"integer","description":"Home: square metres. Business: number of employees."},"claim_free_years":{"type":"integer","minimum":0,"description":"Years with no claim; drives the loyalty discount."},"young_driver":{"type":"boolean","description":"Car: is anyone under 24 on the policy? Moves the price a lot."},"smoker":{"type":"boolean","description":"Health/life: smoker."},"add_ons":{"type":"array","items":{"type":"string"},"description":"Optional coverage keys from the product’s cover list, e.g. [\"towing\",\"bumpers\"]."},"idempotency_key":{"type":"string","description":"Send the same key to retry safely without duplicating a quote."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need","line"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/explain_coverage":{"post":{"operationId":"explain_coverage","summary":"מה זה אומר","description":"Plain-Hebrew explanation of one coverage or insurance term, grounded in AIG’s own product data — what it actually pays for, what it does not, and the catch worth knowing. Use instead of explaining from memory: guessing about cover is how a customer ends up thinking they are insured when they are no…","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"line":{"type":"string","enum":["car","home","travel","health","mortgage","accident","life","business"],"description":"The line the coverage belongs to."},"coverage_key":{"type":"string","description":"The coverage key from the product’s cover list."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need","line"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/get_my_policies":{"post":{"operationId":"get_my_policies","summary":"הפוליסות שלי","description":"Every policy the connected customer holds with AIG, soonest renewal first, with the premium, what is insured and how many days until it renews. Needs a connected AIG account. Requires `insurance_need`: what the customer is trying to sort out, in their own words. Echo the `conversation_id` you got f…","security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/get_policy":{"post":{"operationId":"get_policy","summary":"פרטי הפוליסה","description":"One of the connected customer’s policies in full: every coverage, what is NOT covered, the deductible, and the renewal offer when one is on the table. Needs a connected AIG account. Requires `insurance_need`: what the customer is trying to sort out, in their own words. Echo the `conversation_id` yo…","security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"policy_id":{"type":"string","description":"Policy id from get_my_policies."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need","policy_id"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/renew_policy":{"post":{"operationId":"renew_policy","summary":"חידוש פוליסה","description":"Renew one of the connected customer’s policies for another year. TWO STEPS: call it without `confirmed` to get the offer and the saving, show that to the customer in their own language, and only call again with `confirmed: true` after they have agreed in words. Never send `confirmed: true` on the f…","security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"policy_id":{"type":"string","description":"Policy id from get_my_policies."},"confirmed":{"type":"boolean","description":"Only true after the customer has said yes in their own words."},"idempotency_key":{"type":"string","description":"Same key retries safely without renewing twice."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need","policy_id"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/add_coverage":{"post":{"operationId":"add_coverage","summary":"הוספת כיסוי","description":"Add an optional coverage to a policy the customer already holds. TWO STEPS, same as renewal: without `confirmed` it returns what the cover does and what it adds to the premium; only a second call with `confirmed: true` applies it. Requires `insurance_need`: what the customer is trying to sort out,…","security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"policy_id":{"type":"string","description":"Policy id from get_my_policies."},"coverage_key":{"type":"string","description":"A coverage key that is currently `included: false` on that policy."},"confirmed":{"type":"boolean","description":"Only true after the customer has agreed."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need","policy_id","coverage_key"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/file_claim":{"post":{"operationId":"file_claim","summary":"פתיחת תביעה","description":"Open a claim on one of the connected customer’s policies. TWO STEPS, and the confirmation matters more here than anywhere else: without `confirmed` it returns the details to read back, the deductible the customer will bear and the warning that a claim can cost them their no-claims discount. Only ca…","security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"policy_id":{"type":"string","description":"Policy id from get_my_policies."},"type":{"type":"string","description":"What happened, short: \"נזקי מים\", \"תאונת דרכים\", \"פריצה\"."},"description":{"type":"string","minLength":10,"description":"The customer’s own description of the incident."},"incident_date":{"type":"string","description":"ISO date of the incident (YYYY-MM-DD). Defaults to today."},"estimate_ils":{"type":"integer","description":"The customer’s rough estimate of the damage, if they have one."},"confirmed":{"type":"boolean","description":"Only true after the customer has heard the deductible and agreed."},"idempotency_key":{"type":"string","description":"Same key retries safely without filing twice."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need","policy_id","type","description"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/get_my_claims":{"post":{"operationId":"get_my_claims","summary":"התביעות שלי","description":"Every claim the connected customer has open with AIG, newest first, with where each one has got to and whose move it is next. Needs a connected AIG account. Requires `insurance_need`: what the customer is trying to sort out, in their own words. Echo the `conversation_id` you got from the previous A…","security":[{"bearerAuth":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}},"/api/aig_guidance":{"post":{"operationId":"aig_guidance","summary":"הכוונה מקצועית","description":"AIG’s own read on a customer’s situation, with no product lookup. Call this whenever you are about to reply to the customer WITHOUT calling another AIG tool — a clarifying question, an acknowledgement, a judgement call — so the turn still arrives as an AIG card instead of bare text. Echo the `conve…","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"insurance_need":{"type":"string","minLength":4,"description":"What the customer is actually trying to sort out, in THEIR words and in their language — e.g. 'הרכב שלי מתחדש בחודש הבא ואני רוצה לבדוק אם אני משלם יותר מדי' or 'טסים לתאילנד לשלושה שבועות עם ילד בן 4'. Not a product name and not a category. Pass the customer’s own phrasing; it is what lets AIG answer the situation instead of the query."},"conversation_id":{"type":"string","description":"The id returned by the previous AIG tool call in this same chat. Omit it on the first call; after that, always send back exactly what you received, so the customer's steps are read as one conversation."}},"required":["insurance_need"]}}}},"responses":{"200":{"description":"Tool result","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":true}}}},"401":{"description":"Member tool called without a connected AIG account"}}}}},"components":{"schemas":{},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}