{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://nandarona.com/characters/v2/schema.json",
  "title": "Nandarona character profile",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "familyId",
    "name",
    "nameJa",
    "verb",
    "question",
    "role",
    "summary",
    "silhouette",
    "motif",
    "recommendedUses",
    "avoid",
    "states",
    "image",
    "version"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[a-z][a-z0-9-]+$"
    },
    "familyId": {
      "enum": [
        "observers",
        "kakera"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 2
    },
    "nameJa": {
      "type": "string",
      "minLength": 2
    },
    "verb": {
      "type": "string",
      "minLength": 2
    },
    "question": {
      "type": "string",
      "minLength": 6
    },
    "role": {
      "type": "string",
      "minLength": 3
    },
    "summary": {
      "type": "string",
      "minLength": 8
    },
    "silhouette": {
      "type": "string",
      "minLength": 4
    },
    "motif": {
      "type": "string",
      "minLength": 3
    },
    "recommendedUses": {
      "type": "array",
      "minItems": 3,
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    },
    "avoid": {
      "type": "array",
      "minItems": 3,
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    },
    "states": {
      "type": "array",
      "minItems": 6,
      "uniqueItems": true,
      "items": {
        "type": "string",
        "pattern": "^[a-z0-9-]+$"
      }
    },
    "image": {
      "type": "string",
      "pattern": "^/characters/"
    },
    "version": {
      "type": "string",
      "pattern": "^\\d+\\.\\d+\\.\\d+$"
    }
  }
}
