com.hectorsector.book.status

hectorsector.com

Documentation

A reading status change event for a book. Records are append-only and timestamped — each status transition creates a new record rather than mutating an existing one. The current status of a book is derived by taking the most recent status record (by createdAt) referencing that book.

main record

A reading status change event for a book. Records are append-only and timestamped — each status transition creates a new record rather than mutating an existing one. The current status of a book is derived by taking the most recent status record (by createdAt) referencing that book.

Record Key tid Timestamp-based ID

Properties

createdAt string datetime Required

When the status change occurred. May differ from the record's server-side timestamp when backfilling history from imports (e.g. StoryGraph CSV).

status string Required

The reading status being set. Open union — future status tokens may be added; consumers should handle unknown values gracefully.

maxLength: 128 bytes
Known values: com.hectorsector.book.status#wantToRead, com.hectorsector.book.status#reading, com.hectorsector.book.status#paused, com.hectorsector.book.status#didNotFinish, com.hectorsector.book.status#finished
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "book",
      "status",
      "createdAt"
    ],
    "properties": {
      "book": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "Strong reference to the com.hectorsector.book.book anchor this status applies to."
      },
      "status": {
        "type": "string",
        "maxLength": 128,
        "description": "The reading status being set. Open union — future status tokens may be added; consumers should handle unknown values gracefully.",
        "knownValues": [
          "com.hectorsector.book.status#wantToRead",
          "com.hectorsector.book.status#reading",
          "com.hectorsector.book.status#paused",
          "com.hectorsector.book.status#didNotFinish",
          "com.hectorsector.book.status#finished"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "When the status change occurred. May differ from the record's server-side timestamp when backfilling history from imports (e.g. StoryGraph CSV)."
      }
    }
  },
  "description": "A reading status change event for a book. Records are append-only and timestamped — each status transition creates a new record rather than mutating an existing one. The current status of a book is derived by taking the most recent status record (by createdAt) referencing that book."
}
didNotFinish token

The user has indicated they won't complete this book.

Referencecom.hectorsector.book.status#didNotFinish

Tokens have no data representation. Use the reference string as a value.

View raw schema
{
  "type": "token",
  "description": "The user has indicated they won't complete this book."
}
finished token

The user has completed the book.

Referencecom.hectorsector.book.status#finished

Tokens have no data representation. Use the reference string as a value.

View raw schema
{
  "type": "token",
  "description": "The user has completed the book."
}
paused token

The user has paused reading the book and hasn't yet decided if they will continue.

Referencecom.hectorsector.book.status#paused

Tokens have no data representation. Use the reference string as a value.

View raw schema
{
  "type": "token",
  "description": "The user has paused reading the book and hasn't yet decided if they will continue."
}
reading token

The user is currently reading the book.

Referencecom.hectorsector.book.status#reading

Tokens have no data representation. Use the reference string as a value.

View raw schema
{
  "type": "token",
  "description": "The user is currently reading the book."
}
wantToRead token

The user intends to read the book.

Referencecom.hectorsector.book.status#wantToRead

Tokens have no data representation. Use the reference string as a value.

View raw schema
{
  "type": "token",
  "description": "The user intends to read the book."
}

Lexicon Garden

@