# fyi.opensocial.getSuggestedSite

> What a new group's site might start with, from its name and what it's for: its channels, their tabs, and looks of its own to choose from. Host-level, for whoever is starting a group. Empty when the host can't say.

- Kind: query
- 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.getSuggestedSite)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.getSuggestedSite/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.getSuggestedSite/analytics)

## Query (`fyi.opensocial.getSuggestedSite`)

Type: query · GET

### Parameters (query string)

- `description` (string)
  - Constraints: maxLength: 300
- `joinPolicy` (string): Who can join, as the group's profile will say it.
- `name` (string, required)
  - Constraints: maxLength: 64

### Output (application/json)

- `channels` (array, required): Beside its Welcome channel, which every site has.
  - `items` (ref)
    - Reference: `#channel`
- `looks` (array, required): Up to three, each in a different direction, best first. None when no look held up: the site starts with the host's.
  - `items` (ref)
    - Reference: `#look`

### Errors

- `RateLimitExceeded`: No description in schema.

## #channel (`fyi.opensocial.getSuggestedSite#channel`)

Type: object

### Properties

- `about` (string, required): What it's for, in a line.
- `name` (string, required)
- `tabs` (array, required)
  - `items` (ref)
    - Reference: `#tab`

## #look (`fyi.opensocial.getSuggestedSite#look`)

Type: object

### Properties

- `name` (string, required): The direction it's in: Night, Club colours.
- `theme` (ref, required)
  - Reference: `fyi.opensocial.site#theme`

## #tab (`fyi.opensocial.getSuggestedSite#tab`)

Type: object

### Properties

- `template` (string, required): A template the kit bundles, or one of the host's own kinds of tab.
- `title` (string, required)

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "channel": {
      "properties": {
        "about": {
          "description": "What it's for, in a line.",
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tabs": {
          "items": {
            "ref": "#tab",
            "type": "ref"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "about",
        "tabs"
      ],
      "type": "object"
    },
    "look": {
      "properties": {
        "name": {
          "description": "The direction it's in: Night, Club colours.",
          "type": "string"
        },
        "theme": {
          "ref": "fyi.opensocial.site#theme",
          "type": "ref"
        }
      },
      "required": [
        "name",
        "theme"
      ],
      "type": "object"
    },
    "main": {
      "description": "What a new group's site might start with, from its name and what it's for: its channels, their tabs, and looks of its own to choose from. Host-level, for whoever is starting a group. Empty when the host can't say.",
      "errors": [
        {
          "name": "RateLimitExceeded"
        }
      ],
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "channels": {
              "description": "Beside its Welcome channel, which every site has.",
              "items": {
                "ref": "#channel",
                "type": "ref"
              },
              "type": "array"
            },
            "looks": {
              "description": "Up to three, each in a different direction, best first. None when no look held up: the site starts with the host's.",
              "items": {
                "ref": "#look",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "channels",
            "looks"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "description": {
            "maxLength": 300,
            "type": "string"
          },
          "joinPolicy": {
            "description": "Who can join, as the group's profile will say it.",
            "type": "string"
          },
          "name": {
            "maxLength": 64,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "tab": {
      "properties": {
        "template": {
          "description": "A template the kit bundles, or one of the host's own kinds of tab.",
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "title",
        "template"
      ],
      "type": "object"
    }
  },
  "id": "fyi.opensocial.getSuggestedSite",
  "lexicon": 1
}
```
