io.kich.recipe.recipe

lexicon.store View official

Documentation

main record

No description available.

Record Key tid Timestamp-based ID

Properties

cookTimeMinutes integer Optional

Cooking time in minutes

createdAt string datetime Required

When this recipe was created

description string Optional

Recipe description

embedding string Optional

Vector embedding for semantic similarity search (1024 dimensions, stored as JSON array of numbers)

imageUrl string uri Optional

[Deprecated] Image URL for the recipe. Use images blob array instead. Kept for legacy fallback.

images array of blob Optional

Recipe images as blobs (hero first; preferred over imageUrl)

maxLength: 10 items
ingredients array of ref #ingredient Optional

Recipe ingredients

instructions array of ref #instructionStep Optional

Cooking instructions as an array of steps

isPrivate boolean Optional

Whether this recipe is private (only visible to household members)

Default: false
name string Required

Recipe name

prepTimeMinutes integer Optional

Preparation time in minutes

servings integer Required

Number of servings this recipe makes

Default: 1
source string Optional

Source name (book, magazine, blog)

tags array of ref #tag Optional

Tags for categorizing the recipe

updatedAt string datetime Optional

When this recipe was last updated

url string uri Optional

Source URL of the recipe

variationOf ref com.atproto.repo.strongRef Optional

Optional reference to the original recipe this is a variation of (for attribution and variation discovery)

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "name",
      "servings",
      "createdAt"
    ],
    "properties": {
      "url": {
        "type": "string",
        "format": "uri",
        "description": "Source URL of the recipe"
      },
      "name": {
        "type": "string",
        "description": "Recipe name"
      },
      "tags": {
        "type": "array",
        "items": {
          "ref": "#tag",
          "type": "ref"
        },
        "description": "Tags for categorizing the recipe"
      },
      "images": {
        "type": "array",
        "items": {
          "type": "blob",
          "accept": [
            "image/*"
          ]
        },
        "maxLength": 10,
        "description": "Recipe images as blobs (hero first; preferred over imageUrl)"
      },
      "source": {
        "type": "string",
        "description": "Source name (book, magazine, blog)"
      },
      "imageUrl": {
        "type": "string",
        "format": "uri",
        "description": "[Deprecated] Image URL for the recipe. Use images blob array instead. Kept for legacy fallback."
      },
      "servings": {
        "type": "integer",
        "default": 1,
        "description": "Number of servings this recipe makes"
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "When this recipe was created"
      },
      "createdBy": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "Reference to the user who created this recipe"
      },
      "embedding": {
        "type": "string",
        "description": "Vector embedding for semantic similarity search (1024 dimensions, stored as JSON array of numbers)"
      },
      "isPrivate": {
        "type": "boolean",
        "default": false,
        "description": "Whether this recipe is private (only visible to household members)"
      },
      "updatedAt": {
        "type": "string",
        "format": "datetime",
        "description": "When this recipe was last updated"
      },
      "description": {
        "type": "string",
        "description": "Recipe description"
      },
      "ingredients": {
        "type": "array",
        "items": {
          "ref": "#ingredient",
          "type": "ref"
        },
        "description": "Recipe ingredients"
      },
      "variationOf": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "Optional reference to the original recipe this is a variation of (for attribution and variation discovery)"
      },
      "instructions": {
        "type": "array",
        "items": {
          "ref": "#instructionStep",
          "type": "ref"
        },
        "description": "Cooking instructions as an array of steps"
      },
      "cookTimeMinutes": {
        "type": "integer",
        "description": "Cooking time in minutes"
      },
      "prepTimeMinutes": {
        "type": "integer",
        "description": "Preparation time in minutes"
      }
    }
  }
}
ingredient object

No description available.

Properties

grams integer Optional

[Deprecated] Amount needed in grams. Use measuredAmount/measuredUnit instead.

group string Optional

Optional group name for organizing ingredients (e.g., 'For the sauce:', 'For the pasta:')

heuristicAmount integer Optional

Heuristic amount from parsed ingredient text (e.g., 2 in "2 cups")

heuristicUnit string Optional

Heuristic unit from parsed ingredient text (e.g., cup, cookies)

id string Required

Unique identifier for this ingredient

isDetached boolean Optional

Whether this ingredient is detached (doesn't count towards recipe completeness)

isOptional boolean Optional

Whether this ingredient is optional

measuredAmount integer Optional

Measured amount needed (e.g., 250, 1.5)

measuredUnit string Optional

Measured unit (g, kg, oz, lb, ml)

name string Required

Ingredient name

notes string Optional

Optional notes about this ingredient (e.g., original quantity)

View raw schema
{
  "type": "object",
  "required": [
    "id",
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for this ingredient"
    },
    "name": {
      "type": "string",
      "description": "Ingredient name"
    },
    "grams": {
      "type": "integer",
      "description": "[Deprecated] Amount needed in grams. Use measuredAmount/measuredUnit instead."
    },
    "group": {
      "type": "string",
      "description": "Optional group name for organizing ingredients (e.g., 'For the sauce:', 'For the pasta:')"
    },
    "notes": {
      "type": "string",
      "description": "Optional notes about this ingredient (e.g., original quantity)"
    },
    "isDetached": {
      "type": "boolean",
      "default": false,
      "description": "Whether this ingredient is detached (doesn't count towards recipe completeness)"
    },
    "isOptional": {
      "type": "boolean",
      "default": false,
      "description": "Whether this ingredient is optional"
    },
    "measuredUnit": {
      "type": "string",
      "description": "Measured unit (g, kg, oz, lb, ml)"
    },
    "heuristicUnit": {
      "type": "string",
      "description": "Heuristic unit from parsed ingredient text (e.g., cup, cookies)"
    },
    "measuredAmount": {
      "type": "integer",
      "description": "Measured amount needed (e.g., 250, 1.5)"
    },
    "heuristicAmount": {
      "type": "integer",
      "description": "Heuristic amount from parsed ingredient text (e.g., 2 in \"2 cups\")"
    }
  }
}
instructionStep object

No description available.

Properties

id string Required

Unique identifier for this instruction step

value string Required

Instruction text

View raw schema
{
  "type": "object",
  "required": [
    "id",
    "value"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for this instruction step"
    },
    "value": {
      "type": "string",
      "description": "Instruction text"
    }
  }
}
tag object

No description available.

Properties

id string Required

Tag identifier

name string Required

Tag display name

View raw schema
{
  "type": "object",
  "required": [
    "id",
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Tag identifier"
    },
    "name": {
      "type": "string",
      "description": "Tag display name"
    }
  }
}

Lexicon Garden

@