{
"id": "com.divepool.rating",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"score",
"createdAt"
],
"properties": {
"post": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "An optional Bluesky post (app.bsky.feed.post) containing the review — the author's own, or another author's being endorsed at this score"
},
"text": {
"type": "string",
"maxLength": 3000,
"description": "An optional text containing the review",
"maxGraphemes": 300
},
"score": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "A whole number from 0 (worst) to 10 (best)"
},
"subject": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "What is being rated as one prefixed, ideally canonical and stable string ID (e.g. 'https:…' or 'mbid:…')"
},
"document": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "An optional article (site.standard.document) containing the review — the author's own, or another author's being endorsed at this score"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When this rating was made"
}
}
},
"description": "A rating gives a subject a dated integer score from 0 to 10. To re-rate, create a new record with an updated createdAt; the current score is the latest per (author, subject)."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}