# settings_schema.json

> settings_schema.json controls the Theme settings area of the Shoplazza theme editor. Learn its array-of-categories schema and the attributes each setting needs.

The `settings_schema.json` file controls the organization and content of the **Theme settings** area of the theme editor. All setting selections in the theme editor are saved in the [settings\_data.json](./settings-data-json).

## Location

The `settings_schema.json` file is located in the `config` directory of the theme:

```text title="Directory"
└── theme
    ...
    ├── config
        ├── settings_data.json
        ├── settings_presets.json
        └── settings_schema.json
    └── locales
```

## Schema

The `settings_schema.json` file is an array of objects that represent setting categories. Each object needs to have the following attributes:

| Attribute  | Description                                          | Required |
| :--------- | :--------------------------------------------------- | :------- |
| `name`     | The name of the category of settings.                | Yes      |
| `settings` | An array of associated [settings](/docs/theme/architecture/settings/overview). | Yes      |

The `settings_schema.json` file should follow the following basic format:

```json title="/config/settings_schema.json"
[
  {
    "name": {
      "en-US": "Colors",
      "zh-CN": "颜色"
    },
    "settings": [
      ...
    ]
  },
  ...
]
```

The `settings_schema.json` file is a JSON file, so all content must be valid JSON. Additionally, make sure you follow the appropriate syntax for your desired setting.

## Usage

When working with the `settings_schema.json` file, familiarize yourself with the following:

* [Setting types](./settings-schema-json#setting-types)
* [Access settings](./settings-schema-json#access-settings)

### Setting types

There are two categories of settings:

| Category                                                | Description                                                                                                                                                                    |
| :------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Input settings](../settings/input-settings)     | Settings that can hold a value, and are configurable by app users.                                                                                                             |
| [Sidebar settings](../settings/sidebar-settings) | Settings that can’t hold a value, and aren’t configurable by app users. They’re informational elements that can be used to provide detail and clarity for your input settings. |

### Access settings

The theme settings can be accessed through the [settings object](/docs/theme/references/liquid/objects/settings). To learn more about the syntax and considerations, refer to [Access settings](/docs/theme/architecture/settings/overview#access-settings).
