Skip to content

Recipes created via REST API are marked as "External" and cannot be exported #4648

@harshulsoni

Description

@harshulsoni

Tandoor Version

2.6.9

Setup

Docker / Docker-Compose

Reverse Proxy

Traefik

Other

No response

Bug description

When a recipe is created or updated using the /api/recipe/ POST or PUT endpoints with a full payload of steps and ingredients, the resulting recipe appears correctly in the Tandoor UI but is visually marked as "External". Most importantly, the Export functionality is not working for these recipes, even though they contain full data. The export shows 0 exports even when selecting this recipe in the export list.

Steps to Reproduce

  • Send a POST request to /api/recipe/ with a payload containing internal steps and nested ingredients (example JSON below).
  • Observe the recipe in the Tandoor Web UI.
  • Notice that the recipe is flagged as "External"
  • Attempt to use the "Export" feature on the recipe.

Expected Behavior

  • A recipe created via the API with a full steps array should be treated as a native "Internal" recipe and it should be fully exportable.

Actual Behavior
The recipe is functionally "Internal" (steps and ingredients are visible in the UI) but is metadata-flagged as "External". The export feature fails to generate a file or treats the recipe as having no internal content to export.

Technical Details
Tandoor Version: 2.6.9
Deployment: Docker / Portainer
API Payload Example:

json
{
  "name": "Test Recipe from API",
  "description": "Created via script",
  "steps": [
    {
      "name": "Step 1",
      "instruction": "Mix ingredients",
      "ingredients": [
        {
          "food": {"name": "Flour"},
          "amount": 500,
          "unit": {"name": "grams"}
        }
      ]
    }
  ]
}

Possible Cause
It appears that certain internal flags (like is_external or internal mapping bits) are not being set correctly when a recipe is created via the REST API compared to the manual "Add Recipe" flow in the UI.

Scrapper I used to scrap recipe and upload to my tandoor instance is attached

Image Image Image

scraper.py

Relevant logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions