{
"id": "pub.chive.review.listForAuthor",
"defs": {
"main": {
"type": "query",
"errors": [],
"output": {
"schema": {
"type": "object",
"required": [
"reviews",
"hasMore"
],
"properties": {
"total": {
"type": "integer",
"description": "Total number of reviews by this author"
},
"cursor": {
"type": "string",
"description": "Cursor for next page"
},
"hasMore": {
"type": "boolean",
"description": "Whether more results are available"
},
"reviews": {
"type": "array",
"items": {
"ref": "#reviewView",
"type": "ref"
},
"description": "List of reviews by the author"
}
}
},
"encoding": "application/json"
},
"parameters": {
"type": "params",
"required": [
"reviewerDid"
],
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of results to return"
},
"cursor": {
"type": "string",
"description": "Pagination cursor for next page"
},
"inlineOnly": {
"type": "boolean",
"default": false,
"description": "Only include inline annotations with text span targets"
},
"motivation": {
"type": "string",
"description": "Filter by W3C Web Annotation motivation",
"knownValues": [
"commenting",
"highlighting",
"questioning",
"replying",
"assessing",
"bookmarking",
"classifying",
"describing",
"editing",
"linking",
"moderating",
"tagging"
]
},
"reviewerDid": {
"type": "string",
"format": "did",
"description": "DID of the reviewer"
}
}
},
"description": "List reviews created by a specific author with optional filtering"
},
"authorRef": {
"type": "object",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"avatar": {
"type": "string",
"format": "uri"
},
"handle": {
"type": "string"
},
"displayName": {
"type": "string"
}
}
},
"reviewView": {
"type": "object",
"required": [
"uri",
"cid",
"author",
"eprintUri",
"content",
"motivation",
"replyCount",
"createdAt",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"description": "Content identifier"
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "Review AT-URI"
},
"body": {
"type": "array",
"items": {
"refs": [
"pub.chive.richtext.defs#textItem",
"pub.chive.richtext.defs#nodeRefItem",
"pub.chive.richtext.defs#wikidataRefItem",
"pub.chive.richtext.defs#fieldRefItem",
"pub.chive.richtext.defs#facetRefItem",
"pub.chive.richtext.defs#eprintRefItem",
"pub.chive.richtext.defs#annotationRefItem",
"pub.chive.richtext.defs#authorRefItem",
"pub.chive.richtext.defs#mentionItem",
"pub.chive.richtext.defs#linkItem",
"pub.chive.richtext.defs#tagItem",
"pub.chive.richtext.defs#latexItem",
"pub.chive.richtext.defs#codeBlockItem",
"pub.chive.richtext.defs#headingItem",
"pub.chive.richtext.defs#listItem",
"pub.chive.richtext.defs#blockquoteItem"
],
"type": "union"
},
"maxLength": 500,
"description": "Rich text body items"
},
"author": {
"ref": "#authorRef",
"type": "ref"
},
"target": {
"ref": "#textSpanTarget",
"type": "ref",
"description": "Target text span for inline annotations"
},
"content": {
"type": "string",
"description": "Plain text content of the review"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When the review was created"
},
"eprintUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the eprint being reviewed"
},
"indexedAt": {
"type": "string",
"format": "datetime",
"description": "When the review was indexed"
},
"motivation": {
"type": "string",
"description": "W3C Web Annotation motivation",
"knownValues": [
"commenting",
"highlighting",
"questioning",
"replying",
"assessing",
"bookmarking",
"classifying",
"describing",
"editing",
"linking",
"moderating",
"tagging"
]
},
"replyCount": {
"type": "integer",
"minimum": 0,
"description": "Number of direct replies"
},
"eprintTitle": {
"type": "string",
"description": "Title of the reviewed eprint"
},
"bodyPlainText": {
"type": "string",
"description": "Plain text body for search/preview"
},
"parentReviewUri": {
"type": "string",
"format": "at-uri",
"description": "Parent review URI for threaded replies"
}
},
"description": "View of a review/comment"
},
"textSpanTarget": {
"type": "object",
"required": [
"source"
],
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number (deprecated, use refinedBy.pageNumber)"
},
"source": {
"type": "string",
"format": "at-uri",
"description": "Eprint AT-URI"
},
"selector": {
"ref": "#textQuoteSelector",
"type": "ref",
"description": "Text quote selector"
},
"refinedBy": {
"ref": "#textPositionSelector",
"type": "ref",
"description": "Position refinement with page info"
}
},
"description": "Target text span for inline annotations (W3C Web Annotation compatible)"
},
"textQuoteSelector": {
"type": "object",
"required": [
"type",
"exact"
],
"properties": {
"type": {
"type": "string",
"const": "TextQuoteSelector"
},
"exact": {
"type": "string",
"maxLength": 1000
},
"prefix": {
"type": "string",
"maxLength": 100
},
"suffix": {
"type": "string",
"maxLength": 100
}
},
"description": "W3C Text Quote Selector"
},
"textPositionSelector": {
"type": "object",
"required": [
"type",
"start",
"end"
],
"properties": {
"end": {
"type": "integer",
"minimum": 0
},
"type": {
"type": "string",
"const": "TextPositionSelector"
},
"start": {
"type": "integer",
"minimum": 0
},
"pageNumber": {
"type": "integer",
"minimum": 1,
"description": "Page number in PDF"
}
},
"description": "W3C Text Position Selector with optional page info"
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"revision": 1
}