{"openapi":"3.1.0","info":{"title":"Nutritionix (BYOK) API","version":"0.1.0","description":"Nutritionix (BYOK) lets an AI assistant read your own Nutritionix data through the Nutritionix API with a key you supply (application key (x-app-key)). Read-only: 3 tools (search_foods, get_nutrition_from_text, lookup_branded_item). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to trackapi.nutritionix.com....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-nutritionix.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-nutritionix/docs"},"termsOfService":"https://connectorbay.com/byok-nutritionix/terms"},"servers":[{"url":"https://byok-nutritionix.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-nutritionix/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_foods":{"post":{"operationId":"search_foods","summary":"Search common foods and branded products by name; returns matching common foods (with serving) and branded items (with b","description":"Search common foods and branded products by name; returns matching common foods (with serving) and branded items (with brand, calories and a nix_item_id for lookup). Nutritionix no longer offers a public free tier, so a key needs an account arranged with Nutritionix. Use for \"Search Nutritionix for hamburger\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Food name or part of it, for example 'hamburger'.","maxLength":200,"title":"Query","type":"string"}},"required":["query"],"title":"search_foodsArguments","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/get_nutrition_from_text":{"post":{"operationId":"get_nutrition_from_text","summary":"Get nutrition facts (calories, fat, carbohydrate, fibre, sugar, protein, sodium, potassium) for foods written in plain t","description":"Get nutrition facts (calories, fat, carbohydrate, fibre, sugar, protein, sodium, potassium) for foods written in plain text such as '1 cup mashed potatoes and 2 tbsp gravy'; one entry per food. Nutritionix no longer offers a public free tier, so a key needs an account arranged with Nutritionix. Use for \"How many calories are in 1 cup of mashed potatoes and 2 tbsp of gravy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Foods in plain text with quantities, for example '1 cup mashed potatoes and 2 tbsp gravy'.","maxLength":500,"title":"Query","type":"string"},"num_servings":{"anyOf":[{"type":"number"},{"type":"null"}],"default":1,"description":"How many servings the whole text makes; the nutrients are divided by it (default 1).","title":"Num Servings"}},"required":["query"],"title":"get_nutrition_from_textArguments","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/lookup_branded_item":{"post":{"operationId":"lookup_branded_item","summary":"Look up the nutrition facts of one branded grocery product by its barcode (UPC) or by a nix_item_id from search_foods; g","description":"Look up the nutrition facts of one branded grocery product by its barcode (UPC) or by a nix_item_id from search_foods; give exactly one of them. Nutritionix no longer offers a public free tier, so a key needs an account arranged with Nutritionix. Use for \"What are the nutrition facts of the product with UPC 49000000450\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"upc":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Barcode (UPC) of the product, digits only, for example '49000000450'.","title":"Upc"},"nix_item_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Nutritionix item id from the branded results of search_foods.","title":"Nix Item Id"}},"title":"lookup_branded_itemArguments","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}}}}