# site.exosphere.sphere.permissions

> Published by [exosphere.site](https://lexicon.garden/identity/did:plc:tztfs5zp6b4feo4u64adfvmq)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:tztfs5zp6b4feo4u64adfvmq/site.exosphere.sphere.permissions)
- [Documentation](https://lexicon.garden/lexicon/did:plc:tztfs5zp6b4feo4u64adfvmq/site.exosphere.sphere.permissions/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:tztfs5zp6b4feo4u64adfvmq/site.exosphere.sphere.permissions/examples)

## Definitions

### `site.exosphere.sphere.permissions`

**Type**: `record`

Permission overrides for core Sphere actions (member management, module management, permission configuration). Published on the Sphere owner's PDS. Only non-default roles need to be specified — absent keys use the built-in defaults.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `enableModule` | `ref` → `#role` | No | Minimum role to enable modules. |
| `inviteMember` | `ref` → `#role` | No | Minimum role to invite members. |
| `revokeMember` | `ref` → `#role` | No | Minimum role to revoke members. |
| `disableModule` | `ref` → `#role` | No | Minimum role to disable modules. |
| `updateMemberRole` | `ref` → `#role` | No | Minimum role to change member roles. |
| `updatePermissions` | `ref` → `#role` | No | Minimum role to update permissions. |

### `site.exosphere.sphere.permissions#role`

**Type**: `string`

Minimum role required to perform a core sphere action.

**Known Values**:
- `owner`
- `admin`

**Constraints**: maxLength: 64

## Raw Schema

```json
{
  "id": "site.exosphere.sphere.permissions",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "properties": {
          "enableModule": {
            "ref": "#role",
            "type": "ref",
            "description": "Minimum role to enable modules."
          },
          "inviteMember": {
            "ref": "#role",
            "type": "ref",
            "description": "Minimum role to invite members."
          },
          "revokeMember": {
            "ref": "#role",
            "type": "ref",
            "description": "Minimum role to revoke members."
          },
          "disableModule": {
            "ref": "#role",
            "type": "ref",
            "description": "Minimum role to disable modules."
          },
          "updateMemberRole": {
            "ref": "#role",
            "type": "ref",
            "description": "Minimum role to change member roles."
          },
          "updatePermissions": {
            "ref": "#role",
            "type": "ref",
            "description": "Minimum role to update permissions."
          }
        }
      },
      "description": "Permission overrides for core Sphere actions (member management, module management, permission configuration). Published on the Sphere owner's PDS. Only non-default roles need to be specified — absent keys use the built-in defaults."
    },
    "role": {
      "type": "string",
      "maxLength": 64,
      "description": "Minimum role required to perform a core sphere action.",
      "knownValues": [
        "owner",
        "admin"
      ]
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
