{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/drupal-config.json",
  "additionalProperties": {
    "$ref": "#/definitions/configItem",
    "title": "Configuration item"
  },
  "definitions": {
    "configItem": {
      "type": "object",
      "properties": {
        "type": {
          "title": "The type of the value",
          "type": "string",
          "examples": [
            "boolean",
            "integer",
            "float",
            "string",
            "uri",
            "email",
            "mapping",
            "sequence",
            "label",
            "text",
            "config_object",
            "config_entity"
          ]
        },
        "label": {
          "title": "User interface label for the value",
          "type": "string"
        },
        "translatable": {
          "title": "Whether the defined type is translatable",
          "type": "boolean"
        },
        "translation context": {
          "title": "The translation context the source string belongs to",
          "type": "string"
        },
        "nullable": {
          "title": "Whether the value can be empty",
          "type": "boolean"
        },
        "requiredKey": {
          "title": "Whether the key is required",
          "type": "boolean"
        },
        "class": {
          "title": "The class implementing parsing",
          "type": "string"
        },
        "definition_class": {
          "title": "The definition class",
          "type": "string"
        },
        "orderby": {
          "title": "Determines how the sequence should be sorted",
          "type": "string"
        },
        "constraints": {
          "title": "Validation constrains",
          "type": "object"
        },
        "sequence": {
          "$ref": "#/definitions/configItem"
        },
        "mapping": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/configItem"
          }
        }
      },
      "additionalProperties": false
    }
  },
  "title": "JSON schema for Drupal configuration schema file",
  "type": "object"
}
