{
"id": "support.supper.discover.listPages",
"defs": {
"main": {
"type": "query",
"output": {
"schema": {
"type": "object",
"required": [
"pages"
],
"properties": {
"pages": {
"type": "array",
"items": {
"ref": "#pageView",
"type": "ref"
}
},
"cursor": {
"type": "string",
"maxLength": 4096
}
}
},
"encoding": "application/json"
},
"parameters": {
"type": "params",
"properties": {
"q": {
"type": "string",
"maxLength": 80,
"description": "Optional case-insensitive substring matched against the page slug."
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"description": "Opaque cursor from a previous response."
},
"pageType": {
"type": "string",
"maxLength": 32,
"description": "Optional page-type filter.",
"knownValues": [
"creator",
"project",
"supporter"
]
}
}
},
"description": "Discover canonical indexed Supper pages: first-writer-wins support.supper.actor.profile markers across all repos, optionally filtered by page type or a slug substring. Non-canonical collision claims are omitted. Also answers 'does this DID/slug have a Supper page'. Public read; outputs carry only public profile fields, never private metadata or processor identifiers."
},
"pageView": {
"type": "object",
"required": [
"uri",
"cid",
"did",
"pageType",
"slug",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "CID of the exact profile record generation returned in this view."
},
"did": {
"type": "string",
"format": "did",
"description": "Owner DID of the Supper page."
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the indexed support.supper.actor.profile record."
},
"slug": {
"type": "string",
"maxLength": 253,
"description": "Canonical supper.support page slug bound to this DID (first-writer-wins)."
},
"pageMode": {
"type": "string",
"maxLength": 32,
"knownValues": [
"support",
"shop",
"both"
]
},
"pageType": {
"type": "string",
"maxLength": 32,
"knownValues": [
"creator",
"project",
"supporter"
]
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"indexedAt": {
"type": "string",
"format": "datetime",
"description": "When the AppView indexed this record."
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}