{"openapi":"3.1.0","info":{"title":"Frond API","version":"0.1.0","description":"A hand-curated indoor houseplant care guide: light, water, humidity, soil, pet-toxicity notes, pest ID, propagation and repotting how-tos, and a glossary — all local, for 30+ common houseplants.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://frond.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/frond/docs"},"termsOfService":"https://connectorbay.com/frond/terms"},"servers":[{"url":"https://frond.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/frond/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/plant_care_info":{"post":{"operationId":"plant_care_info","summary":"Light, watering, humidity and soil needs for a houseplant, plus a conservative pet-toxicity note. Use","description":"Light, watering, humidity and soil needs for a houseplant, plus a conservative pet-toxicity note. Use\n    for \"how do I care for a pothos\", \"does a snake plant need bright light\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A houseplant name.","examples":["pothos","snake plant","monstera deliciosa"],"title":"Name","type":"string"}},"required":["name"],"title":"plant_care_infoArguments","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/plant_search":{"post":{"operationId":"plant_search","summary":"Search the 30+ houseplants in this guide by partial name, common alias, or scientific name. Use for","description":"Search the 30+ houseplants in this guide by partial name, common alias, or scientific name. Use for\n    \"do you have anything on calathea\", \"what's a fiddle leaf fig\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"default":"","description":"Partial plant name, alias, or scientific name; empty lists all plants.","title":"Query","type":"string"}},"title":"plant_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/plants_by_light_level":{"post":{"operationId":"plants_by_light_level","summary":"Houseplants tolerant of a given light level. Use for \"what plants survive in a dark room\", \"houseplants","description":"Houseplants tolerant of a given light level. Use for \"what plants survive in a dark room\", \"houseplants\n    for a bright sunny window\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"light_level":{"description":"low light | medium indirect | bright indirect | direct sun tolerant","title":"Light Level","type":"string"}},"required":["light_level"],"title":"plants_by_light_levelArguments","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/plants_by_difficulty":{"post":{"operationId":"plants_by_difficulty","summary":"Houseplants at a given care-difficulty level. Use for \"easiest houseplants for beginners\", \"advanced","description":"Houseplants at a given care-difficulty level. Use for \"easiest houseplants for beginners\", \"advanced\n    houseplants for an experienced grower\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"level":{"description":"beginner | intermediate | advanced","title":"Level","type":"string"}},"required":["level"],"title":"plants_by_difficultyArguments","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/pest_identification":{"post":{"operationId":"pest_identification","summary":"Identify a common houseplant pest (spider mites, fungus gnats, mealybugs, scale, aphids) from a symptom","description":"Identify a common houseplant pest (spider mites, fungus gnats, mealybugs, scale, aphids) from a symptom\n    description, with a general, informational treatment approach — not a guarantee. Use for \"what's this\n    webbing on my plant\", \"tiny bugs flying around my plant's soil\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symptom":{"default":"","description":"A symptom description, e.g. webbing, tiny flying bugs near soil, white cottony spots, brown bumps, sticky residue.","title":"Symptom","type":"string"}},"title":"pest_identificationArguments","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/propagation_guide":{"post":{"operationId":"propagation_guide","summary":"How to propagate a specific houseplant — stem cuttings, division, leaf cuttings, or offsets, whichever","description":"How to propagate a specific houseplant — stem cuttings, division, leaf cuttings, or offsets, whichever\n    method(s) fit that species. Use for \"how do I propagate my pothos\", \"can you grow a new snake plant from a\n    leaf\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A houseplant name.","examples":["pothos","snake plant","string of pearls"],"title":"Name","type":"string"}},"required":["name"],"title":"propagation_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/repotting_guide":{"post":{"operationId":"repotting_guide","summary":"General signs it's time to repot (roots circling or growing out drainage holes, water running straight","description":"General signs it's time to repot (roots circling or growing out drainage holes, water running straight\n    through, stunted growth) and a brief how-to, plus specifics for a named plant or a pot-size category. Use\n    for \"when should I repot my monstera\", \"signs a plant needs repotting\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"plant_size_or_name":{"default":"","description":"A plant name, a pot-size category (small/medium/large), or omit for the general guide.","title":"Plant Size Or Name","type":"string"}},"title":"repotting_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/toxicity_check":{"post":{"operationId":"toxicity_check","summary":"Whether a plant is commonly reported as toxic to cats/dogs or generally considered pet-safe, phrased","description":"Whether a plant is commonly reported as toxic to cats/dogs or generally considered pet-safe, phrased\n    conservatively rather than as a hard clinical claim, with a reminder to contact a vet or an animal\n    poison-control resource if ingestion is suspected. Use for \"is a pothos toxic to cats\", \"can dogs be around\n    a snake plant safely\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"plant_name":{"description":"A houseplant name.","examples":["pothos","spider plant","peace lily"],"title":"Plant Name","type":"string"}},"required":["plant_name"],"title":"toxicity_checkArguments","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/plant_glossary":{"post":{"operationId":"plant_glossary","summary":"Definitions of common houseplant terms (variegation, node, aerial root, root-bound, humidity tray, and","description":"Definitions of common houseplant terms (variegation, node, aerial root, root-bound, humidity tray, and\n    more). Use for \"what does root-bound mean\", \"what's an aerial root\".","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":"plant_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}}}}