{"openapi":"3.1.0","info":{"title":"Registrykit API","version":"0.1.0","description":"A fully local, hand-curated gift-registry etiquette guide for weddings, baby showers, housewarmings, graduations and retirements: host and guest etiquette, item guidance by budget tier, multiple-registry tips, cash-fund framing, an original thank-you note generator, occasion-based timing, an etiquette FAQ, and a glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://registrykit.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/registrykit/docs"},"termsOfService":"https://connectorbay.com/registrykit/terms"},"servers":[{"url":"https://registrykit.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/registrykit/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/host_etiquette":{"post":{"operationId":"host_etiquette","summary":"Etiquette for the person creating/hosting a registry — how many stores, price spread, sharing timing, and","description":"Etiquette for the person creating/hosting a registry — how many stores, price spread, sharing timing, and\n    occasion-specific norms. Use for \"what's the etiquette for setting up a wedding registry\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"occasion":{"description":"'wedding', 'baby_shower', 'housewarming', 'graduation', or 'retirement'.","examples":["wedding"],"minLength":1,"title":"Occasion","type":"string"}},"required":["occasion"],"title":"host_etiquetteArguments","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_etiquette":{"post":{"operationId":"guest_etiquette","summary":"Etiquette for guests giving a gift — registry vs. cash, group gifting, whether a gift is obligatory. Use for","description":"Etiquette for guests giving a gift — registry vs. cash, group gifting, whether a gift is obligatory. Use for\n    \"should I buy off the registry or give cash for a baby shower\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"occasion":{"description":"'wedding', 'baby_shower', 'housewarming', 'graduation', or 'retirement'.","minLength":1,"title":"Occasion","type":"string"}},"required":["occasion"],"title":"guest_etiquetteArguments","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_item_guidance":{"post":{"operationId":"registry_item_guidance","summary":"Suggests general CATEGORIES of items appropriate for an occasion at a given budget tier (never specific","description":"Suggests general CATEGORIES of items appropriate for an occasion at a given budget tier (never specific\n    brands or products). Use for \"what should I register for on a modest budget for a baby shower\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"occasion":{"description":"An occasion.","examples":["baby_shower"],"minLength":1,"title":"Occasion","type":"string"},"budget_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"'modest', 'mid', or 'high'. Omit for all three.","title":"Budget Tier"}},"required":["occasion"],"title":"registry_item_guidanceArguments","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/multiple_registries_tips":{"post":{"operationId":"multiple_registries_tips","summary":"General tips for combining registries across a few different stores without it feeling excessive to guests.","description":"General tips for combining registries across a few different stores without it feeling excessive to guests.\n    Use for \"how many registries should I have, and how do I combine them\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"multiple_registries_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/cash_fund_etiquette":{"post":{"operationId":"cash_fund_etiquette","summary":"How honeymoon, cash or diaper funds are typically framed and received for an occasion. Use for \"is it okay","description":"How honeymoon, cash or diaper funds are typically framed and received for an occasion. Use for \"is it okay\n    to ask for a honeymoon fund instead of gifts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"occasion":{"description":"An occasion.","minLength":1,"title":"Occasion","type":"string"}},"required":["occasion"],"title":"cash_fund_etiquetteArguments","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/thank_you_note_generator":{"post":{"operationId":"thank_you_note_generator","summary":"Drafts an original, warm thank-you note you can send or adapt, personalized with the gift and giver's name","description":"Drafts an original, warm thank-you note you can send or adapt, personalized with the gift and giver's name\n    if given. Use for \"write a thank-you note for a wedding gift from my aunt\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"occasion":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional occasion, to add a fitting closing touch.","title":"Occasion"},"gift_description":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"What the gift was.","examples":["the beautiful serving platter"],"title":"Gift Description"},"giver_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The gift-giver's name.","examples":["Aunt Carol"],"title":"Giver Name"}},"title":"thank_you_note_generatorArguments","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/timing_guide":{"post":{"operationId":"timing_guide","summary":"Occasion-specific suggested windows for sharing a registry before the event and sending thank-you notes","description":"Occasion-specific suggested windows for sharing a registry before the event and sending thank-you notes\n    after it, computed into actual dates if you give an event_date. Use for \"when should thank-you notes go out\n    after a wedding on June 14, 2027\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"occasion":{"description":"An occasion.","minLength":1,"title":"Occasion","type":"string"},"event_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The event date, YYYY-MM-DD, to compute suggested dates.","title":"Event Date"}},"required":["occasion"],"title":"timing_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_faq":{"post":{"operationId":"registry_etiquette_faq","summary":"Common registry etiquette questions and answers — whether a registry is required, expensive items, no-gift","description":"Common registry etiquette questions and answers — whether a registry is required, expensive items, no-gift\n    requests, giving without attending, whether to print the registry on the invitation. Use for \"is it rude to\n    register for expensive things\", \"do I have to give a gift if I can't attend\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"registry_etiquette_faqArguments","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/occasions_list":{"post":{"operationId":"occasions_list","summary":"Every occasion Registrykit covers. Use for \"what occasions do you have registry etiquette for\".","description":"Every occasion Registrykit covers. Use for \"what occasions do you have registry etiquette for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"occasions_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/glossary":{"post":{"operationId":"glossary","summary":"Definitions of registry terms — registry, group gift, cash fund, registry aggregator, no-gift request,","description":"Definitions of registry terms — registry, group gift, cash fund, registry aggregator, no-gift request,\n    thank-you window. Use for \"what's a registry aggregator\", \"what's a no-gift request\".","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":"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}}}}