ink.resenha.bookLink

resenha.ink

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One per book. The record key is the book's BookHive ID (hiveId); a book with no match yet is keyed popfeed-<record key of its first listItem>.",
      "key": "any",
      "record": {
        "properties": {
          "bookhive": {
            "description": "The reader's buzz.bookhive.book record for the book, when they have one.",
            "format": "at-uri",
            "type": "string"
          },
          "hiveId": {
            "description": "The book's BookHive ID. Absent when no match was found.",
            "maxLength": 64,
            "type": "string"
          },
          "isbn13": {
            "description": "The edition the reader's records name, when they name one.",
            "maxLength": 13,
            "type": "string"
          },
          "matchedBy": {
            "description": "identifiers: an ISBN or Goodreads number agreed, or the item named its BookHive ID. search: title and author agreed. reader: chosen by the reader, and never changed automatically. none: no match yet.",
            "knownValues": [
              "identifiers",
              "search",
              "reader",
              "none"
            ],
            "type": "string"
          },
          "popfeed": {
            "description": "The reader's social.popfeed.feed.listItem records for the book. A book can be on more than one list.",
            "items": {
              "format": "at-uri",
              "type": "string"
            },
            "maxLength": 20,
            "type": "array"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "matchedBy",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Which catalog book a book in the reader's library is, and which of the reader's records in each book app are that book. Resenha writes these when it matches a reader's Popfeed books to BookHive's catalog, so Popfeed's and BookHive's own records are never changed to hold the match.",
  "id": "ink.resenha.bookLink",
  "lexicon": 1
}

Validate Record

Validate a record against ink.resenha.bookLink

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:v7itjf4h3sb5zuegiiskctqb
CID
bafyreiddeeaioo6mfcan4ciubvqphqpreyffc6jdhkfg3n6spnaqc2y7h4
Indexed At
2026-10-29 00:02 UTC
AT-URI
at://did:plc:v7itjf4h3sb5zuegiiskctqb/com.atproto.lexicon.schema/ink.resenha.bookLink

Similar Lexicons

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

  • A book within the hive

  • Connects a book review, published as a site.standard.document, to the book it reviews.

  • A book in the user's library

  • A book in a user's library. An anchor record referenced by status and other book-related events. Metadata (title, authors, cover, etc.) is resolved at display time from the identifier — it is not stored in the record.…

  • A minimal book record for reading attestation. For rich metadata (ratings, reviews, covers), see buzz.bookhive.book.

Lexicon Garden

@