fyi.atstore.listing.detail
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"link": {
"properties": {
"label": {
"description": "Optional human-readable label, especially useful when type is 'other'.",
"maxGraphemes": 50,
"maxLength": 100,
"type": "string"
},
"type": {
"description": "The kind of link.",
"knownValues": [
"privacy",
"terms",
"support",
"contact",
"docs",
"blog",
"changelog",
"source",
"status",
"other"
],
"maxLength": 32,
"type": "string"
},
"url": {
"description": "The destination URL.",
"format": "uri",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"main": {
"description": "Public protocol or app listing in the AT Store directory. Images are stored as repo blobs (Kitchen-style); the web app caches HTTPS URLs in Postgres separately.",
"key": "tid",
"record": {
"properties": {
"appTags": {
"items": {
"maxLength": 96,
"type": "string"
},
"maxLength": 64,
"type": "array"
},
"categorySlug": {
"description": "Browse category keys (e.g. protocol/pds). First entry is the primary category for legacy surfaces.",
"items": {
"maxLength": 256,
"type": "string"
},
"maxLength": 32,
"minLength": 1,
"type": "array"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"description": {
"maxLength": 20000,
"type": "string"
},
"externalUrl": {
"description": "Primary product or project URL.",
"format": "uri",
"maxLength": 2048,
"type": "string"
},
"heroImage": {
"accept": [
"image/png",
"image/jpeg",
"image/webp",
"image/gif",
"image/svg+xml"
],
"description": "Hero / cover image blob.",
"maxSize": 12000000,
"type": "blob"
},
"icon": {
"accept": [
"image/png",
"image/jpeg",
"image/webp",
"image/gif",
"image/svg+xml"
],
"description": "Square / app icon (uploaded to repo via com.atproto.repo.uploadBlob).",
"maxSize": 2000000,
"type": "blob"
},
"links": {
"description": "Relevant links for the app, including trust/compliance, support, and project resources.",
"items": {
"ref": "#link",
"type": "ref"
},
"maxLength": 12,
"type": "array"
},
"migratedFromAtUri": {
"description": "When this listing.detail record supersedes a prior record in another repo (e.g. moved from the AT Store publisher to a product owner PDS), the at:// URI of that prior fyi.atstore.listing.detail record.",
"format": "at-uri",
"maxLength": 8192,
"type": "string"
},
"name": {
"maxLength": 640,
"type": "string"
},
"productAccountDid": {
"description": "Bluesky DID for the product, app, or tool (not the AT Store publisher). Handle is resolved and stored in Postgres only.",
"maxLength": 2048,
"type": "string"
},
"screenshots": {
"items": {
"accept": [
"image/png",
"image/jpeg",
"image/webp",
"image/gif",
"image/svg+xml"
],
"maxSize": 12000000,
"type": "blob"
},
"maxLength": 20,
"type": "array"
},
"slug": {
"description": "Stable URL slug; unique within the publishing account.",
"maxLength": 512,
"minLength": 1,
"type": "string"
},
"tagline": {
"maxLength": 300,
"type": "string"
},
"updatedAt": {
"format": "datetime",
"type": "string"
}
},
"required": [
"slug",
"name",
"tagline",
"externalUrl",
"icon",
"categorySlug",
"createdAt",
"updatedAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "fyi.atstore.listing.detail",
"lexicon": 1
}
Metadata
- DID
-
did:plc:dvy6bdnofdfc4php4s5b457d - CID
-
bafyreib2rqlirrkjul37q5jvt2xzgdrj57pyxii4tdj3sb5rtysrtgluwm - Indexed At
- 2026-05-02 04:06 UTC
- AT-URI
-
at://did:plc:dvy6bdnofdfc4php4s5b457d/com.atproto.lexicon.schema/fyi.atstore.listing.detail
Version History (6 versions)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Fetch one public verified listing. Provide exactly one of `uri` (fyi.atstore.listing.detail AT URI) or `externalUrl` (unique storefront URL); `externalUrl` uses the same matching rules as the former resolve endpoint.
-
community.lexicon.app.entry record
A third-party or community listing for an app built on or for the AT Protocol.
-
fyi.atstore.profile record
AT Store app profile for discovery and TAP ingestion (Kitchen-style).
-
The canonical self-published profile for an app built on or for the AT Protocol.
-
A user or project profile in the Atmosphere registry. Created by the account owner on their PDS; one record per account. Reviews, ratings, moderation, and other social data live in sibling com.atmosphereaccount.registry…