{
"id": "uk.skyblur.post",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"text",
"createdAt",
"uri",
"visibility"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"text": {
"type": "string",
"maxLength": 3000,
"description": "The post main contents. Blurred text must be enclosed in brackets [].",
"maxGraphemes": 300
},
"listUri": {
"type": "string",
"format": "at-uri",
"description": "Selected Bluesky list AT-URI. Required by application validation when visibility is 'list'."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Created date assigned by client"
},
"additional": {
"type": "string",
"maxLength": 100000,
"description": "The post additional contents.",
"maxGraphemes": 10000
},
"visibility": {
"enum": [
"public",
"password",
"login",
"followers",
"following",
"mutual",
"list"
],
"type": "string",
"maxLength": 100,
"description": "For 'login', the post requires login to view (Bluesky account required). For 'password', the text only contains blurred text, and additional is always empty. The unblurred text and additional are included in the encryptBody. 'followers' restricted to author's followers. 'following' restricted to users author follows. 'mutual' restricted to mutual followers. 'list' restricted to members of the author's selected Bluesky list.",
"maxGraphemes": 10
},
"encryptBody": {
"type": "blob",
"description": "Encrypted post body. It shoud be decrypted by the client with AES-256."
}
}
},
"description": "Record containing a Skyblur post."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}