Who chose this, and where they said it. For a namespace, the DID its _lexicon TXT record names; for an actor, the account itself.
Properties
A decentralized identifier (DID).
The domain whose _lexicon TXT record names the declaring DID, or the actor's handle.
maxLength: 253 bytes
An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).
View raw schema
{
"type": "object",
"required": [
"domain",
"did",
"uri"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"uri": {
"type": "string",
"format": "at-uri"
},
"domain": {
"type": "string",
"maxLength": 253,
"description": "The domain whose _lexicon TXT record names the declaring DID, or the actor's handle."
}
},
"description": "Who chose this, and where they said it. For a namespace, the DID its _lexicon TXT record names; for an actor, the account itself."
}
Resolved brand assets for one namespace.
Properties
No description available.
No description available.
No description available.
maxLength: 512 bytes
URL for the icon: an https URL, or a data: URI when generated.
maxLength: 8192 bytes
Present only when the icon comes from a lower tier than the rest of the response, e.g. a declaration that omitted an icon. The icon never inherits the declaration's authority.
maxLength: 32 bytes
Known values: declared, borrowed, curated, generated
Whether records have ever been written under this exact namespace, or a schema published for it. Prefix inheritance means an invented namespace still resolves with its parent's icon, so this is how a consumer spots a typo. A hint, never a rejection: false can also mean declared-but-not-yet-used. Absent for actors, or when the check failed.
What actually answered: the namespace itself, a shorter prefix it inherits from, or -- for an actor -- their resolved handle.
maxLength: 317 bytes
No description available.
maxLength: 128 bytes
The namespace or identifier that was asked for.
maxLength: 317 bytes
Who chose this. 'declared': the namespace's lexicon authority, in a record. 'borrowed': the reverse-DNS domain's atproto account avatar, chosen for that account rather than for this namespace. 'curated': the responding service's own table. 'generated': nobody, a deterministic monogram.
maxLength: 32 bytes
Known values: declared, borrowed, curated, generated
What kind of thing answered. 'plyr.fm' and 'fm.plyr' are both well-formed inputs and mean entirely different things: an identity and a namespace.
maxLength: 16 bytes
Known values: namespace, actor
No description available.
maxLength: 8192 bytes
View raw schema
{
"type": "object",
"required": [
"subject",
"namespace",
"matched",
"source",
"icon"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"icon": {
"type": "string",
"maxLength": 8192,
"description": "URL for the icon: an https URL, or a data: URI when generated."
},
"name": {
"type": "string",
"maxLength": 128
},
"known": {
"type": "boolean",
"description": "Whether records have ever been written under this exact namespace, or a schema published for it. Prefix inheritance means an invented namespace still resolves with its parent's icon, so this is how a consumer spots a typo. A hint, never a rejection: false can also mean declared-but-not-yet-used. Absent for actors, or when the check failed."
},
"colors": {
"ref": "tech.waow.brand.defs#colors",
"type": "ref"
},
"source": {
"type": "string",
"maxLength": 32,
"description": "Who chose this. 'declared': the namespace's lexicon authority, in a record. 'borrowed': the reverse-DNS domain's atproto account avatar, chosen for that account rather than for this namespace. 'curated': the responding service's own table. 'generated': nobody, a deterministic monogram.",
"knownValues": [
"declared",
"borrowed",
"curated",
"generated"
]
},
"matched": {
"type": "string",
"maxLength": 317,
"description": "What actually answered: the namespace itself, a shorter prefix it inherits from, or -- for an actor -- their resolved handle."
},
"subject": {
"type": "string",
"maxLength": 16,
"description": "What kind of thing answered. 'plyr.fm' and 'fm.plyr' are both well-formed inputs and mean entirely different things: an identity and a namespace.",
"knownValues": [
"namespace",
"actor"
]
},
"wordmark": {
"type": "string",
"maxLength": 8192
},
"authority": {
"ref": "tech.waow.brand.defs#authority",
"type": "ref"
},
"namespace": {
"type": "string",
"maxLength": 317,
"description": "The namespace or identifier that was asked for."
},
"iconSource": {
"type": "string",
"maxLength": 32,
"description": "Present only when the icon comes from a lower tier than the rest of the response, e.g. a declaration that omitted an icon. The icon never inherits the declaration's authority.",
"knownValues": [
"declared",
"borrowed",
"curated",
"generated"
]
},
"description": {
"type": "string",
"maxLength": 512
}
},
"description": "Resolved brand assets for one namespace."
}
Brand colors as sRGB hex, '#rrggbb'. Shared by the declaration record and the views that render it.
Properties
No description available.
maxLength: 7 bytes
No description available.
maxLength: 7 bytes
No description available.
maxLength: 7 bytes
View raw schema
{
"type": "object",
"properties": {
"primary": {
"type": "string",
"maxLength": 7
},
"background": {
"type": "string",
"maxLength": 7
},
"foreground": {
"type": "string",
"maxLength": 7
}
},
"description": "Brand colors as sRGB hex, '#rrggbb'. Shared by the declaration record and the views that render it."
}