# pub.chive.review.listForEprint

> Published by [chive.pub](https://lexicon.garden/identity/did:plc:7natp5xae72bddaqlkef2t4e)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.review.listForEprint)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.review.listForEprint/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7natp5xae72bddaqlkef2t4e/pub.chive.review.listForEprint/examples)

## Definitions

### `pub.chive.review.listForEprint`

**Type**: `query`

List reviews for a specific eprint with optional filtering

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `limit` | `integer` | No | Maximum number of results to return |
| `cursor` | `string` | No | Pagination cursor for next page |
| `eprintUri` | `string` (at-uri) | Yes | AT-URI of the eprint |
| `inlineOnly` | `boolean` | No | Only include inline annotations with text span targets |
| `motivation` | `string` | No | Filter by W3C Web Annotation motivation |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `total` | `integer` | No | Total number of reviews for this eprint |
| `cursor` | `string` | No | Cursor for next page |
| `hasMore` | `boolean` | Yes | Whether more results are available |
| `reviews` | `array` | Yes | List of reviews for the eprint |

### `pub.chive.review.listForEprint#authorRef`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `avatar` | `string` (uri) | No |  |
| `handle` | `string` | No |  |
| `displayName` | `string` | No |  |

### `pub.chive.review.listForEprint#reviewView`

**Type**: `object`

View of a review/comment

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` | Yes | Content identifier |
| `uri` | `string` (at-uri) | Yes | Review AT-URI |
| `body` | `array` | No | Rich text body items |
| `author` | `ref` → `#authorRef` | Yes |  |
| `target` | `ref` → `#textSpanTarget` | No | Target text span for inline annotations |
| `content` | `string` | Yes | Plain text content of the review |
| `deleted` | `boolean` | No | Whether this review has been deleted (tombstone for thread preservation) |
| `createdAt` | `string` (datetime) | Yes | When the review was created |
| `eprintUri` | `string` (at-uri) | Yes | AT-URI of the eprint being reviewed |
| `indexedAt` | `string` (datetime) | Yes | When the review was indexed |
| `motivation` | `string` | Yes | W3C Web Annotation motivation |
| `replyCount` | `integer` | Yes | Number of direct replies |
| `bodyPlainText` | `string` | No | Plain text body for search/preview |
| `parentReviewUri` | `string` (at-uri) | No | Parent review URI for threaded replies |

### `pub.chive.review.listForEprint#textSpanTarget`

**Type**: `object`

Target text span for inline annotations (W3C Web Annotation compatible)

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `page` | `integer` | No | Page number (deprecated, use refinedBy.pageNumber) |
| `source` | `string` (at-uri) | Yes | Eprint AT-URI |
| `selector` | `ref` → `#textQuoteSelector` | No | Text quote selector |
| `refinedBy` | `ref` → `#textPositionSelector` | No | Position refinement with page info |

### `pub.chive.review.listForEprint#textQuoteSelector`

**Type**: `object`

W3C Text Quote Selector

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `type` | `string` | Yes |  |
| `exact` | `string` | Yes |  |
| `prefix` | `string` | No |  |
| `suffix` | `string` | No |  |

### `pub.chive.review.listForEprint#textPositionSelector`

**Type**: `object`

W3C Text Position Selector with optional page info

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `end` | `integer` | Yes |  |
| `type` | `string` | Yes |  |
| `start` | `integer` | Yes |  |
| `pageNumber` | `integer` | No | Page number in PDF |

## Raw Schema

```json
{
  "id": "pub.chive.review.listForEprint",
  "defs": {
    "main": {
      "type": "query",
      "errors": [],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "reviews",
            "hasMore"
          ],
          "properties": {
            "total": {
              "type": "integer",
              "description": "Total number of reviews for this eprint"
            },
            "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 for the eprint"
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "required": [
          "eprintUri"
        ],
        "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"
          },
          "eprintUri": {
            "type": "string",
            "format": "at-uri",
            "description": "AT-URI of the eprint"
          },
          "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"
            ]
          }
        }
      },
      "description": "List reviews for a specific eprint 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"
        },
        "deleted": {
          "type": "boolean",
          "default": false,
          "description": "Whether this review has been deleted (tombstone for thread preservation)"
        },
        "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"
        },
        "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
}
```
