# dk.raakode.lab.groups.membership

> Published by [lexauthority.pds1.lab.raakode.dk](https://lexicon.garden/identity/did:plc:ck6ybqliyrt6irwzqflfhzdq)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ck6ybqliyrt6irwzqflfhzdq/dk.raakode.lab.groups.membership)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ck6ybqliyrt6irwzqflfhzdq/dk.raakode.lab.groups.membership/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ck6ybqliyrt6irwzqflfhzdq/dk.raakode.lab.groups.membership/examples)

## Definitions

### `dk.raakode.lab.groups.membership`

**Type**: `record`

A member's role in the group. Written by the group authority into its repo in the space, never held as app database state — this is what makes a role survive the group changing app. The simplespace member list governs access; this record governs what the member may do once inside.

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `role` | `string` | Yes | Roles are application-level: the protocol has no per-member write permissions (see docs/evidence/S06.md). |
| `subject` | `string` (did) | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "id": "dk.raakode.lab.groups.membership",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "subject",
          "role",
          "createdAt"
        ],
        "properties": {
          "role": {
            "type": "string",
            "description": "Roles are application-level: the protocol has no per-member write permissions (see docs/evidence/S06.md).",
            "knownValues": [
              "admin",
              "member"
            ]
          },
          "subject": {
            "type": "string",
            "format": "did"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          }
        }
      },
      "description": "A member's role in the group. Written by the group authority into its repo in the space, never held as app database state — this is what makes a role survive the group changing app. The simplespace member list governs access; this record governs what the member may do once inside."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
