{"openapi":"3.1.0","info":{"title":"Brine API","version":"0.1.0","description":"A fully local fermentation & pickling reference and calculator toolkit: brine-percentage math, fermentation time/temperature guides, a safety guide distinguishing lacto-fermentation from low-acid canning safety, a pH-safety reference, vegetable prep notes, an equipment glossary, troubleshooting, salt ratio guidance, and starter maintenance basics.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://brine.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/brine/docs"},"termsOfService":"https://connectorbay.com/brine/terms"},"servers":[{"url":"https://brine.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/brine/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/brine_percentage_calculator":{"post":{"operationId":"brine_percentage_calculator","summary":"Brine-percentage math: give water_ml and salt_grams to compute the resulting salt percentage by weight,","description":"Brine-percentage math: give water_ml and salt_grams to compute the resulting salt percentage by weight,\n    or water_ml and desired_percent to solve for the salt_grams needed to hit that percentage. Exactly one of\n    salt_grams/desired_percent must be given. Use for \"what percent brine is 30g salt in 1 liter of water\",\n    \"how much salt do I need for a 3% brine with 2 liters of water\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"water_ml":{"description":"The brine's water volume in milliliters (treated as grams, 1ml water ~= 1g).","exclusiveMinimum":0,"title":"Water Ml","type":"number"},"salt_grams":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Salt weight in grams. Given with water_ml, computes the resulting salt percentage. Omit if giving desired_percent instead.","title":"Salt Grams"},"desired_percent":{"anyOf":[{"exclusiveMaximum":100,"exclusiveMinimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"A target salt percentage by weight. Given with water_ml, solves for the salt_grams needed. Omit if giving salt_grams instead.","title":"Desired Percent"}},"required":["water_ml"],"title":"brine_percentage_calculatorArguments","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/fermentation_time_guide":{"post":{"operationId":"fermentation_time_guide","summary":"Typical fermentation duration and temperature range for a common vegetable ferment (sauerkraut, kimchi,","description":"Typical fermentation duration and temperature range for a common vegetable ferment (sauerkraut, kimchi,\n    dill pickles, fermented carrots, giardiniera), or the full list. Use for \"how long does sauerkraut take to\n    ferment\", \"what temperature should I ferment kimchi at\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"vegetable":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"sauerkraut | kimchi | dill pickles | fermented carrots | giardiniera; omit to list all.","title":"Vegetable"}},"title":"fermentation_time_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/safety_guide":{"post":{"operationId":"safety_guide","summary":"Signs of a healthy ferment (bubbling, pleasant sour smell, cloudy brine — often normal) vs. signs of","description":"Signs of a healthy ferment (bubbling, pleasant sour smell, cloudy brine — often normal) vs. signs of\n    spoilage (colored mold, foul smell), plus a clear distinction between lacto-fermentation safety and\n    low-acid canning safety, since the two are easy to conflate but carry very different risks. Use for \"is\n    white film on my ferment safe\", \"is fermenting vegetables as risky as canning them without a pressure\n    canner\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"safety_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/vegetable_prep_guide":{"post":{"operationId":"vegetable_prep_guide","summary":"Prep notes for a common vegetable ferment — cutting size and whether a submersion weight is typically","description":"Prep notes for a common vegetable ferment — cutting size and whether a submersion weight is typically\n    used — or the full list. Use for \"how should I cut cabbage for sauerkraut\", \"do I need a weight for\n    fermented pickles\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"vegetable":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"sauerkraut | kimchi | dill pickles | fermented carrots | giardiniera; omit to list all.","title":"Vegetable"}},"title":"vegetable_prep_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/ph_safety_reference":{"post":{"operationId":"ph_safety_reference","summary":"General food-preservation pH-safety reference: the commonly-cited pH 4.6 boundary between high-acid and","description":"General food-preservation pH-safety reference: the commonly-cited pH 4.6 boundary between high-acid and\n    low-acid foods for canning-safety purposes, and how lacto-fermentation's own acidification relates to it.\n    General reference only, not a substitute for a tested/approved canning recipe. Use for \"what pH is safe for\n    canning\", \"why does canning guidance care about acidity\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"ph_safety_referenceArguments","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/equipment_glossary":{"post":{"operationId":"equipment_glossary","summary":"Definitions of common fermentation equipment and vocabulary terms (airlock, weight/follower, brine, kahm","description":"Definitions of common fermentation equipment and vocabulary terms (airlock, weight/follower, brine, kahm\n    yeast, SCOBY, starter culture, headspace, lactic acid bacteria, and more). Use for \"what's kahm yeast\",\n    \"what does headspace mean\".","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":"equipment_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}},"/v1/tools/troubleshooting_guide":{"post":{"operationId":"troubleshooting_guide","summary":"Likely cause and fix for a common fermentation problem (mold, mushy texture, too salty, no bubbling/no","description":"Likely cause and fix for a common fermentation problem (mold, mushy texture, too salty, no bubbling/no\n    activity, off smell), or the full list. Use for \"my ferment isn't bubbling, what's wrong\", \"why is my\n    kraut mushy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"issue":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"mold | mushy texture | too salty | no bubbling / no visible activity | off smell; omit to list all.","title":"Issue"}},"title":"troubleshooting_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/recipe_ratio_guide":{"post":{"operationId":"recipe_ratio_guide","summary":"Typical salt-to-vegetable or salt-to-water weight-percentage ranges commonly used for a given vegetable","description":"Typical salt-to-vegetable or salt-to-water weight-percentage ranges commonly used for a given vegetable\n    ferment type, or the full list. Use for \"how much salt for fermented pickles\", \"what salt percentage for\n    sauerkraut\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ferment_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A ferment type or style, e.g. sauerkraut, kimchi, fermented pickles, fermented carrots, giardiniera; omit to list all.","title":"Ferment Type"}},"title":"recipe_ratio_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/starter_maintenance_guide":{"post":{"operationId":"starter_maintenance_guide","summary":"Maintenance basics for a live starter culture: sourdough starter feeding schedules and health signs, or","description":"Maintenance basics for a live starter culture: sourdough starter feeding schedules and health signs, or\n    kombucha SCOBY care and brewing-cycle timing. Use for \"how often do I feed my sourdough starter\", \"how do I\n    store my kombucha SCOBY between batches\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"sourdough | kombucha; omit to list both.","title":"Type"}},"title":"starter_maintenance_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}}}}