{
"id": "support.supper.membership.program",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"mode",
"program",
"createdAt"
],
"properties": {
"mode": {
"type": "string",
"maxLength": 32,
"description": "Public membership mode for this Supper page.",
"knownValues": [
"monthly-tips",
"tiers",
"off"
]
},
"terms": {
"type": "string",
"maxLength": 40000,
"description": "Public membership terms, refund expectations, and cancellation notes.",
"maxGraphemes": 4000
},
"program": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "The app-neutral money.atmosphere.membership.program record this Supper sidecar presents. Resolve its optional canonical product there, then resolve recurring prices through that product."
},
"archived": {
"type": "boolean",
"description": "Whether this membership program is no longer presented for new supporters."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When this public membership program record was created."
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "When this public membership program record was last updated."
}
}
},
"description": "A public Supper membership sidecar for a creator or project. The portable membership identity lives in money.atmosphere.membership.program; payment state is represented by attested recurring payment records. Private member data stays off public records; member-only content may be written as permissioned PDS records when supported."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}