changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `upstream_error`: Open Food Facts returns a 5xx other than 501 or 504, serves an HTML error page with a 2xx or 5xx status, answers 2xx with a malformed envelope, or is unreachable for a barcode — reported in that barcode's failed entry rather than failing the call. `upstream_timeout`: Open Food Facts did not answer a barcode within the request deadline, or answered 408, 425, or 504 — reported in that barcode's failed entry rather than failing the call. `upstream_rejected`: Open Food Facts refuses a barcode with a 4xx other than 404, 408, 425, or 429, or with 501 Not Implemented — reported in that barcode's failed entry rather than failing the call. `rate_limited`: This server's own per-minute product budget is spent, or Open Food Facts answers 429 — reported in that barcode's failed entry rather than failing the call. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `upstream_error`: Open Food Facts returns a 5xx other than 501 or 504, serves an HTML error page with a 2xx or 5xx status, answers 2xx with a malformed envelope, closes the connection before finishing its answer, or is unreachable for a barcode — reported in that barcode's failed entry rather than failing the call. `upstream_timeout`: Open Food Facts did not answer a barcode within the request or retry deadline, or answered 408, 425, or 504 — reported in that barcode's failed entry rather than failing the call. `upstream_rejected`: Open Food Facts refuses a barcode with a 4xx other than 404, 408, 425, or 429, or with 501 Not Implemented — reported in that barcode's failed entry rather than failing the call. `rate_limited`: This server's own per-minute product budget is spent, or Open Food Facts answers 429 — reported in that barcode's failed entry rather than failing the call. Other values are possible when a failure originates below the handler."
addedOutput schema / properties / products / items / properties / carbohydrates_100g
Added value: +{
+ "description": "Total carbohydrates in grams per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared).",
+ "type": "number"
+}
changedOutput schema / properties / products / items / properties / energy_kcal_100g / description
Previous value: -"Energy in kcal per 100 g, or per 100 ml for liquids. Absent when not entered."New value: +"Energy in kcal per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared)."
changedOutput schema / properties / products / items / properties / fat_100g / description
Previous value: -"Total fat in grams per 100 g, or per 100 ml for liquids. Absent when not entered."New value: +"Total fat in grams per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared)."
changedOutput schema / properties / products / items / properties / fiber_100g / description
Previous value: -"Dietary fiber in grams per 100 g, or per 100 ml for liquids. Often absent."New value: +"Dietary fiber in grams per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared)."
addedOutput schema / properties / products / items / properties / prepared
Added value: +{
+ "additionalProperties": false,
+ "description": "Figures for the prepared product, on the same columns and basis as the as-sold fields, read from Open Food Facts' *_prepared_100g keys and never derived or substituted for an as-sold figure. Open Food Facts returns one preparation state per read, so as-sold fields absent beside this object mean this read returned none, not that the record holds none. Absent when the read carried none of these figures.",
+ "properties": {
+ "carbohydrates_100g": {
+ "description": "Total carbohydrates in grams per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ },
+ "energy_kcal_100g": {
+ "description": "Energy in kcal per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ },
+ "fat_100g": {
+ "description": "Total fat in grams per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ },
+ "fiber_100g": {
+ "description": "Dietary fiber in grams per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ },
+ "proteins_100g": {
+ "description": "Protein in grams per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ },
+ "salt_100g": {
+ "description": "Salt in grams per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ },
+ "saturated_fat_100g": {
+ "description": "Saturated fat in grams per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ },
+ "sugars_100g": {
+ "description": "Total sugars in grams per 100 g, or per 100 ml for liquids, as prepared. Absent when this read returned no such figure.",
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
changedOutput schema / properties / products / items / properties / proteins_100g / description
Previous value: -"Protein in grams per 100 g, or per 100 ml for liquids. Absent when not entered."New value: +"Protein in grams per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared)."
changedOutput schema / properties / products / items / properties / salt_100g / description
Previous value: -"Salt in grams per 100 g, or per 100 ml for liquids. Absent when not entered."New value: +"Salt in grams per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared)."
changedOutput schema / properties / products / items / properties / saturated_fat_100g / description
Previous value: -"Saturated fat in grams per 100 g, or per 100 ml for liquids. Absent when not entered."New value: +"Saturated fat in grams per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared)."
changedOutput schema / properties / products / items / properties / sugars_100g / description
Previous value: -"Total sugars in grams per 100 g, or per 100 ml for liquids. Absent when not entered."New value: +"Total sugars in grams per 100 g, or per 100 ml for liquids, as sold. Absent when not entered, or when this read returned only prepared figures (see prepared)."