{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Role",
  "description": "A custom role that can be used to assign set of permissions to members.",
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier of the role.",
      "type": "string",
      "example": "role_WZsm7QTPhVrompscmPhoGTXXcrd58fr9MOhP"
    },
    "name": {
      "description": "User-defined name of the role.",
      "type": "string",
      "example": "Senior Shop Manager II"
    },
    "description": {
      "description": "User-defined description of the role.",
      "type": "string",
      "example": "Manges the shop and the employees."
    },
    "permissions": {
      "description": "List of permission granted by this role.",
      "type": "array",
      "items": {
        "type": "string"
      },
      "example": [],
      "maxItems": 100
    },
    "is_predefined": {
      "description": "True if the role is provided by SumUp.",
      "type": "boolean",
      "example": true
    },
    "metadata": {
      "$ref": "#/components/schemas/Metadata"
    },
    "created_at": {
      "description": "The timestamp of when the role was created.",
      "type": "string",
      "format": "date-time",
      "example": "2023-01-20T15:16:17+00:00"
    },
    "updated_at": {
      "description": "The timestamp of when the role was last updated.",
      "type": "string",
      "format": "date-time",
      "example": "2023-01-20T15:16:17+00:00"
    }
  },
  "required": [
    "id",
    "name",
    "permissions",
    "is_predefined",
    "created_at",
    "updated_at"
  ]
}