com.babesky.actor.profile
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.
Details · record, key literal:self
| Kind | record |
|---|---|
| Record key | literal:self |
| Authority | actor.babesky.com |
| Indexed |
Checks
Validunlimited-stringdefs.contactMethod.properties.kindNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.contactMethod.properties.platformSlugNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.customsAvailability.properties.contentTypes.itemsNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.contentRatingNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.record.properties.taglineModeNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"bookingsAvailability": {
"properties": {
"details": {
"maxGraphemes": 500,
"type": "string"
},
"enabled": {
"type": "boolean"
},
"expiresAt": {
"description": "When this availability window closes. Maximum 30 days from publish time.",
"format": "datetime",
"type": "string"
},
"location": {
"description": "City, region, or travel note.",
"maxGraphemes": 120,
"type": "string"
}
},
"required": [
"enabled"
],
"type": "object"
},
"contactMethod": {
"properties": {
"kind": {
"knownValues": [
"platform",
"email",
"signal",
"whatsapp",
"telegram",
"germ",
"discord",
"phone",
"other"
],
"type": "string"
},
"platformSlug": {
"description": "When kind=platform, references one of the creator's saved com.babesky.actor.links entries by slug.",
"type": "string"
},
"value": {
"description": "Contact address (email, handle, phone number, etc.). Not used when kind=platform.",
"maxGraphemes": 200,
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
},
"customsAvailability": {
"properties": {
"contentTypes": {
"items": {
"knownValues": [
"photo",
"video",
"audio",
"physical",
"other"
],
"type": "string"
},
"type": "array"
},
"details": {
"description": "Free text: pricing, turnaround, do-not-do list, etc.",
"maxGraphemes": 500,
"type": "string"
},
"enabled": {
"type": "boolean"
},
"expiresAt": {
"description": "When this availability window closes. Maximum 30 days from publish time.",
"format": "datetime",
"type": "string"
}
},
"required": [
"enabled"
],
"type": "object"
},
"main": {
"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.",
"key": "literal:self",
"record": {
"properties": {
"avatar": {
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"description": "Optional avatar override. Must be a blob already present in the actor's PDS.",
"maxSize": 1000000,
"type": "blob"
},
"bookings": {
"ref": "#bookingsAvailability",
"type": "ref"
},
"collabBrand": {
"description": "Creator is open to brand partnerships.",
"type": "boolean"
},
"collabContent": {
"description": "Creator is open to content collaborations.",
"type": "boolean"
},
"contentRating": {
"description": "Self-declared content rating. Metadata only. Does not trigger any Bluesky labels.",
"knownValues": [
"none",
"nudity",
"sexual",
"porn",
"graphic-media"
],
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"customs": {
"ref": "#customsAvailability",
"type": "ref"
},
"niches": {
"description": "Free-text content category tags chosen by the creator.",
"items": {
"maxGraphemes": 32,
"type": "string"
},
"maxLength": 10,
"type": "array"
},
"preferredContact": {
"description": "How fans should reach out.",
"ref": "#contactMethod",
"type": "ref"
},
"tagline": {
"description": "Short creator bio for Atmosphere apps.",
"maxGraphemes": 280,
"type": "string"
},
"taglineMode": {
"description": "Whether the tagline supplements or replaces the Bluesky bio on Atmosphere apps.",
"knownValues": [
"addition",
"override"
],
"type": "string"
}
},
"required": [
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "com.babesky.actor.profile",
"lexicon": 1
}