{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/drupal-permissions.json",
  "additionalProperties": {
    "title": "Permission definition",
    "type": "object",
    "required": ["title"],
    "properties": {
      "title": {
        "title": "The human-readable name of the permission",
        "type": "string"
      },
      "description": {
        "title": "A description of what the permission does",
        "type": "string"
      },
      "restrict access": {
        "title": "Restrict access to this permission to trusted users",
        "description": "This should be used for permissions that have inherent security risks across a variety of potential use cases (for example, the \"administer filters\" and \"bypass node access\" permissions provided by Drupal core).",
        "type": "boolean"
      }
    },
    "additionalProperties": false
  },
  "properties": {
    "permission_callbacks": {
      "title": "List of permission callbacks",
      "type": "array",
      "items": {
        "title": "A callback that return array of permissions",
        "type": "string"
      },
      "uniqueItems": true
    }
  },
  "title": "JSON schema for Drupal permissions file",
  "type": "object"
}
