{"openapi":"3.1.0","info":{"title":"Sabor (Flavor) API","version":"0.1.0","description":"A hand-curated Brazilian regional cuisine encyclopedia: 31 classic dishes with region, category and key ingredients, regional cuisine profiles, a Brazilian ingredient guide, a drink guide, ingredient substitutions and a cuisine glossary.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://sabor.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/sabor/docs"},"termsOfService":"https://connectorbay.com/sabor/terms"},"servers":[{"url":"https://sabor.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/sabor/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/dish_info":{"post":{"operationId":"dish_info","summary":"One Brazilian dish's description, region of origin, category, and key ingredients. Use for \"what is","description":"One Brazilian dish's description, region of origin, category, and key ingredients. Use for \"what is\n    moqueca\", \"tell me about feijoada\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A dish name.","examples":["feijoada","moqueca","brigadeiro"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"dish_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/dish_search":{"post":{"operationId":"dish_search","summary":"Search Brazilian dishes by keyword across name, region, category, description and key ingredients.","description":"Search Brazilian dishes by keyword across name, region, category, description and key ingredients.\n    Use for \"dishes with coconut milk\", \"what has dendê oil in it\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Keyword to search across dish name, region, category, description and ingredients.","minLength":1,"title":"Query","type":"string"}},"required":["query"],"title":"dish_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/dishes_by_region":{"post":{"operationId":"dishes_by_region","summary":"Characteristic dishes of a Brazilian region. Covers Bahia, Minas Gerais, Rio Grande do Sul, Amazonas,","description":"Characteristic dishes of a Brazilian region. Covers Bahia, Minas Gerais, Rio Grande do Sul, Amazonas,\n    Nordeste (Northeast), São Paulo and Rio de Janeiro. Use for \"what dishes come from Bahia\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"A Brazilian region.","examples":["Bahia","Minas Gerais","Rio Grande do Sul","Amazonas","Nordeste","São Paulo","Rio de Janeiro"],"title":"Region","type":"string"}},"required":["region"],"title":"dishes_by_regionArguments","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/dishes_by_category":{"post":{"operationId":"dishes_by_category","summary":"Dishes (and drinks) filtered by category: main dish, dessert, snack/street food, side dish, or drink.","description":"Dishes (and drinks) filtered by category: main dish, dessert, snack/street food, side dish, or drink.\n    Use for \"show me Brazilian desserts\", \"what street food snacks do you know\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"main dish | dessert | snack/street food | side dish | drink","title":"Category","type":"string"}},"required":["category"],"title":"dishes_by_categoryArguments","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/regional_cuisine_profile":{"post":{"operationId":"regional_cuisine_profile","summary":"A short profile of what makes a Brazilian region's cuisine distinctive — its signature ingredients,","description":"A short profile of what makes a Brazilian region's cuisine distinctive — its signature ingredients,\n    influences and dishes. Use for \"what makes Bahian food different\", \"describe gaúcho cuisine\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"A Brazilian region.","examples":["Bahia","Rio Grande do Sul","Amazonas"],"title":"Region","type":"string"}},"required":["region"],"title":"regional_cuisine_profileArguments","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/ingredient_guide":{"post":{"operationId":"ingredient_guide","summary":"A key Brazilian cooking ingredient's description and typical use — mandioca/cassava, açaí, dendê palm","description":"A key Brazilian cooking ingredient's description and typical use — mandioca/cassava, açaí, dendê palm\n    oil, tucupi, guaraná fruit, cachaça as a cooking ingredient, palm hearts. Use for \"what is dendê oil\",\n    \"what is tucupi used for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A Brazilian ingredient.","examples":["mandioca","açaí","dendê","tucupi","guaraná","cachaça","palmito"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"ingredient_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/drink_guide":{"post":{"operationId":"drink_guide","summary":"A Brazilian drink's description and key ingredients — non-alcoholic (guaraná soda, açaí juice,","description":"A Brazilian drink's description and key ingredients — non-alcoholic (guaraná soda, açaí juice,\n    mate/chimarrão, Brazilian coffee) and alcoholic (caipirinha, cachaça). Informational only: alcoholic\n    entries are framed factually with an age-appropriate note, never as an encouragement to drink. Use for\n    \"what's a caipirinha\", \"what is chimarrão\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A Brazilian drink.","examples":["guaraná soda","caipirinha","cachaça","açaí juice","mate","café brasileiro"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"drink_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/substitution_guide":{"post":{"operationId":"substitution_guide","summary":"A reasonable substitute for a Brazilian ingredient that is hard to find outside Brazil, with a note","description":"A reasonable substitute for a Brazilian ingredient that is hard to find outside Brazil, with a note\n    on how close the substitute really is. Use for \"what can I use instead of dendê oil\", \"substitute for\n    tucupi\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"ingredient":{"description":"A Brazilian ingredient that may be hard to find outside Brazil.","examples":["dendê","tucupi","cachaça","goiabada"],"minLength":1,"title":"Ingredient","type":"string"}},"required":["ingredient"],"title":"substitution_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/cuisine_glossary":{"post":{"operationId":"cuisine_glossary","summary":"Definitions of Brazilian culinary and food-culture terms (farofa, tempero, churrasco, feijoada,","description":"Definitions of Brazilian culinary and food-culture terms (farofa, tempero, churrasco, feijoada,\n    quitanda, boteco, rodízio, salgados, comida caseira, doceria). Use for \"what does farofa mean\", \"what's\n    a boteco\".","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":"cuisine_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}}}}