Annotation: type: object required: - id - created - updated - user - uri - text - tags - group - permissions - target - document - links - hidden - moderation_status - flagged - actions properties: consumer: type: string id: type: string created: type: string format: date-time updated: type: string format: date-time user: type: string pattern: "acct:^[A-Za-z0-9._]{3,30}@.*$" description: user account ID in the format `"acct:@"` example: "acct:felicity_nunsun@hypothes.is" uri: type: string format: uri text: type: string description: The text content of the annotation body tags: type: array items: type: string group: type: string description: The unique identifier for the annotation's group permissions: type: object target: type: array items: type: object properties: source: type: string format: uri description: The target URI for the annotation selector: type: array description: An array of selectors that refine this annotation's target. See [the Web Annotation Data Model W3C Recommendation](https://www.w3.org/TR/annotation-model/#selectors) for details about different selector types and properties. items: oneOf: - type: object description: Fragment Selector required: - type - value - conformsTo properties: "type": type: string value: string conformsTo: string - type: object description: CSS Selector required: - type - value properties: "type": type: string value: string - type: object description: XPath Selector required: - type - value properties: "type": type: string value: string - type: object description: Text Quote Selector required: - type - exact properties: "type": type: string exact: string prefix: string suffix: string - type: object description: Text Position Selector required: - type - start - end properties: "type": type: string start: number end: number - type: object description: Data Position Selector required: - type - start - end properties: "type": type: string start: number end: number - type: object description: SVG Selector required: - type - value properties: "type": type: string value: string - type: object description: Range Selector required: - type - startContainer - endContainer - startOffset - endOffset properties: "type": type: string startContainer: string endContainer: string startOffset: number endOffset: number - type: object description: EPUB Content Selector required: - type - url properties: "type": type: string url: string cfi: string title: string - type: object description: Page Selector required: - type - index properties: "type": type: string index: number label: string description: type: string description: > An optional text description of the annotation's target. For image annotations (where the annotation's target is a selected area of an image) the Hypothesis client uses this description as alt text for the thumbnail preview of the target. document: type: object required: - title properties: title: type: array items: type: string links: type: object description: An object containing hypermedia links for this annotation hidden: type: boolean description: Whether this annotation is hidden from public view moderation_status: type: string enum: - PENDING - APPROVED - DENIED - SPAM description: This annotation's moderation status flagged: type: boolean description: Whether this annotation has one or more flags for moderation references: type: array description: Annotation IDs for any annotations this annotation references (e.g. is a reply to) items: type: string user_info: type: object properties: display_name: oneOf: - type: string description: The annotation creator's display name example: "Felicity Nunsun" - type: null mentions: type: array items: type: object properties: userid: type: string pattern: "acct:^[A-Za-z0-9._]{3,30}@.*$" description: user account ID in the format `"acct:@"` example: "acct:felicity_nunsun@hypothes.is" original_userid: type: string description: The original account ID mentioned in the annotation text username: type: string description: The username of the user display_name: type: string description: The display name of the user link: type: string format: uri description: The link to the user profile description: type: string description: The user description joined: type: string format: date-time description: When the user joined description: An array of user mentions the annotation text actions: type: array items: type: string enum: - moderate description: List of actions the current user can perform on this annotation example: ["moderate"]