forked from
rocksky.app/rocksky
A decentralized music tracking and discovery platform built on AT Protocol 馃幍
1{
2 "lexicon": 1,
3 "id": "app.rocksky.scrobble",
4 "defs": {
5 "main": {
6 "type": "record",
7 "description": "A declaration of a scrobble.",
8 "key": "tid",
9 "record": {
10 "type": "object",
11 "required": [
12 "title",
13 "artist",
14 "album",
15 "albumArtist",
16 "duration",
17 "createdAt"
18 ],
19 "properties": {
20 "title": {
21 "type": "string",
22 "description": "The title of the song.",
23 "minLength": 1,
24 "maxLength": 512
25 },
26 "artist": {
27 "type": "string",
28 "description": "The artist of the song.",
29 "minLength": 1,
30 "maxLength": 256
31 },
32 "albumArtist": {
33 "type": "string",
34 "description": "The album artist of the song.",
35 "minLength": 1,
36 "maxLength": 256
37 },
38 "album": {
39 "type": "string",
40 "description": "The album of the song.",
41 "minLength": 1,
42 "maxLength": 256
43 },
44 "duration": {
45 "type": "integer",
46 "description": "The duration of the song in seconds.",
47 "minimum": 1
48 },
49 "trackNumber": {
50 "type": "integer",
51 "description": "The track number of the song in the album.",
52 "minimum": 1
53 },
54 "discNumber": {
55 "type": "integer",
56 "description": "The disc number of the song in the album.",
57 "minimum": 1
58 },
59 "releaseDate": {
60 "type": "string",
61 "description": "The release date of the song.",
62 "format": "datetime"
63 },
64 "year": {
65 "type": "integer",
66 "description": "The year the song was released."
67 },
68 "genre": {
69 "type": "string",
70 "description": "The genre of the song.",
71 "maxLength": 256
72 },
73 "tags": {
74 "type": "array",
75 "description": "The tags of the song.",
76 "items": {
77 "type": "string",
78 "minLength": 1,
79 "maxLength": 256
80 }
81 },
82 "composer": {
83 "type": "string",
84 "description": "The composer of the song.",
85 "maxLength": 256
86 },
87 "lyrics": {
88 "type": "string",
89 "description": "The lyrics of the song.",
90 "maxLength": 10000
91 },
92 "copyrightMessage": {
93 "type": "string",
94 "description": "The copyright message of the song.",
95 "maxLength": 256
96 },
97 "wiki": {
98 "type": "string",
99 "description": "Informations about the song",
100 "maxLength": 10000
101 },
102 "albumArt": {
103 "type": "blob",
104 "description": "The album art of the song.",
105 "accept": [
106 "image/png",
107 "image/jpeg"
108 ],
109 "maxSize": 2000000
110 },
111 "youtubeLink": {
112 "type": "string",
113 "description": "The YouTube link of the song.",
114 "format": "uri"
115 },
116 "spotifyLink": {
117 "type": "string",
118 "description": "The Spotify link of the song.",
119 "format": "uri"
120 },
121 "tidalLink": {
122 "type": "string",
123 "description": "The Tidal link of the song.",
124 "format": "uri"
125 },
126 "appleMusicLink": {
127 "type": "string",
128 "description": "The Apple Music link of the song.",
129 "format": "uri"
130 },
131 "createdAt": {
132 "type": "string",
133 "description": "The date when the song was created.",
134 "format": "datetime"
135 },
136 "mbid": {
137 "type": "string",
138 "description": "The MusicBrainz ID of the song."
139 },
140 "label": {
141 "type": "string",
142 "description": "The label of the song.",
143 "maxLength": 256
144 }
145 }
146 }
147 }
148 }
149}