{"openapi":"3.1.0","info":{"title":"Wedding World API","version":"0.1.0","description":"A fully local, general/Western-tradition-agnostic wedding planning reference: a full timeline, budget allocation guide, vendor checklist, guest-list etiquette, registry etiquette, seating tips, a days-until-wedding calculator, and a planning glossary. Logistics and etiquette only — not a religious or cultural ritual guide.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://weddingworld.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/weddingworld/docs"},"termsOfService":"https://connectorbay.com/weddingworld/terms"},"servers":[{"url":"https://weddingworld.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/weddingworld/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/planning_timeline":{"post":{"operationId":"planning_timeline","summary":"The full wedding-planning checklist from 12+ months out through the wedding day, optionally filtered to one","description":"The full wedding-planning checklist from 12+ months out through the wedding day, optionally filtered to one\n    stage. Use for \"what should I be doing 6 months before my wedding\", \"day-of wedding checklist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to one stage, e.g. six_to_eight_months.","title":"Stage"}},"title":"planning_timelineArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/timeline_stage_list":{"post":{"operationId":"timeline_stage_list","summary":"All seven planning-timeline stages with their item counts. Use for \"what timeline stages do you cover\".","description":"All seven planning-timeline stages with their item counts. Use for \"what timeline stages do you cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"timeline_stage_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/budget_allocation_guide":{"post":{"operationId":"budget_allocation_guide","summary":"A rough, percentage-based suggested split of a total wedding budget across eleven common categories. Use for","description":"A rough, percentage-based suggested split of a total wedding budget across eleven common categories. Use for\n    \"how should I split a $30,000 wedding budget\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"total_budget":{"description":"Your total wedding budget.","exclusiveMinimum":0,"title":"Total Budget","type":"number"},"currency":{"default":"USD","description":"Currency code, for display only.","title":"Currency","type":"string"}},"required":["total_budget"],"title":"budget_allocation_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/vendor_checklist":{"post":{"operationId":"vendor_checklist","summary":"What-to-ask-each-vendor checklists across eight vendor categories (venue, caterer, photographer, florist,","description":"What-to-ask-each-vendor checklists across eight vendor categories (venue, caterer, photographer, florist,\n    music_or_dj, officiant, hair_and_makeup, transportation). Use for \"what should I ask a photographer\", \"vendor\n    checklist for a caterer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to one vendor category, e.g. photographer.","title":"Category"}},"title":"vendor_checklistArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/guest_list_etiquette_guide":{"post":{"operationId":"guest_list_etiquette_guide","summary":"Guest-list etiquette norms: plus-ones, kids at weddings, save-the-date and invitation timing, RSVP follow-up,","description":"Guest-list etiquette norms: plus-ones, kids at weddings, save-the-date and invitation timing, RSVP follow-up,\n    B-list guests, and declining gracefully. Use for \"is it rude not to invite kids to my wedding\", \"when should I\n    send save-the-dates\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to one topic, e.g. plus_ones.","title":"Topic"}},"title":"guest_list_etiquette_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/registry_etiquette_guide":{"post":{"operationId":"registry_etiquette_guide","summary":"General gift-registry norms: when to register, sharing registry info, cash funds, and the no-obligation","description":"General gift-registry norms: when to register, sharing registry info, cash funds, and the no-obligation\n    principle. Use for \"when should we set up our registry\", \"is it okay to ask for cash\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"registry_etiquette_guideArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/seating_chart_tips":{"post":{"operationId":"seating_chart_tips","summary":"Practical seating-chart tips. Use for \"tips for making a wedding seating chart\".","description":"Practical seating-chart tips. Use for \"tips for making a wedding seating chart\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"count":{"default":6,"maximum":10,"minimum":1,"title":"Count","type":"integer"}},"title":"seating_chart_tipsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/days_until_wedding":{"post":{"operationId":"days_until_wedding","summary":"Pure-compute calculator for days, weeks, and months until (or since) the wedding date. Use for \"how many","description":"Pure-compute calculator for days, weeks, and months until (or since) the wedding date. Use for \"how many\n    days until my wedding\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"wedding_date":{"description":"The wedding date, YYYY-MM-DD.","examples":["2027-06-12"],"title":"Wedding Date","type":"string"},"today":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally override today's date, YYYY-MM-DD; defaults to the current date.","title":"Today"}},"required":["wedding_date"],"title":"days_until_weddingArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/wedding_glossary":{"post":{"operationId":"wedding_glossary","summary":"Defines general Western wedding-planning terms — officiant, emcee, escort card, first look, cocktail hour,","description":"Defines general Western wedding-planning terms — officiant, emcee, escort card, first look, cocktail hour,\n    processional/recessional, and more. Use for \"what's a first look\", \"what's an escort card\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"wedding_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}