# monster.attest.comment

> Published by [attest.attest.monster](https://lexicon.garden/identity/did:plc:tqeqvx3hcgzg5uvgogwkm7lk)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:tqeqvx3hcgzg5uvgogwkm7lk/monster.attest.comment)
- [Documentation](https://lexicon.garden/lexicon/did:plc:tqeqvx3hcgzg5uvgogwkm7lk/monster.attest.comment/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:tqeqvx3hcgzg5uvgogwkm7lk/monster.attest.comment/examples)

## Definitions

### `monster.attest.comment`

**Type**: `record`

A signed public comment on a URL, DOI or content hash, optionally anchored to a passage.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `text` | `string` | Yes |  |
| `anchor` | `string` | No | Optional selector for a passage of the subject (a text quote or a CSS selector). |
| `subject` | `string` (uri) | Yes | What the statement is about: an https URL (normalised: lowercase scheme and host, no fragment), a doi: URI, or a sha256: content hash written as a URI (sha256:<hex>). |
| `createdAt` | `string` (datetime) | Yes | Client-declared time of the statement. |
| `signatures` | `ref` → `app.certified.signature.defs#list` | No | Inline signatures per the ATProtocol Attestation Specification; attest requires one from the author's device key (did:key, delegated from their passkey). |

## Raw Schema

```json
{
  "id": "monster.attest.comment",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "subject",
          "text",
          "createdAt"
        ],
        "properties": {
          "text": {
            "type": "string",
            "maxLength": 8000,
            "maxGraphemes": 2000
          },
          "anchor": {
            "type": "string",
            "maxLength": 1024,
            "description": "Optional selector for a passage of the subject (a text quote or a CSS selector)."
          },
          "subject": {
            "type": "string",
            "format": "uri",
            "maxLength": 2048,
            "description": "What the statement is about: an https URL (normalised: lowercase scheme and host, no fragment), a doi: URI, or a sha256: content hash written as a URI (sha256:<hex>)."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Client-declared time of the statement."
          },
          "signatures": {
            "ref": "app.certified.signature.defs#list",
            "type": "ref",
            "description": "Inline signatures per the ATProtocol Attestation Specification; attest requires one from the author's device key (did:key, delegated from their passkey)."
          }
        }
      },
      "description": "A signed public comment on a URL, DOI or content hash, optionally anchored to a passage."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
