{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/instadram-me/json-schema/instadram-me-bottle-schema.json",
  "title": "Bottle",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/instadram-me-openapi.yml#/components/schemas/Bottle",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Bottle ID"
    },
    "name": {
      "type": "string",
      "description": "Bottle name"
    },
    "distillery": {
      "type": "string",
      "description": "Distillery name"
    },
    "proof": {
      "type": "number",
      "description": "Bottle proof"
    },
    "notes": {
      "type": "string",
      "description": "User notes"
    },
    "image_url": {
      "type": "string",
      "description": "Bottle image URL"
    },
    "msrp": {
      "type": "number",
      "description": "Manufacturer suggested retail price"
    },
    "msrp_source": {
      "type": "string",
      "description": "Source of MSRP information"
    },
    "collection_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Collection IDs this bottle belongs to"
    },
    "status": {
      "type": "string",
      "enum": [
        "unopened",
        "opened",
        "consumed",
        "wishlist"
      ],
      "description": "Bottle status"
    },
    "is_favorite": {
      "type": "boolean",
      "description": "Whether bottle is favorited"
    },
    "rating": {
      "type": "number",
      "minimum": 1,
      "maximum": 5,
      "description": "User rating (1-5)"
    },
    "availability": {
      "type": "string",
      "description": "Bottle availability"
    },
    "override_proof": {
      "type": "number",
      "description": "User override for proof"
    },
    "purchase_price": {
      "type": "number",
      "description": "Purchase price. Owner-only: omitted when the caller is not the shelf owner"
    },
    "purchased_from": {
      "type": "string",
      "description": "Where the bottle was purchased. Owner-only: omitted when the caller is not the shelf owner"
    },
    "override_batch_number": {
      "type": "string",
      "description": "User override for batch number"
    },
    "store_pick": {
      "type": "boolean",
      "description": "Whether this is a store pick"
    },
    "store_pick_name": {
      "type": "string",
      "description": "Store pick name"
    },
    "override_expression_name": {
      "type": "string",
      "description": "User override for expression name"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Creation timestamp"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Last update timestamp"
    }
  }
}