app.tempomusic.feed.reply

lexicons.tempomusic.fan

Documentation

A text reply attached to a Tempo post. Reply records form threads via the reply ref; the music subject lives on the root post, not on the reply itself.

main record

A text reply attached to a Tempo post. Reply records form threads via the reply ref; the music subject lives on the root post, not on the reply itself.

Record Key tid Timestamp-based ID

Properties

createdAt string datetime Required

Client-declared timestamp when this reply was originally created.

labels union Optional

Author-declared content warnings. Uses the standard AT Protocol self-label vocabulary for ecosystem compatibility.

langs array of string language Optional

BCP-47 language tags for the text content. Up to three.

maxLength: 3 items
reply ref #replyRef Required

Threading context. Required: every reply must point at the post (and possibly intermediate reply) it answers.

text string Required

The reply content.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "text",
      "reply",
      "createdAt"
    ],
    "properties": {
      "text": {
        "type": "string",
        "maxLength": 3000,
        "description": "The reply content.",
        "maxGraphemes": 300
      },
      "langs": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "language"
        },
        "maxLength": 3,
        "description": "BCP-47 language tags for the text content. Up to three."
      },
      "reply": {
        "ref": "#replyRef",
        "type": "ref",
        "description": "Threading context. Required: every reply must point at the post (and possibly intermediate reply) it answers."
      },
      "labels": {
        "refs": [
          "com.atproto.label.defs#selfLabels"
        ],
        "type": "union",
        "description": "Author-declared content warnings. Uses the standard AT Protocol self-label vocabulary for ecosystem compatibility."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared timestamp when this reply was originally created."
      }
    }
  },
  "description": "A text reply attached to a Tempo post. Reply records form threads via the reply ref; the music subject lives on the root post, not on the reply itself."
}
replyRef object

Threading context. AppViews MUST enforce: root references an app.tempomusic.feed.post (threads anchor on a post); parent references either an app.tempomusic.feed.post or an app.tempomusic.feed.reply (sub-thread replies). strongRef is collection-agnostic by design — these constraints live in AppView validation, not in the lexicon schema.

Properties

View raw schema
{
  "type": "object",
  "required": [
    "root",
    "parent"
  ],
  "properties": {
    "root": {
      "ref": "com.atproto.repo.strongRef",
      "type": "ref"
    },
    "parent": {
      "ref": "com.atproto.repo.strongRef",
      "type": "ref"
    }
  },
  "description": "Threading context. AppViews MUST enforce: root references an app.tempomusic.feed.post (threads anchor on a post); parent references either an app.tempomusic.feed.post or an app.tempomusic.feed.reply (sub-thread replies). strongRef is collection-agnostic by design — these constraints live in AppView validation, not in the lexicon schema."
}

Lexicon Garden

@