{
"id": "social.smallbury.feed.reaction",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"createdAt"
],
"properties": {
"emoji": {
"type": "string",
"maxLength": 32,
"description": "Cleartext emoji reaction for public targets. Omit when ciphertext is set.",
"maxGraphemes": 1
},
"subject": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "AT-URI/CID of the target post or comment."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this reaction record was created."
},
"ciphertext": {
"type": "bytes",
"maxLength": 4096,
"description": "Encrypted reaction payload for private targets. Omit for public targets."
},
"keyEpochId": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Trust key epoch used for encrypted reactions. Required when ciphertext is set."
}
}
},
"description": "Emoji reaction by an actor on a post or comment. Use one record per emoji (stacking supported). Public targets store cleartext emoji. Reactions to encrypted targets store ciphertext plus keyEpochId."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}