{
"id": "support.supper.commerce.listListings",
"defs": {
"main": {
"type": "query",
"output": {
"schema": {
"type": "object",
"required": [
"listings"
],
"properties": {
"cursor": {
"type": "string",
"maxLength": 4096
},
"listings": {
"type": "array",
"items": {
"refs": [
"#membershipView",
"#tierView",
"#commissionView"
],
"type": "union",
"closed": false
}
}
}
},
"encoding": "application/json"
},
"parameters": {
"type": "params",
"required": [
"creator"
],
"properties": {
"kind": {
"type": "string",
"maxLength": 32,
"description": "Optional filter restricting results to a single listing kind.",
"knownValues": [
"membership",
"tier",
"commission"
]
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"maxLength": 4096,
"description": "Opaque cursor from a previous response."
},
"creator": {
"type": "string",
"format": "did",
"description": "DID of the creator whose public commerce records to list."
},
"includeArchived": {
"type": "boolean",
"default": false,
"description": "When true, include archived listings. Defaults to false."
}
}
},
"description": "List a creator's public Supper commerce records across repos: support.supper.membership.program programs, support.supper.membership.tier sidecars, and support.supper.commission offers. Only records authored by the named creator's own repo (creatorVerified) are returned. Public read; membership outputs carry their portable ATM program or tier identity and Supper presentation fields, while catalog product and price data resolve through those ATM records. Outputs never carry processor ids, member lists, or private inventory counts."
},
"tierView": {
"type": "object",
"required": [
"uri",
"cid",
"creator",
"membership",
"membershipTier",
"archived",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "CID of the exact membership-tier record generation returned in this view."
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the indexed support.supper.membership.tier record."
},
"creator": {
"type": "string",
"format": "did"
},
"archived": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"indexedAt": {
"type": "string",
"format": "datetime",
"description": "When the AppView indexed this record."
},
"badgeLabel": {
"type": "string",
"maxLength": 800,
"description": "Public badge label only. Badge ownership is verified from active recurring payment state, not by this display field.",
"maxGraphemes": 80
},
"membership": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "The parent support.supper.membership.program record."
},
"membershipTier": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "App-neutral money.atmosphere.membership.tier strongRef from the creator's repo."
}
}
},
"commissionView": {
"type": "object",
"required": [
"uri",
"cid",
"creator",
"product",
"archived",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "CID of the exact commission record generation returned in this view."
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the indexed support.supper.commission record."
},
"kind": {
"type": "string",
"maxLength": 32,
"knownValues": [
"digital",
"physical",
"service"
]
},
"creator": {
"type": "string",
"format": "did",
"description": "Author repo DID; commissions are creator-owned."
},
"product": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "Canonical money.atmosphere.product strongRef. Resolve title, description, image, currency, and prices through this record."
},
"archived": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"indexedAt": {
"type": "string",
"format": "datetime",
"description": "When the AppView indexed this record."
},
"publishAt": {
"type": "string",
"format": "datetime"
},
"slotLimit": {
"type": "integer",
"minimum": 0,
"description": "Public per-commission open-request cap hint. NOT scarce-inventory truth; the AppView never enforces availability."
},
"accessAudience": {
"type": "string",
"maxLength": 32,
"knownValues": [
"everyone",
"monthly-supporters"
]
}
}
},
"membershipView": {
"type": "object",
"required": [
"uri",
"cid",
"creator",
"program",
"archived",
"indexedAt"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "CID of the exact membership record generation returned in this view."
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the indexed support.supper.membership.program record."
},
"mode": {
"type": "string",
"maxLength": 32,
"knownValues": [
"monthly-tips",
"tiers",
"off"
]
},
"creator": {
"type": "string",
"format": "did"
},
"program": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "App-neutral money.atmosphere.membership.program strongRef from the creator's repo."
},
"archived": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"indexedAt": {
"type": "string",
"format": "datetime",
"description": "When the AppView indexed this record."
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}