pub.byline.book

bylinepub.bsky.social

Documentation

An author-authoritative record of a published or forthcoming work, signed by the author's own repository.

main record

An author-authoritative record of a published or forthcoming work, signed by the author's own repository.

Record Key tid Timestamp-based ID

Properties

authors array of ref lex:pub.byline.defs#contributor Optional

Credited contributors. The repo owner is presumed primary author unless roles say otherwise.

copyrightYear integer Optional

Year of first copyright for the work.

cover blob Optional

Cover image, stored as a blob in the author's own repository.

maxSize: 2.0 MB
coverAlt string Optional

Alt text describing the cover image, for accessibility.

maxLength: 1000 bytes
createdAt string datetime Required

An RFC 3339 formatted timestamp.

description string Optional

Long blurb / marketing copy. Markdown; consumers render or strip.

maxGraphemes: 5000 graphemes
discussions array of ref lex:com.atproto.repo.strongRef Optional

Strong references to atproto-native discussion threads about this work (e.g. a Bluesky post, a pub.byline.comment). Off-protocol social goes in links[] with kind=discussion or social.

genres array of string Optional

Shelf-category genres for the work. Freeform; byline's authoring tool suggests existing values to encourage convergence, but no value is enforced.

language string Optional

BCP-47 language tag, e.g. en, en-CA.

pageCount integer Optional

Work-level page count. An edition's pageCount overrides this when present.

minimum: 1
publicationDate string datetime Optional

Actual or planned first-publication date.

publisher string Optional

Work-level publisher. An edition's publisher overrides this when present.

maxLength: 256 bytes
shortDescription string Optional

Card and grid summary. Markdown; consumers render or strip.

maxGraphemes: 500 graphemes
status string Optional

No description available.

Known values: pub.byline.defs#published, pub.byline.defs#forthcoming, pub.byline.defs#draft, pub.byline.defs#outOfPrint
subtitle string Optional

No description available.

maxLength: 512 bytes
tagline string Optional

One-line hook for hero or featured display. Plain text, no markdown.

maxGraphemes: 200 graphemes
tags array of string Optional

Freeform descriptors. Genre lives in genres[]; tags are everything else.

title string Required

No description available.

maxLength: 512 bytesminLength: 1 bytes
updatedAt string datetime Optional

An RFC 3339 formatted timestamp.

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "title",
      "createdAt"
    ],
    "properties": {
      "tags": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 128,
          "maxGraphemes": 128
        },
        "description": "Freeform descriptors. Genre lives in genres[]; tags are everything else."
      },
      "cover": {
        "type": "blob",
        "accept": [
          "image/png",
          "image/jpeg",
          "image/webp"
        ],
        "maxSize": 2000000,
        "description": "Cover image, stored as a blob in the author's own repository."
      },
      "links": {
        "type": "array",
        "items": {
          "ref": "lex:pub.byline.defs#link",
          "type": "ref"
        },
        "description": "Work-level links not tied to a specific edition."
      },
      "title": {
        "type": "string",
        "maxLength": 512,
        "minLength": 1
      },
      "genres": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 128,
          "maxGraphemes": 128
        },
        "description": "Shelf-category genres for the work. Freeform; byline's authoring tool suggests existing values to encourage convergence, but no value is enforced."
      },
      "series": {
        "ref": "lex:pub.byline.defs#seriesMembership",
        "type": "ref",
        "description": "Series membership, if any. Book points at the series; the series record never points back."
      },
      "status": {
        "type": "string",
        "knownValues": [
          "pub.byline.defs#published",
          "pub.byline.defs#forthcoming",
          "pub.byline.defs#draft",
          "pub.byline.defs#outOfPrint"
        ]
      },
      "authors": {
        "type": "array",
        "items": {
          "ref": "lex:pub.byline.defs#contributor",
          "type": "ref"
        },
        "description": "Credited contributors. The repo owner is presumed primary author unless roles say otherwise."
      },
      "tagline": {
        "type": "string",
        "description": "One-line hook for hero or featured display. Plain text, no markdown.",
        "maxGraphemes": 200
      },
      "coverAlt": {
        "type": "string",
        "maxLength": 1000,
        "description": "Alt text describing the cover image, for accessibility."
      },
      "editions": {
        "type": "array",
        "items": {
          "ref": "lex:pub.byline.defs#edition",
          "type": "ref"
        }
      },
      "language": {
        "type": "string",
        "description": "BCP-47 language tag, e.g. en, en-CA."
      },
      "subtitle": {
        "type": "string",
        "maxLength": 512
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      },
      "pageCount": {
        "type": "integer",
        "minimum": 1,
        "description": "Work-level page count. An edition's pageCount overrides this when present."
      },
      "publisher": {
        "type": "string",
        "maxLength": 256,
        "description": "Work-level publisher. An edition's publisher overrides this when present."
      },
      "updatedAt": {
        "type": "string",
        "format": "datetime"
      },
      "description": {
        "type": "string",
        "description": "Long blurb / marketing copy. Markdown; consumers render or strip.",
        "maxGraphemes": 5000
      },
      "discussions": {
        "type": "array",
        "items": {
          "ref": "lex:com.atproto.repo.strongRef",
          "type": "ref"
        },
        "description": "Strong references to atproto-native discussion threads about this work (e.g. a Bluesky post, a pub.byline.comment). Off-protocol social goes in links[] with kind=discussion or social."
      },
      "identifiers": {
        "ref": "lex:pub.byline.defs#identifiers",
        "type": "ref"
      },
      "copyrightYear": {
        "type": "integer",
        "description": "Year of first copyright for the work."
      },
      "publicationDate": {
        "type": "string",
        "format": "datetime",
        "description": "Actual or planned first-publication date."
      },
      "shortDescription": {
        "type": "string",
        "description": "Card and grid summary. Markdown; consumers render or strip.",
        "maxGraphemes": 500
      }
    }
  },
  "description": "An author-authoritative record of a published or forthcoming work, signed by the author's own repository."
}

Lexicon Garden

@