User has abandoned the book
buzz.bookhive.defs#abandonedTokens have no data representation. Use the reference string as a value.
View raw schema
{
"type": "token",
"description": "User has abandoned the book"
}
User has abandoned the book
buzz.bookhive.defs#abandonedTokens have no data representation. Use the reference string as a value.
{
"type": "token",
"description": "User has abandoned the book"
}
No description available.
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
hiveId
string
Required
The hive id of the book
title
string
Required
The title of the book
type
string
Required
No description available.
review, rated, started, finisheduserDid
string
Required
The DID of the user who added the book
userHandle
string
Required
The handle of the user who added the book
{
"type": "object",
"required": [
"type",
"createdAt",
"hiveId",
"title",
"userDid",
"userHandle"
],
"properties": {
"type": {
"type": "string",
"knownValues": [
"review",
"rated",
"started",
"finished"
]
},
"title": {
"type": "string",
"description": "The title of the book"
},
"hiveId": {
"type": "string",
"description": "The hive id of the book"
},
"userDid": {
"type": "string",
"description": "The DID of the user who added the book"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"userHandle": {
"type": "string",
"description": "The handle of the user who added the book"
}
}
}
External identifiers for a book
{
"type": "object",
"properties": {
"hiveId": {
"type": "string",
"description": "BookHive's internal ID"
},
"isbn10": {
"type": "string",
"description": "10-digit ISBN"
},
"isbn13": {
"type": "string",
"description": "13-digit ISBN"
},
"goodreadsId": {
"type": "string",
"description": "Goodreads book ID"
}
},
"description": "External identifiers for a book"
}
Reading progress tracking data
currentChapter
integer
Optional
Current chapter the user is on
minimum: 1currentPage
integer
Optional
Current page the user is on
minimum: 1percent
integer
Optional
How far through the book the reader is (0-100)
minimum: 0maximum: 100totalChapters
integer
Optional
Total number of chapters in the book
minimum: 1totalPages
integer
Optional
Total number of pages in the book
minimum: 1updatedAt
string
datetime
Required
When the progress was last updated
{
"type": "object",
"required": [
"updatedAt"
],
"properties": {
"percent": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "How far through the book the reader is (0-100)"
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "When the progress was last updated"
},
"totalPages": {
"type": "integer",
"minimum": 1,
"description": "Total number of pages in the book"
},
"currentPage": {
"type": "integer",
"minimum": 1,
"description": "Current page the user is on"
},
"totalChapters": {
"type": "integer",
"minimum": 1,
"description": "Total number of chapters in the book"
},
"currentChapter": {
"type": "integer",
"minimum": 1,
"description": "Current chapter the user is on"
}
},
"description": "Reading progress tracking data"
}
No description available.
book
ref
com.atproto.repo.strongRef
Required
No description available.
comment
string
Required
The content of the comment.
maxLength: 100000 bytesmaxGraphemes: 10000 graphemescreatedAt
string
datetime
Required
Client-declared timestamp when this comment was originally created.
did
string
Required
The DID of the user who made the comment
handle
string
Required
The handle of the user who made the comment
parent
ref
com.atproto.repo.strongRef
Required
No description available.
{
"type": "object",
"required": [
"comment",
"createdAt",
"book",
"parent",
"did",
"handle"
],
"properties": {
"did": {
"type": "string",
"description": "The DID of the user who made the comment"
},
"book": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"handle": {
"type": "string",
"description": "The handle of the user who made the comment"
},
"parent": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"comment": {
"type": "string",
"maxLength": 100000,
"description": "The content of the comment.",
"maxGraphemes": 10000
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this comment was originally created."
}
}
}
User has finished reading the book
buzz.bookhive.defs#finishedTokens have no data representation. Use the reference string as a value.
{
"type": "token",
"description": "User has finished reading the book"
}
User owns the book
buzz.bookhive.defs#ownedTokens have no data representation. Use the reference string as a value.
{
"type": "token",
"description": "User owns the book"
}
No description available.
avatar
string
Optional
No description available.
booksRead
integer
Required
No description available.
minimum: 0description
string
Optional
No description available.
displayName
string
Required
No description available.
handle
string
Required
No description available.
isFollowing
boolean
Optional
Whether the authed user is following this profile
reviews
integer
Required
No description available.
minimum: 0{
"type": "object",
"required": [
"displayName",
"handle",
"booksRead",
"reviews"
],
"properties": {
"avatar": {
"type": "string"
},
"handle": {
"type": "string"
},
"reviews": {
"type": "integer",
"minimum": 0
},
"booksRead": {
"type": "integer",
"minimum": 0
},
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"isFollowing": {
"type": "boolean",
"description": "Whether the authed user is following this profile"
}
}
}
User is currently reading the book
buzz.bookhive.defs#readingTokens have no data representation. Use the reference string as a value.
{
"type": "token",
"description": "User is currently reading the book"
}
No description available.
{
"type": "object",
"required": [
"review",
"createdAt",
"did",
"handle"
],
"properties": {
"did": {
"type": "string",
"description": "The DID of the user who made the review"
},
"stars": {
"type": "integer",
"description": "The number of stars given to the book"
},
"handle": {
"type": "string",
"description": "The handle of the user who made the review"
},
"review": {
"type": "string",
"description": "The review content"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "The date the review was created"
}
}
}
No description available.
authors
string
Required
The authors of the book (tab separated)
maxLength: 2048 bytesminLength: 1 bytesbookProgress
ref
buzz.bookhive.defs#bookProgress
Optional
Progress tracking information for the book
cover
string
Optional
Cover image of the book
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
description
string
Optional
Book description/summary
maxLength: 5000 bytesfinishedAt
string
datetime
Optional
The date the user finished reading the book
hiveId
string
Required
The book's hive id, used to correlate user's books with the hive
rating
integer
Optional
Average rating (0-1000)
minimum: 0maximum: 1000review
string
Optional
The book's review
maxGraphemes: 15000 graphemesstars
integer
Optional
Number of stars given to the book (1-10) which will be mapped to 1-5 stars
minimum: 1maximum: 10startedAt
string
datetime
Optional
The date the user started reading the book
status
string
Optional
No description available.
buzz.bookhive.defs#finished, buzz.bookhive.defs#reading, buzz.bookhive.defs#wantToRead, buzz.bookhive.defs#abandoned, buzz.bookhive.defs#ownedthumbnail
string
Required
Cover image of the book
title
string
Required
The title of the book
maxLength: 512 bytesminLength: 1 bytesuserDid
string
Required
The DID of the user who added the book
userHandle
string
Optional
The handle of the user who added the book
{
"type": "object",
"required": [
"userDid",
"title",
"authors",
"hiveId",
"createdAt",
"thumbnail"
],
"properties": {
"cover": {
"type": "string",
"description": "Cover image of the book"
},
"stars": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Number of stars given to the book (1-10) which will be mapped to 1-5 stars"
},
"title": {
"type": "string",
"maxLength": 512,
"minLength": 1,
"description": "The title of the book"
},
"hiveId": {
"type": "string",
"description": "The book's hive id, used to correlate user's books with the hive"
},
"rating": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "Average rating (0-1000)"
},
"review": {
"type": "string",
"description": "The book's review",
"maxGraphemes": 15000
},
"status": {
"type": "string",
"knownValues": [
"buzz.bookhive.defs#finished",
"buzz.bookhive.defs#reading",
"buzz.bookhive.defs#wantToRead",
"buzz.bookhive.defs#abandoned",
"buzz.bookhive.defs#owned"
]
},
"authors": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "The authors of the book (tab separated)"
},
"userDid": {
"type": "string",
"description": "The DID of the user who added the book"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"startedAt": {
"type": "string",
"format": "datetime",
"description": "The date the user started reading the book"
},
"thumbnail": {
"type": "string",
"description": "Cover image of the book"
},
"finishedAt": {
"type": "string",
"format": "datetime",
"description": "The date the user finished reading the book"
},
"userHandle": {
"type": "string",
"description": "The handle of the user who added the book"
},
"description": {
"type": "string",
"maxLength": 5000,
"description": "Book description/summary"
},
"bookProgress": {
"ref": "buzz.bookhive.defs#bookProgress",
"type": "ref",
"description": "Progress tracking information for the book"
}
}
}
User wants to read the book
buzz.bookhive.defs#wantToReadTokens have no data representation. Use the reference string as a value.
{
"type": "token",
"description": "User wants to read the book"
}