# fyi.opensocial.configure

> For group-DID sessions.

- Kind: permission-set
- Authority: opensocial.fyi
- Lexicon: 1
- Published by [lexicons.opensocial.fyi](https://lexicon.garden/identity/did:plc:2gqnilpksz2e7faj3bwvo6qc), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.configure)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.configure/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.configure/analytics)

## Permission set (`fyi.opensocial.configure`)

Type: permission-set

### Shown at sign-in

- `title` (string): Group settings
- `detail` (string): Edit the group's profile, rules, and roles, and decide what each role can do.

### Permissions

- `space` (permission): Read, create, update and delete fyi.opensocial.profile, fyi.opensocial.rule and fyi.opensocial.labeler records in the space self among your own fyi.opensocial.meta spaces. From the Atproto Spaces proposal (0016); servers without it ignore space permissions.
  - Constraints: authority: self, skey: self, collection: fyi.opensocial.profile, fyi.opensocial.rule, fyi.opensocial.labeler, action: read, create, update, delete
  - Space type: `fyi.opensocial.meta`
- `space` (permission): Read, create, update and delete fyi.opensocial.role and fyi.opensocial.permissions records in the space self among your own fyi.opensocial.members spaces. From the Atproto Spaces proposal (0016); servers without it ignore space permissions.
  - Constraints: authority: self, skey: self, collection: fyi.opensocial.role, fyi.opensocial.permissions, action: read, create, update, delete
  - Space type: `fyi.opensocial.members`

### Asking for it (OAuth scope)

- `include:fyi.opensocial.configure` (scope): A client asks for this permission set with this scope. The scope builder lists what the set grants.
  - Scope builder: `Open in the scope builder`

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "For group-DID sessions.",
      "detail": "Edit the group's profile, rules, and roles, and decide what each role can do.",
      "permissions": [
        {
          "action": [
            "read",
            "create",
            "update",
            "delete"
          ],
          "authority": "self",
          "collection": [
            "fyi.opensocial.profile",
            "fyi.opensocial.rule",
            "fyi.opensocial.labeler"
          ],
          "resource": "space",
          "skey": "self",
          "spaceType": "fyi.opensocial.meta",
          "type": "permission"
        },
        {
          "action": [
            "read",
            "create",
            "update",
            "delete"
          ],
          "authority": "self",
          "collection": [
            "fyi.opensocial.role",
            "fyi.opensocial.permissions"
          ],
          "resource": "space",
          "skey": "self",
          "spaceType": "fyi.opensocial.members",
          "type": "permission"
        }
      ],
      "title": "Group settings",
      "type": "permission-set"
    }
  },
  "id": "fyi.opensocial.configure",
  "lexicon": 1
}
```
