ink.resenha.bookReview

resenha.ink

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One per reviewed book. The record key is the book's BookHive ID (hiveId), so a reader's review of a book can be found with a single getRecord.",
      "key": "any",
      "record": {
        "properties": {
          "book": {
            "description": "The reader's record for the book: a buzz.bookhive.book, whose review field holds the same review as plain text, or, for a book the reader keeps in Popfeed, a social.popfeed.feed.listItem, whose newest social.popfeed.feed.review holds it as plain text with a link to the formatted review.",
            "format": "at-uri",
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "document": {
            "description": "The site.standard.document that holds the review. Its content is the formatted review; its textContent is the same review as plain text.",
            "format": "at-uri",
            "type": "string"
          },
          "hiveId": {
            "description": "The book's BookHive ID. Also the record key.",
            "maxLength": 64,
            "type": "string"
          },
          "langs": {
            "description": "The languages the review is written in, as the reader chose them. BCP-47 codes, as in a Bluesky post's langs.",
            "items": {
              "format": "language",
              "type": "string"
            },
            "maxLength": 3,
            "type": "array"
          },
          "spoiler": {
            "description": "The reader marked the review as giving away parts of the book. The document carries the same mark as a \"spoiler\" self-label.",
            "type": "boolean"
          }
        },
        "required": [
          "document",
          "book",
          "hiveId",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Connects a book review, published as a site.standard.document, to the book it reviews.",
  "id": "ink.resenha.bookReview",
  "lexicon": 1
}

Validate Record

Validate a record against ink.resenha.bookReview

Validation Options
Treat any remaining unresolved references as valid

Metadata

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

Version History (3 versions)

Similar Lexicons

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

  • A review for a piece of media

  • 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 a…

  • how.bun.reviews.review recordnot from the namespace authority

    Record containing a review of something.

  • A book in the user's library

Lexicon Garden

@