{"openapi":"3.1.0","info":{"title":"Icebreaker Kit API","version":"0.1.0","description":"A fully local, original conversation-starter generator: icebreaker questions across six everyday contexts (dating, new friends, work, family, party, virtual meetings) tagged by depth, would-you-rather prompts, a two-truths-and-a-lie guide, mixed starter packs, and group-size-aware suggestions.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://icebreakerkit.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/icebreakerkit/docs"},"termsOfService":"https://connectorbay.com/icebreakerkit/terms"},"servers":[{"url":"https://icebreakerkit.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/icebreakerkit/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/icebreaker_by_context":{"post":{"operationId":"icebreaker_by_context","summary":"Icebreaker questions for one context, optionally narrowed to a depth level. Use for \"icebreaker questions","description":"Icebreaker questions for one context, optionally narrowed to a depth level. Use for \"icebreaker questions\n    for a first date\", \"questions for a work retreat\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"context":{"description":"dating, new_friends, work, family, party, or virtual_meeting.","minLength":1,"title":"Context","type":"string"},"depth":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to light, medium, or deep.","title":"Depth"},"count":{"default":8,"maximum":20,"minimum":1,"title":"Count","type":"integer"}},"required":["context"],"title":"icebreaker_by_contextArguments","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/icebreaker_by_depth":{"post":{"operationId":"icebreaker_by_depth","summary":"Icebreaker questions at one depth level (light/medium/deep), optionally narrowed to one context. Use for","description":"Icebreaker questions at one depth level (light/medium/deep), optionally narrowed to one context. Use for\n    \"give me some deep conversation questions\", \"light icebreakers for a party\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"depth":{"description":"light, medium, or deep.","minLength":1,"title":"Depth","type":"string"},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to one context.","title":"Context"},"count":{"default":12,"maximum":20,"minimum":1,"title":"Count","type":"integer"}},"required":["depth"],"title":"icebreaker_by_depthArguments","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/random_icebreaker":{"post":{"operationId":"random_icebreaker","summary":"One random icebreaker question, optionally narrowed by context and/or depth. Use for \"give me a random","description":"One random icebreaker question, optionally narrowed by context and/or depth. Use for \"give me a random\n    icebreaker\", \"surprise me with a conversation starter\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"context":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to one context.","title":"Context"},"depth":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to light, medium, or deep.","title":"Depth"}},"title":"random_icebreakerArguments","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/icebreaker_search":{"post":{"operationId":"icebreaker_search","summary":"Keyword search across every icebreaker's text and tagged contexts. Use for \"icebreakers about travel\",","description":"Keyword search across every icebreaker's text and tagged contexts. Use for \"icebreakers about travel\",\n    \"questions about childhood\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword or theme to search for.","minLength":1,"title":"Query","type":"string"},"count":{"default":10,"maximum":20,"minimum":1,"title":"Count","type":"integer"}},"required":["query"],"title":"icebreaker_searchArguments","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/context_list":{"post":{"operationId":"context_list","summary":"All six contexts this reference covers, each with a one-line note and how many icebreakers it has. Use for","description":"All six contexts this reference covers, each with a one-line note and how many icebreakers it has. Use for\n    \"what kinds of icebreakers do you have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"context_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/would_you_rather":{"post":{"operationId":"would_you_rather","summary":"Original would-you-rather prompts, optionally narrowed by context. Use for \"would you rather questions for","description":"Original would-you-rather prompts, optionally narrowed by context. Use for \"would you rather questions for\n    a party\", \"would you rather for a work call\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"context":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to one context.","title":"Context"},"count":{"default":5,"maximum":15,"minimum":1,"title":"Count","type":"integer"}},"title":"would_you_ratherArguments","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/two_truths_and_a_lie_guide":{"post":{"operationId":"two_truths_and_a_lie_guide","summary":"How to run a round of Two Truths and a Lie, with tips for making the statements land. Use for \"how do you","description":"How to run a round of Two Truths and a Lie, with tips for making the statements land. Use for \"how do you\n    play two truths and a lie\", \"tips for two truths and a lie\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"two_truths_and_a_lie_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/conversation_starter_pack":{"post":{"operationId":"conversation_starter_pack","summary":"A mixed pack for one context: a spread of light, medium, and deep questions plus one would-you-rather","description":"A mixed pack for one context: a spread of light, medium, and deep questions plus one would-you-rather\n    prompt — sized for a whole gathering rather than one question at a time. Use for \"give me a full icebreaker\n    pack for a family reunion\", \"conversation starter pack for a work retreat\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"context":{"description":"dating, new_friends, work, family, party, or virtual_meeting.","minLength":1,"title":"Context","type":"string"},"count":{"default":6,"maximum":12,"minimum":3,"title":"Count","type":"integer"}},"required":["context"],"title":"conversation_starter_packArguments","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/icebreaker_for_group_size":{"post":{"operationId":"icebreaker_for_group_size","summary":"Suggests both a format (one-on-one, small circle, pairs, or large-group breakout) and a fitting question for","description":"Suggests both a format (one-on-one, small circle, pairs, or large-group breakout) and a fitting question for\n    a given group size. Use for \"icebreaker for a group of 12\", \"how do I run an icebreaker with 40 people\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_size":{"description":"How many people are in the group.","maximum":500,"minimum":1,"title":"Group Size","type":"integer"},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optionally narrow to one context.","title":"Context"}},"required":["group_size"],"title":"icebreaker_for_group_sizeArguments","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}}}}