Your music, beautifully tracked. All yours. (coming soon) teal.fm
teal-fm atproto

start social lexicon

+104
+104
packages/lexicons/real/fm/teal/alpha/feed/social/post.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fm.teal.alpha.feed.social.post", 4 + "description": "This lexicon is in a not officially released state. It is subject to change. | Record containing a teal.fm post. Teal.fm posts include a track that is connected to the post, and could have some text. Replies, by default, have the same track as the parent post.", 5 + "defs": { 6 + "main": { 7 + "type": "record", 8 + "description": "Record containing a teal.fm post.", 9 + "key": "tid", 10 + "record": { 11 + "type": "object", 12 + "required": ["text", "createdAt"], 13 + "properties": { 14 + "text": { 15 + "type": "string", 16 + "maxLength": 3000, 17 + "maxGraphemes": 300, 18 + "description": "The primary post content. May be an empty string, if there are embeds." 19 + }, 20 + "trackName": { 21 + "type": "string", 22 + "minLength": 1, 23 + "maxLength": 256, 24 + "maxGraphemes": 2560, 25 + "description": "The name of the track" 26 + }, 27 + "trackMbId": { 28 + "type": "string", 29 + "description": "The Musicbrainz ID of the track" 30 + }, 31 + "recordingMbId": { 32 + "type": "string", 33 + "description": "The Musicbrainz recording ID of the track" 34 + }, 35 + "duration": { 36 + "type": "integer", 37 + "description": "The duration of the track in seconds" 38 + }, 39 + "artistNames": { 40 + "type": "array", 41 + "items": { 42 + "type": "string", 43 + "minLength": 1, 44 + "maxLength": 256, 45 + "maxGraphemes": 2560 46 + }, 47 + "description": "The names of the artists" 48 + }, 49 + "artistMbIds": { 50 + "type": "array", 51 + "items": { 52 + "type": "string" 53 + }, 54 + "description": "The Musicbrainz IDs of the artists" 55 + }, 56 + "releaseName": { 57 + "type": "string", 58 + "maxLength": 256, 59 + "maxGraphemes": 2560, 60 + "description": "The name of the release/album" 61 + }, 62 + "releaseMbId": { 63 + "type": "string", 64 + "description": "The Musicbrainz ID of the release/album" 65 + }, 66 + "isrc": { 67 + "type": "string", 68 + "description": "The ISRC code associated with the recording" 69 + }, 70 + "facets": { 71 + "type": "array", 72 + "items": { "type": "ref", "ref": "#facetRef" } 73 + }, 74 + "reply": { "type": "ref", "ref": "#replyRef" }, 75 + "langs": { 76 + "type": "array", 77 + "description": "Indicates human language of post primary text content.", 78 + "maxLength": 3, 79 + "items": { "type": "string", "format": "language" } 80 + }, 81 + "tags": { 82 + "type": "array", 83 + "description": "Additional hashtags, in addition to any included in post text and facets.", 84 + "maxLength": 8, 85 + "items": { "type": "string", "maxLength": 640, "maxGraphemes": 64 } 86 + }, 87 + "createdAt": { 88 + "type": "string", 89 + "format": "datetime", 90 + "description": "Client-declared timestamp when this post was originally created." 91 + } 92 + } 93 + } 94 + }, 95 + "replyRef": { 96 + "type": "object", 97 + "required": ["root", "parent"], 98 + "properties": { 99 + "root": { "type": "ref", "ref": "com.atproto.repo.strongRef" }, 100 + "parent": { "type": "ref", "ref": "com.atproto.repo.strongRef" } 101 + } 102 + } 103 + } 104 + }