com.babesky.actor.profile

babesky.com

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

Validate Record

Validate a record against com.babesky.actor.profile

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:qtapiembzpxlzsiagnc7eyy3
CID
bafyreigf7kctzi5oq437divels5jzn37ebny6xoe7twrl2ft4n5s3cyeye
Indexed At
2026-05-01 19:57 UTC
AT-URI
at://did:plc:qtapiembzpxlzsiagnc7eyy3/com.atproto.lexicon.schema/com.babesky.actor.profile

Version History (2 versions)

Lexicon Garden

@