{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "A unique identifier for the reminder"
    },
    "description": {
      "type": "string",
      "description": "An optional description of the reminder",
      "nullable": true
    },
    "title": {
      "type": "string",
      "description": "The title of the reminder"
    },
    "body": {
      "type": "string",
      "description": "The body content of the reminder"
    },
    "labels": {
      "type": "array",
      "description": "An optional array of labels for the reminder",
      "items": {
        "type": "string"
      },
      "uniqueItems": true,
      "default": []
    },
    "schedule": {
      "oneOf": [
        {
          "type": "string",
          "description": "A single RRULE schedule for the reminder"
        },
        {
          "type": "array",
          "description": "Multiple RRULE schedules for the reminder",
          "items": {
            "type": "string"
          },
          "uniqueItems": true
        }
      ]
    },
    "repositories": {
      "type": "array",
      "description": "A list of repositories where the reminder should be created",
      "items": {
        "type": "string"
      },
      "uniqueItems": true,        
        "minItems": 1
      }
    },
  "additionalProperties": false,    
  "required": ["schedule", "title", "body", "repositories"]
}
