# support.supper.membership.program

> Published by [supper.support](https://lexicon.garden/identity/did:plc:mcsqdltevtjpu26xthzzmm2l)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:mcsqdltevtjpu26xthzzmm2l/support.supper.membership.program)
- [Documentation](https://lexicon.garden/lexicon/did:plc:mcsqdltevtjpu26xthzzmm2l/support.supper.membership.program/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:mcsqdltevtjpu26xthzzmm2l/support.supper.membership.program/examples)

## Definitions

### `support.supper.membership.program`

**Type**: `record`

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.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `mode` | `string` | Yes | Public membership mode for this Supper page. |
| `terms` | `string` | No | Public membership terms, refund expectations, and cancellation notes. |
| `program` | `ref` → `com.atproto.repo.strongRef` | Yes | 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` | `boolean` | No | Whether this membership program is no longer presented for new supporters. |
| `createdAt` | `string` (datetime) | Yes | When this public membership program record was created. |
| `updatedAt` | `string` (datetime) | No | When this public membership program record was last updated. |

## Raw Schema

```json
{
  "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
}
```
