app.tempomusic.actor.profile
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"catalogAvatar": {
"description": "Reference to an avatar from the curated illustration catalog bundled with Tempo clients. The avatar is composed of (1) a character illustration identified by `id` and (2) a background color identified by `backgroundColor`. Clients resolve both against their local catalog/theme at render time and fall back to defaults when a value is unknown.",
"properties": {
"backgroundColor": {
"description": "Stable identifier of the background color, resolved by the client against the Tempo extended theme palette. `knownValues` is informational; AppViews and clients MUST accept unknown values gracefully so the palette can grow non-breakingly.",
"knownValues": [
"userOrange",
"userBlue",
"userPink",
"userRed",
"userCyan",
"userGrey"
],
"maxLength": 32,
"type": "string"
},
"id": {
"description": "Stable catalog identifier (e.g. 'hoodie_jacket'). Lowercase ASCII with underscores; opaque to the protocol.",
"maxLength": 64,
"type": "string"
}
},
"required": [
"id",
"backgroundColor"
],
"type": "object"
},
"main": {
"description": "Customizable profile attributes for a Tempo actor. Stored as a singleton per repository under the literal record key 'self'.",
"key": "literal:self",
"record": {
"properties": {
"avatar": {
"description": "Actor's avatar selection. Open union: currently only catalog-based avatars; future variants (e.g. custom blob upload) may be added without a breaking change.",
"refs": [
"#catalogAvatar"
],
"type": "union"
},
"createdAt": {
"description": "Client-declared timestamp when this revision of the profile was authored. NOTE: with the singleton 'self' key, this advances on every edit; it is NOT a ToS-acceptance baseline. AppViews wanting an immutable first-acceptance timestamp must capture it separately.",
"format": "datetime",
"type": "string"
},
"displayName": {
"description": "User-chosen display name shown in posts, replies and profile views. Bounded in graphemes (visible characters) so the UI can render it predictably; the byte budget is set to 10x the grapheme budget to leave headroom for multi-byte UTF-8 sequences.",
"maxGraphemes": 18,
"maxLength": 180,
"minLength": 1,
"type": "string"
}
},
"required": [
"displayName",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "app.tempomusic.actor.profile",
"lexicon": 1
}
Metadata
- DID
-
did:plc:pxsuqmultto34oks44m2lgxm - CID
-
bafyreib6bkx6xkb7asmddlqaneo7jqiukldhtqfbjo4oscyn6owebj6vea - Indexed At
- 2026-08-24 09:06 UTC
- AT-URI
-
at://did:plc:pxsuqmultto34oks44m2lgxm/com.atproto.lexicon.schema/app.tempomusic.actor.profile
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A declaration of a Syntax Club account profile.
-
art.cllctv.actor.profile record
A declaration of a cllctv.ART account profile.
-
social.grain.actor.profile record
A declaration of a basic account profile.
-
social.clippr.actor.profile record
A declaration of a Clippr account's profile.
-
social.colibri.actor.profile record
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.