com.babesky.actor.profile
Schema Diff
+1 -1
Compatibility Analysis
Backward Compatible
No changes detected.
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"bookingsAvailability": {
5
5
"properties": {
6
6
"details": {
7
7
"maxGraphemes": 500,
8
8
"type": "string"
9
9
},
10
10
"enabled": {
11
11
"type": "boolean"
12
12
},
13
13
"expiresAt": {
14
14
"description": "When this availability window closes. Maximum 30 days from publish time.",
15
15
"format": "datetime",
16
16
"type": "string"
17
17
},
18
18
"location": {
19
19
"description": "City, region, or travel note.",
20
20
"maxGraphemes": 120,
21
21
"type": "string"
22
22
}
23
23
},
24
24
"required": [
25
25
"enabled"
26
26
],
27
27
"type": "object"
28
28
},
29
29
"contactMethod": {
30
30
"properties": {
31
31
"kind": {
32
32
"knownValues": [
33
33
"platform",
34
34
"email",
35
35
"signal",
36
36
"whatsapp",
37
37
"telegram",
38
38
"germ",
39
39
"discord",
40
40
"phone",
41
41
"other"
42
42
],
43
43
"type": "string"
44
44
},
45
45
"platformSlug": {
46
46
"description": "When kind=platform, references one of the creator's saved com.babesky.actor.links entries by slug.",
47
47
"type": "string"
48
48
},
49
49
"value": {
50
50
"description": "Contact address (email, handle, phone number, etc.). Not used when kind=platform.",
51
51
"maxGraphemes": 200,
52
52
"type": "string"
53
53
}
54
54
},
55
55
"required": [
56
56
"kind"
57
57
],
58
58
"type": "object"
59
59
},
60
60
"customsAvailability": {
61
61
"properties": {
62
62
"contentTypes": {
63
63
"items": {
64
64
"knownValues": [
65
65
"photo",
66
66
"video",
67
67
"audio",
68
68
"physical",
69
69
"other"
70
70
],
71
71
"type": "string"
72
72
},
73
73
"type": "array"
74
74
},
75
75
"details": {
76
76
"description": "Free text: pricing, turnaround, do-not-do list, etc.",
77
77
"maxGraphemes": 500,
78
78
"type": "string"
79
79
},
80
80
"enabled": {
81
81
"type": "boolean"
82
82
},
83
83
"expiresAt": {
84
84
"description": "When this availability window closes. Maximum 30 days from publish time.",
85
85
"format": "datetime",
86
86
"type": "string"
87
87
}
88
88
},
89
89
"required": [
90
90
"enabled"
91
91
],
92
92
"type": "object"
93
93
},
94
94
"main": {
95
-
"description": "A creator's extended Atmosphere profile. Stored in the creator's own AT Protocol repository. Only affects Babesky and apps that read this lexicon.",
95
+
"description": "Core record of the Babesky creator portfolio. Stores the creator's tagline, avatar, content niches, ratings, collab availability, and contact preferences. Consumed alongside com.babesky.actor.links, com.babesky.actor.support, and com.babesky.actor.featured to render a full portfolio in Atmosphere-compatible apps.",
96
96
"key": "literal:self",
97
97
"record": {
98
98
"properties": {
99
99
"avatar": {
100
100
"accept": [
101
101
"image/png",
102
102
"image/jpeg",
103
103
"image/webp"
104
104
],
105
105
"description": "Optional avatar override. Must be a blob already present in the actor's PDS.",
106
106
"maxSize": 1000000,
107
107
"type": "blob"
108
108
},
109
109
"bookings": {
110
110
"ref": "#bookingsAvailability",
111
111
"type": "ref"
112
112
},
113
113
"collabBrand": {
114
114
"description": "Creator is open to brand partnerships.",
115
115
"type": "boolean"
116
116
},
117
117
"collabContent": {
118
118
"description": "Creator is open to content collaborations.",
119
119
"type": "boolean"
120
120
},
121
121
"contentRating": {
122
122
"description": "Self-declared content rating. Metadata only. Does not trigger any Bluesky labels.",
123
123
"knownValues": [
124
124
"none",
125
125
"nudity",
126
126
"sexual",
127
127
"porn",
128
128
"graphic-media"
129
129
],
130
130
"type": "string"
131
131
},
132
132
"createdAt": {
133
133
"format": "datetime",
134
134
"type": "string"
135
135
},
136
136
"customs": {
137
137
"ref": "#customsAvailability",
138
138
"type": "ref"
139
139
},
140
140
"niches": {
141
141
"description": "Free-text content category tags chosen by the creator.",
142
142
"items": {
143
143
"maxGraphemes": 32,
144
144
"type": "string"
145
145
},
146
146
"maxLength": 10,
147
147
"type": "array"
148
148
},
149
149
"preferredContact": {
150
150
"description": "How fans should reach out.",
151
151
"ref": "#contactMethod",
152
152
"type": "ref"
153
153
},
154
154
"tagline": {
155
155
"description": "Short creator bio for Atmosphere apps.",
156
156
"maxGraphemes": 280,
157
157
"type": "string"
158
158
},
159
159
"taglineMode": {
160
160
"description": "Whether the tagline supplements or replaces the Bluesky bio on Atmosphere apps.",
161
161
"knownValues": [
162
162
"addition",
163
163
"override"
164
164
],
165
165
"type": "string"
166
166
}
167
167
},
168
168
"required": [
169
169
"createdAt"
170
170
],
171
171
"type": "object"
172
172
},
173
173
"type": "record"
174
174
}
175
175
},
176
176
"id": "com.babesky.actor.profile",
177
177
"lexicon": 1
178
178
}