No description available.
tid
Timestamp-based ID
Properties
authors
array
of
ref
org.shelfcheck.defs#authorRef
Required
No description available.
maxLength: 32 itemsminLength: 1 itemscoverUrl
string
uri
Optional
Remote cover image URL. Cover blobs are intentionally not uploaded to the PDS; clients may render via Open Library, the source URL, or their own cache.
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
finishedAt
string
datetime
Optional
An RFC 3339 formatted timestamp.
firstPublishYear
integer
Optional
No description available.
ids
ref
org.shelfcheck.defs#bookIds
Required
No description available.
note
string
Optional
Free-form private notes or a public review.
maxLength: 60000 bytesmaxGraphemes: 15000 graphemespageCount
integer
Optional
No description available.
minimum: 0rating
integer
Optional
User rating, 0-100 (half-star resolution: 10 == 0.5★, 20 == 1★, ..., 100 == 5★).
minimum: 0maximum: 100source
string
Optional
Where this entry originated, for provenance: e.g. 'goodreads', 'hardcover', 'storygraph', 'bookhive', 'lyndi', 'manual'.
maxLength: 64 bytessourceUrl
string
uri
Optional
Canonical link back to the source record (e.g. the Goodreads or BookHive page).
startedAt
string
datetime
Optional
An RFC 3339 formatted timestamp.
status
string
Required
No description available.
org.shelfcheck.defs#wantToRead, org.shelfcheck.defs#reading, org.shelfcheck.defs#finished, org.shelfcheck.defs#abandonedsubjects
array
of
string
Optional
No description available.
maxLength: 64 itemstitle
string
Required
Display title, denormalized so the record is self-contained.
maxLength: 1024 bytesupdatedAt
string
datetime
Optional
An RFC 3339 formatted timestamp.
View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"status",
"title",
"authors",
"ids",
"createdAt"
],
"properties": {
"ids": {
"ref": "org.shelfcheck.defs#bookIds",
"type": "ref"
},
"note": {
"type": "string",
"maxLength": 60000,
"description": "Free-form private notes or a public review.",
"maxGraphemes": 15000
},
"title": {
"type": "string",
"maxLength": 1024,
"description": "Display title, denormalized so the record is self-contained."
},
"rating": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "User rating, 0-100 (half-star resolution: 10 == 0.5★, 20 == 1★, ..., 100 == 5★)."
},
"source": {
"type": "string",
"maxLength": 64,
"description": "Where this entry originated, for provenance: e.g. 'goodreads', 'hardcover', 'storygraph', 'bookhive', 'lyndi', 'manual'."
},
"status": {
"type": "string",
"knownValues": [
"org.shelfcheck.defs#wantToRead",
"org.shelfcheck.defs#reading",
"org.shelfcheck.defs#finished",
"org.shelfcheck.defs#abandoned"
]
},
"authors": {
"type": "array",
"items": {
"ref": "org.shelfcheck.defs#authorRef",
"type": "ref"
},
"maxLength": 32,
"minLength": 1
},
"coverUrl": {
"type": "string",
"format": "uri",
"description": "Remote cover image URL. Cover blobs are intentionally not uploaded to the PDS; clients may render via Open Library, the source URL, or their own cache."
},
"subjects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256
},
"maxLength": 64
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"pageCount": {
"type": "integer",
"minimum": 0
},
"sourceUrl": {
"type": "string",
"format": "uri",
"description": "Canonical link back to the source record (e.g. the Goodreads or BookHive page)."
},
"startedAt": {
"type": "string",
"format": "datetime"
},
"updatedAt": {
"type": "string",
"format": "datetime"
},
"finishedAt": {
"type": "string",
"format": "datetime"
},
"firstPublishYear": {
"type": "integer"
}
}
}
}