# app.bulleted.mirror

> Published by [ngerakines.me](https://lexicon.garden/identity/did:plc:cbkjy5n7bk3ax2wplmtjofq2)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/app.bulleted.mirror)
- [Documentation](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/app.bulleted.mirror/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/app.bulleted.mirror/examples)

## Definitions

### `app.bulleted.mirror`

**Type**: `record`

A live reference rendering another node's subtree in place.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `parent` | `string` (at-uri) | No | The node this mirror hangs under. Absent means top level. |
| `sortKey` | `string` | Yes | Fractional index ordering this mirror among its siblings. |
| `original` | `string` (at-uri) | Yes | The node being mirrored. A bare AT-URI rather than a strongRef, because a mirror must track the live bullet including later edits; a strongRef would pin a CID and freeze the content. |
| `createdAt` | `string` (datetime) | Yes | When the mirror was created. |

## Raw Schema

```json
{
  "id": "app.bulleted.mirror",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "original",
          "sortKey",
          "createdAt"
        ],
        "properties": {
          "parent": {
            "type": "string",
            "format": "at-uri",
            "description": "The node this mirror hangs under. Absent means top level."
          },
          "sortKey": {
            "type": "string",
            "maxLength": 512,
            "description": "Fractional index ordering this mirror among its siblings."
          },
          "original": {
            "type": "string",
            "format": "at-uri",
            "description": "The node being mirrored. A bare AT-URI rather than a strongRef, because a mirror must track the live bullet including later edits; a strongRef would pin a CID and freeze the content."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the mirror was created."
          }
        }
      },
      "description": "A live reference rendering another node's subtree in place."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
