social.popfeed.feed.listItem

bookhive.buzz

{
  "id": "social.popfeed.feed.listItem",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "identifiers",
          "creativeWorkType",
          "addedAt",
          "listUri"
        ],
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 1000,
            "description": "Title of the creative work."
          },
          "genres": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 50
            }
          },
          "poster": {
            "type": "blob",
            "accept": [
              "image/*"
            ],
            "maxSize": 2000000
          },
          "status": {
            "type": "string",
            "knownValues": [
              "#finished",
              "#in_progress",
              "#backlog",
              "#abandoned"
            ]
          },
          "addedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the creative work was added to the list."
          },
          "listUri": {
            "type": "string",
            "format": "uri",
            "description": "URI of the list where the item is stored."
          },
          "backdrop": {
            "type": "blob",
            "accept": [
              "image/*"
            ],
            "maxSize": 4000000
          },
          "listType": {
            "type": "string",
            "maxLength": 50,
            "description": "The type of list, e.g., 'watchlist', 'favorites', 'to-read', etc."
          },
          "position": {
            "type": "integer",
            "description": "DEPRECATED"
          },
          "posterUrl": {
            "type": "string",
            "format": "uri",
            "description": "Poster or cover image URL for the creative work. Soon to be deprecated in favor of the 'poster' blob field"
          },
          "startedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the user started the creative work. Most relevant for books, TV shows, and video games."
          },
          "mainCredit": {
            "type": "string",
            "maxLength": 1000,
            "description": "Main actor, director, author, or artist of the creative work."
          },
          "backdropUrl": {
            "type": "string",
            "format": "uri",
            "description": "Backdrop image URL for the creative work. Soon to be deprecated in favor of the 'backdrop' blob field"
          },
          "completedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the user finished the creative work. Most relevant for books, TV shows, and video games."
          },
          "description": {
            "type": "string",
            "maxLength": 5000,
            "description": "Optional description or commentary for the list item."
          },
          "identifiers": {
            "ref": "#identifiers",
            "type": "ref",
            "description": "External identifiers for the creative work."
          },
          "releaseDate": {
            "type": "string",
            "format": "datetime",
            "description": "Release date of the creative work."
          },
          "bookProgress": {
            "ref": "#bookProgress",
            "type": "ref",
            "description": "Reading progress for books or book series (also supports audiobooks via time fields)."
          },
          "mainCreditRole": {
            "enum": [
              "director",
              "author",
              "artist",
              "showrunner",
              "lead_actor",
              "creator",
              "studio",
              "publisher",
              "developer",
              "performer",
              "network"
            ],
            "type": "string",
            "description": "The role of the main credit."
          },
          "watchedEpisodes": {
            "type": "array",
            "items": {
              "ref": "#watchedEpisode",
              "type": "ref"
            },
            "description": "For TV shows, the episodes the user has watched."
          },
          "creativeWorkType": {
            "enum": [
              "movie",
              "tv_show",
              "video_game",
              "album",
              "book",
              "book_series",
              "episode",
              "album",
              "ep",
              "tv_season",
              "tv_episode",
              "track"
            ],
            "type": "string",
            "description": "The type of creative work this item represents."
          }
        }
      }
    },
    "identifiers": {
      "type": "object",
      "properties": {
        "asin": {
          "type": "string",
          "description": "Amazon Standard ID"
        },
        "mbId": {
          "type": "string",
          "description": "DEPRECATED - soon to be ignored"
        },
        "other": {
          "type": "string",
          "description": "Other external ID"
        },
        "hiveId": {
          "type": "string",
          "description": "BookHive ID for fast local lookup"
        },
        "igdbId": {
          "type": "string",
          "description": "IGDB ID for games"
        },
        "imdbId": {
          "type": "string",
          "description": "IMDb ID"
        },
        "isbn10": {
          "type": "string",
          "description": "ISBN-10 for books"
        },
        "isbn13": {
          "type": "string",
          "description": "ISBN-13 for books"
        },
        "tmdbId": {
          "type": "string",
          "description": "TMDb ID for movies/TV shows"
        },
        "mbReleaseId": {
          "type": "string",
          "description": "MusicBrainz ID for specific releases (albums, EPs, tracks)"
        },
        "seasonNumber": {
          "type": "integer",
          "description": "Season number for TV shows or series"
        },
        "episodeNumber": {
          "type": "integer",
          "description": "Episode number for TV shows or series"
        },
        "tmdbTvSeriesId": {
          "type": "string",
          "description": "TMDb ID for TV series"
        },
        "parentMbReleaseId": {
          "type": "string",
          "description": "MusicBrainz ID for parent release (e.g., album for a track)"
        }
      }
    },
    "bookProgress": {
      "type": "object",
      "required": [
        "status",
        "updatedAt"
      ],
      "properties": {
        "status": {
          "enum": [
            "in_progress",
            "completed",
            "paused"
          ],
          "type": "string",
          "description": "Overall progress state."
        },
        "percent": {
          "type": "integer",
          "description": "Optional explicit progress percentage (0–100)."
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Last time progress was updated."
        },
        "totalPages": {
          "type": "integer",
          "description": "Total pages (if known)."
        },
        "currentPage": {
          "type": "integer",
          "description": "Current page number (if applicable)."
        },
        "totalChapters": {
          "type": "integer",
          "description": "Total chapters (if known)."
        },
        "currentChapter": {
          "type": "integer",
          "description": "Current chapter number (optional alternative to pages)."
        }
      },
      "description": "Tracks reading/listening progress for a book or book series item."
    },
    "watchedEpisode": {
      "type": "object",
      "required": [
        "seasonNumber",
        "episodeNumber"
      ],
      "properties": {
        "tmdbId": {
          "type": "string"
        },
        "seasonNumber": {
          "type": "integer"
        },
        "episodeNumber": {
          "type": "integer"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against social.popfeed.feed.listItem

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:enu2j5xjlqsjaylv3du4myh4
CID
bafyreicwe5hezsf2svvnqh7cgpslnnf2w6whixncmw6jydbq34q6766wxy
Indexed At
2026-03-25 09:47 UTC
AT-URI
at://did:plc:enu2j5xjlqsjaylv3du4myh4/com.atproto.lexicon.schema/social.popfeed.feed.listItem

Lexicon Garden

@