org.passingreads.book.stashBookKey
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Stash a book's private key on the appview so the user can interact with the book (drop it, leave a note) from any device without re-scanning the QR. Stashed keys are wiped automatically when a drop event is ingested for that book.",
"errors": [
{
"description": "The supplied privateKey does not derive to the supplied bookId.",
"name": "BookKeyMismatch"
},
{
"description": "The authenticated DID has no PassingReads profile indexed by the appview.",
"name": "ProfileNotFound"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"bookId": {
"description": "The book's short ID (as encoded in its QR code).",
"type": "string"
},
"privateKey": {
"description": "Multibase-encoded Ed25519 private key for the book. The appview verifies the key derives to the given bookId.",
"type": "string"
}
},
"required": [
"bookId",
"privateKey"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"stashedAt": {
"format": "datetime",
"type": "string"
}
},
"required": [
"stashedAt"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "org.passingreads.book.stashBookKey",
"lexicon": 1
}
Metadata
- DID
-
did:plc:oeipalbxet5jghoqe6b6ctu6 - CID
-
bafyreias2lizpcqdtyim2ngupfwhyldve65cfpknwm3ywo5yd22uvylbl4 - Indexed At
- 2026-05-13 23:54 UTC
- AT-URI
-
at://did:plc:oeipalbxet5jghoqe6b6ctu6/com.atproto.lexicon.schema/org.passingreads.book.stashBookKey
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
List the book private keys the authenticated user has stashed on the appview. Used by clients to populate the local key cache after sign-in on a new device.