io.kich.grocery.defs

kich.io

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "groceryListView": {
      "description": "A shopping list, without its items. `toBuy` is the count a reader actually wants; the items themselves are a shopping surface, not a planning one.",
      "properties": {
        "completedAt": {
          "format": "datetime",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "status": {
          "knownValues": [
            "draft",
            "active",
            "completed",
            "archived"
          ],
          "type": "string"
        },
        "toBuy": {
          "description": "How many items on the list are still unchecked",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "id",
        "name",
        "status",
        "toBuy"
      ],
      "type": "object"
    },
    "main": {
      "description": "Shared definitions for grocery-related lexicons",
      "properties": {},
      "type": "object"
    },
    "plannedRecipe": {
      "description": "A recipe somebody attached to a shopping list — which is what a planned meal is in this product. There is no separate meal-plan record, and this view does not pretend there is one.",
      "properties": {
        "plannedDate": {
          "description": "The night it is meant for, when somebody set one. Usually absent — most lists are ordered, not dated.",
          "format": "datetime",
          "type": "string"
        },
        "recipe": {
          "ref": "io.kich.recipe.defs#recipeView",
          "type": "ref"
        },
        "servings": {
          "description": "How many this is being cooked for, which may differ from the recipe's own",
          "type": "unknown"
        }
      },
      "required": [
        "recipe",
        "servings"
      ],
      "type": "object"
    }
  },
  "description": "Shared definitions for the grocery namespace. Grocery lists have no record type — they live in the application database rather than on a PDS — so these views exist only as query output.",
  "id": "io.kich.grocery.defs",
  "lexicon": 1
}

Validate Record

Validate a record against io.kich.grocery.defs

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:uxjwdy4wvuridijisalvxlxe
CID
bafyreig7qb2iaabha23gajsnavo2d4tnk6vqjk4pudf6lwfje2bt2h3biy
Indexed At
2026-09-13 00:06 UTC
AT-URI
at://did:plc:uxjwdy4wvuridijisalvxlxe/com.atproto.lexicon.schema/io.kich.grocery.defs

Referenced Schemas (1)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • The household's current shopping list and the recipes attached to it — which is what 'what are we cooking this week' means in this product. Read-only.

  • a list of groceries

  • Shared definitions for the pantry namespace. The pantry has no record type — it lives in the application database rather than on a PDS — so these views exist only as query output.

  • Shared definitions for the recipe namespace.

Lexicon Garden

@