{
"id": "pub.byline.defs",
"defs": {
"link": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"kind": {
"type": "string",
"knownValues": [
"retailer",
"direct",
"universal",
"support",
"sample",
"review",
"author",
"publisher",
"discussion",
"social"
]
},
"label": {
"type": "string",
"maxLength": 128
},
"primary": {
"type": "boolean",
"description": "Marks the preferred call-to-action link. At most one per book should set this."
},
"retailer": {
"type": "string",
"description": "Retailer name when kind is retailer, e.g. Smashwords."
},
"isAffiliate": {
"type": "boolean",
"description": "True when this is an affiliate link, for disclosure."
}
}
},
"draft": {
"type": "token",
"description": "In progress, not announced."
},
"edition": {
"type": "object",
"required": [
"format"
],
"properties": {
"links": {
"type": "array",
"items": {
"ref": "lex:pub.byline.defs#link",
"type": "ref"
},
"description": "Buy or sample links specific to this edition."
},
"format": {
"type": "string",
"knownValues": [
"hardcover",
"paperback",
"ebook",
"audiobook"
]
},
"isbn10": {
"type": "string"
},
"isbn13": {
"type": "string"
},
"pageCount": {
"type": "integer",
"minimum": 1
},
"publisher": {
"type": "string",
"maxLength": 256
},
"fileFormats": {
"type": "array",
"items": {
"type": "string",
"maxLength": 32
},
"description": "File formats for a digital edition, e.g. epub, pdf, mobi, m4b."
},
"releaseDate": {
"type": "string",
"format": "datetime"
},
"durationMinutes": {
"type": "integer",
"minimum": 1,
"description": "Runtime for audiobook editions."
}
},
"description": "A single published edition or format of the work."
},
"published": {
"type": "token",
"description": "The work is published and available."
},
"outOfPrint": {
"type": "token",
"description": "Previously published, no longer in print."
},
"contributor": {
"type": "object",
"required": [
"name"
],
"properties": {
"did": {
"type": "string",
"format": "did",
"description": "AT Protocol identity of the contributor, if any."
},
"name": {
"type": "string",
"maxLength": 256
},
"role": {
"type": "string",
"maxLength": 128,
"description": "e.g. author, co-author, translator, editor, illustrator, narrator."
}
},
"description": "A person credited on the work."
},
"forthcoming": {
"type": "token",
"description": "Announced with a release date, not yet available."
},
"identifiers": {
"type": "object",
"properties": {
"asin": {
"type": "string"
},
"hiveId": {
"type": "string",
"description": "BookHive internal id, for reader-app correlation."
},
"isbn10": {
"type": "string"
},
"isbn13": {
"type": "string"
},
"goodreadsId": {
"type": "string"
},
"hiveBookUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the canonical buzz.bookhive.catalogBook record, if one exists."
}
},
"description": "External identifiers used to correlate this work across catalogues."
},
"seriesMembership": {
"type": "object",
"properties": {
"ref": {
"ref": "lex:com.atproto.repo.strongRef",
"type": "ref",
"description": "strongRef to a pub.byline.series record."
},
"name": {
"type": "string",
"maxLength": 256,
"description": "Series name, denormalized for display."
},
"position": {
"type": "integer",
"minimum": 1,
"description": "Reading order within the series."
}
},
"description": "Series membership, if any. Book points at the series; the series record never points back."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}