⚫ Import Kiosk dishes recipes

Upload a ZIP file containing .xls, .xlsx or .pdf files with restaurant recipes.

Each file represents a dish and should follow this naming format:

<id>_<name>.<extension>

  • id (optional): External ID of the dish.
    • If provided, it must match an existing dish and the recipe will be updated.
    • If missing or invalid, the dish will require manual review.
  • name: Free text for identification purposes.

In addition all files must follow the expected format, including:

  • A valid recipe name
  • Ingredients and quantities
  • Nutritional information
  • Optional sample image

The system will validate each file individually. If any error is found, the import will fail and detailed feedback will be returned.

If any errors that may have occurred are related to obtaining the sample images, the recipes will still be uploaded, returning a warning with a list of the names of those files that have had a conflict.


Two-phase import process

The import may be completed in one or two phases:

Phase 1 — Automatic processing

  • The system parses all files and attempts to process them automatically.

Possible outcomes:

  • All recipes are valid -> recipes are imported directly without further interactions
  • Issues detected -> a recipes_review.zip file is returned

Phase 2 — Manual review (if required)

  • The returned ZIP contains files that must be reviewed and completed before re-uploading:

    • recipes_review.xlsx → used to validate each dish:

      • Status → define if the dish already exists (OK) or must be created (NEW)
      • Dish ID → required when Status = OK
      • Dish Name → required for new dishes or to update an existing name
    • ingredients_review.xlsx (optional) → used to map ingredients that could not be automatically recognized:

      • Assign an existing Ingredient ID or leave it empty to keep it as free text
    • Images folder (if applicable) → contains extracted images associated with each recipe

  • After completing the required fields, the ZIP must be uploaded again to finalize the import.


Important behavior

If an ID for an existing recipe is provided (duplicate ID), that recipe will be overwritten. Make sure the IDs are unique, and if you really want to modify a recipe, make sure the ID belongs to that existing recipe.


Full documentation

For detailed instructions, examples, and Excel format: Visit the Kiosk documentation


Optional: custom_sections can be provided to override default Excel section names or nutrient labels. Only the specified keys are overridden; missing keys fall back to defaults.

Supported keys:

  • header_row
  • ingredients_start
  • serving_size
  • nutrients_start
  • file_end
  • calorie_nutrient_code
  • protein_nutrient_code
  • carbohydrates_nutrient_code
  • sugar_nutrient_code
  • fats_nutrient_code
  • saturated_fats_nutrient_code
  • polyunsaturated_fats_nutrient_code
  • monosaturated_fats_nutrient_code
  • fiber_nutrient_code
  • sodium_nutrient_code

Example: { "header_row": "RECEPTA", "ingredients_start": "INGREDIENTES" }

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
file
required

ZIP file containing recipe Excel files

custom_sections
object

Optional dictionary to override default Excel section names.

Responses

401

Unauthorized

403

Access denied

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json