openapi: 3.2.0 info: title: Open Food Facts knowledge Panels Knowledge Panel API description: 'Providing knowledge panels for a particular Open Food Facts facet (category, brand, etc...) A standardized way for clients to get semi-structured but generic data that they can present to users on product pages.' contact: name: Slack url: https://openfoodfacts.slack.com/archives/C03LFRKLVBQ license: name: GNU Affero General Public License v3.0 url: https://www.gnu.org/licenses/agpl-3.0.en.html version: 0.0.1 tags: - name: knowledge-panel description: Return different knowledge panels based on the facet provided. paths: /knowledge_panel: get: tags: - knowledge-panel summary: Knowledge Panel description: 'FacetName is the model that have list of values facet_tag are the list of values connecting to FacetName eg:- category/beer, here beer is the value' operationId: knowledge_panel_knowledge_panel_get parameters: - description: Facet tag string for the items to search in the database eg:- `category` etc. required: true schema: type: string title: Facet tag string description: Facet tag string for the items to search in the database eg:- `category` etc. name: facet_tag in: query - description: value tag string for the items to search in the database eg:-`en:beers` etc. required: false schema: type: string title: Value tag string description: value tag string for the items to search in the database eg:-`en:beers` etc. name: value_tag in: query - description: secondary facet tag string for the items to search in the database eg:-`brand` etc. required: false schema: type: string title: secondary facet tag string description: secondary facet tag string for the items to search in the database eg:-`brand` etc. name: sec_facet_tag in: query - description: secondary value tag string for the items to search in the database eg:-`lidl` etc. required: false schema: type: string title: secondary value tag string description: secondary value tag string for the items to search in the database eg:-`lidl` etc. name: sec_value_tag in: query - description: 'To return knowledge panels in native language, default lang: `en`.' required: false schema: type: string title: language code string description: 'To return knowledge panels in native language, default lang: `en`.' name: lang_code in: query - description: 'To return knowledge panels for specific country, ex: `france` or `fr`.' required: false schema: type: string title: Country tag string description: 'To return knowledge panels for specific country, ex: `france` or `fr`.' name: country in: query - description: a list of panel names to include, it is incompatible with `exclude` parameter. If neither `include` or `exclude` is provided, we display `hunger_game` and `wikidata` by default. required: false schema: items: $ref: '#/components/schemas/PanelName' type: array title: Panel name exclude list description: a list of panel names to include, it is incompatible with `exclude` parameter. If neither `include` or `exclude` is provided, we display `hunger_game` and `wikidata` by default. name: include in: query - description: a list of panel names to exclude, it is incompatible with `include` parameter required: false schema: items: $ref: '#/components/schemas/PanelName' type: array title: Panel name exclude list description: a list of panel names to exclude, it is incompatible with `include` parameter name: exclude in: query responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FacetResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: BaseTextElement: properties: html: type: string title: Html description: Text to display in HTML format source_text: type: string title: Source Text description: name of the source source_url: type: string title: Source Url description: Link to the source type: object title: BaseTextElement description: An element with simple HTML to display FacetResponse: properties: knowledge_panels: $ref: '#/components/schemas/KnowledgePanel' type: object title: FacetResponse HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError PanelName: type: string enum: - last_edits - data_quality - hunger_game - wikidata title: PanelName description: An enumeration. BaseTitleElement: properties: title: type: string title: Title description: title of the panel type: object required: - title title: BaseTitleElement description: An element containing a title KnowledgePanel: properties: HungerGames: $ref: '#/components/schemas/KnowledgePanelItem' Quality: $ref: '#/components/schemas/KnowledgePanelItem' LastEdits: $ref: '#/components/schemas/KnowledgePanelItem' WikiData: $ref: '#/components/schemas/KnowledgePanelItem' type: object title: KnowledgePanel KnowledgePanelItem: properties: elements: items: $ref: '#/components/schemas/BaseElement' type: array title: Elements title_element: $ref: '#/components/schemas/BaseTitleElement' type: object required: - title_element title: KnowledgePanelItem description: A Panel, made of multiple sub elements BaseElement: properties: element_type: type: string title: Element Type description: The type of the included element object.The type also indicates which field contains the included element object. e.g. if the type is "text", the included element object will be in the "text_element" field. text_element: allOf: - $ref: '#/components/schemas/BaseTextElement' title: Text Element description: A text in simple HTML format to display. type: object required: - element_type - text_element title: BaseElement description: Element container ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError