blue.registry.item

registry.blue

{
  "id": "blue.registry.item",
  "defs": {
    "link": {
      "type": "object",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL of the product page."
        },
        "title": {
          "type": "string",
          "maxLength": 500,
          "description": "Display title for the link.",
          "maxGraphemes": 100
        },
        "imageUrl": {
          "type": "string",
          "format": "uri",
          "description": "Preview image URL, typically from Open Graph meta tags."
        },
        "modelNumber": {
          "type": "string",
          "maxLength": 500,
          "description": "Manufacturer or seller model/SKU number.",
          "maxGraphemes": 100
        },
        "priceHistory": {
          "type": "array",
          "items": {
            "ref": "#priceEntry",
            "type": "ref"
          },
          "maxLength": 1000,
          "description": "Historical price observations for this link."
        }
      },
      "description": "A link to a product page or listing."
    },
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 1000,
            "description": "The name of the item. Can be generic (e.g. 'a new laptop') or specific (e.g. 'MacBook Pro M4 14\"').",
            "maxGraphemes": 200
          },
          "size": {
            "type": "string",
            "maxLength": 200,
            "description": "Size specification (e.g. 'Large', '10.5', '14 inch').",
            "maxGraphemes": 50
          },
          "color": {
            "type": "string",
            "maxLength": 200,
            "description": "Color preference (e.g. 'Space Black', 'Red').",
            "maxGraphemes": 50
          },
          "image": {
            "type": "blob",
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "maxSize": 1000000,
            "description": "An image of the item."
          },
          "links": {
            "type": "array",
            "items": {
              "ref": "#link",
              "type": "ref"
            },
            "maxLength": 20,
            "description": "Links to product pages, listings, or references."
          },
          "price": {
            "ref": "#money",
            "type": "ref",
            "description": "The actual or listed price of the item."
          },
          "budget": {
            "ref": "#moneyRange",
            "type": "ref",
            "description": "The budget the user is willing to spend."
          },
          "priority": {
            "type": "string",
            "description": "How much the user wants this item.",
            "knownValues": [
              "must-have",
              "strong-desire",
              "someday"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the item was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the item was last modified."
          },
          "isDonation": {
            "type": "boolean",
            "default": false,
            "description": "Whether this item is a donation link (e.g. GoFundMe, charity). Donation items appear first in list views."
          },
          "description": {
            "type": "string",
            "maxLength": 10000,
            "description": "Open description field for any additional details, preferences, or notes.",
            "maxGraphemes": 2000
          }
        }
      },
      "description": "A wishlist or registry item. Can be generic or specific."
    },
    "money": {
      "type": "object",
      "required": [
        "amount"
      ],
      "properties": {
        "amount": {
          "type": "integer",
          "minimum": 0,
          "description": "Amount in smallest currency unit (e.g. cents)."
        },
        "currency": {
          "type": "string",
          "default": "USD",
          "maxLength": 3,
          "description": "ISO 4217 currency code."
        }
      },
      "description": "A monetary amount in the smallest currency unit (e.g. cents)."
    },
    "moneyRange": {
      "type": "object",
      "properties": {
        "max": {
          "type": "integer",
          "minimum": 0,
          "description": "Maximum amount in smallest currency unit."
        },
        "min": {
          "type": "integer",
          "minimum": 0,
          "description": "Minimum amount in smallest currency unit."
        },
        "currency": {
          "type": "string",
          "default": "USD",
          "maxLength": 3,
          "description": "ISO 4217 currency code."
        }
      },
      "description": "A budget range in the smallest currency unit."
    },
    "priceEntry": {
      "type": "object",
      "required": [
        "price",
        "observedAt"
      ],
      "properties": {
        "price": {
          "ref": "#money",
          "type": "ref",
          "description": "The observed price."
        },
        "observedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When this price was observed."
        }
      },
      "description": "A price observation at a point in time."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "An item that can appear on one or more lists."
}

Validate Record

Validate a record against blue.registry.item

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:4olik72a346dcc2hppt7ioo4
CID
bafyreiaeancwumngxje24e3dq6g6gp4pvbapgyzpjscllvr3pvltbamuty
Indexed At
2026-04-05 00:56 UTC
AT-URI
at://did:plc:4olik72a346dcc2hppt7ioo4/com.atproto.lexicon.schema/blue.registry.item

Lexicon Garden

@