place.stream.chat.profile

did:web:stream.place

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "badgeSelections": {
      "description": "Selected badges for display in chat, organized by slot.",
      "properties": {
        "global": {
          "description": "Selected globally-issued badge (e.g. event badge).",
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "streamer": {
          "description": "Selected streamer-issued badges, one per streamer channel.",
          "items": {
            "ref": "#streamerBadgeSelection",
            "type": "ref"
          },
          "maxLength": 20,
          "type": "array"
        }
      },
      "type": "object"
    },
    "color": {
      "description": "Customizations for the color of a user's name in chat",
      "properties": {
        "blue": {
          "maximum": 255,
          "minimum": 0,
          "type": "integer"
        },
        "green": {
          "maximum": 255,
          "minimum": 0,
          "type": "integer"
        },
        "red": {
          "maximum": 255,
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "red",
        "green",
        "blue"
      ],
      "type": "object"
    },
    "main": {
      "description": "Record containing customizations for a user's chat profile.",
      "key": "literal:self",
      "record": {
        "properties": {
          "badges": {
            "description": "Badge selections for display in chat.",
            "ref": "#badgeSelections",
            "type": "ref"
          },
          "color": {
            "ref": "#color",
            "type": "ref"
          },
          "selfLabels": {
            "description": "Self-applied labels for this profile, e.g. 'bot'.",
            "items": {
              "ref": "#selfLabel",
              "type": "ref"
            },
            "maxLength": 10,
            "type": "array"
          }
        },
        "type": "object"
      },
      "type": "record"
    },
    "selfLabel": {
      "description": "Label that a user can apply to their own profile.",
      "knownValues": [
        "bot"
      ],
      "type": "string"
    },
    "streamerBadgeSelection": {
      "description": "A selected badge for a specific streamer's channel.",
      "properties": {
        "badge": {
          "description": "Strong reference to the selected place.stream.badge.issuance record.",
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "streamer": {
          "description": "DID of the streamer whose channel this selection applies to.",
          "format": "did",
          "type": "string"
        }
      },
      "required": [
        "streamer",
        "badge"
      ],
      "type": "object"
    }
  },
  "id": "place.stream.chat.profile",
  "lexicon": 1
}

Validate Record

Validate a record against place.stream.chat.profile

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:web:stream.place
CID
bafyreifhhyqutckyjkl4epfqhfbsxmq5t5d3glp36i7pj6w5qzfze6ujx4
Indexed At
2026-07-26 20:18 UTC
AT-URI
at://did:web:stream.place/com.atproto.lexicon.schema/place.stream.chat.profile

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • place.stream.badge.defs not from the namespace authority

    A resolved view of a badge issuance, including def fields for display.

  • place.stream.badge.issuance recordnot from the namespace authority

    Grants a specific badge to a recipient. The badge only appears in chat after the recipient adds this record to their place.stream.chat.profile selection array.

  • place.stream.badge.getIssuedBadges querynot from the namespace authority

    Returns badges issued to the authenticated user, organized by display slot. Also indicates which badges are currently selected in the user's chat profile.

  • A Colibri-specific user profile. Singleton record on the user's own repo, kept separate from app.bsky.actor.profile so Colibri never needs write access to the Bluesky record.

Lexicon Garden

@