{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://portal.yesilveri.tr/standart/kades-json/v1.1.0/kades-belge.schema.json",
  "title": "kadesBelgeSemasi",
  "description": "KADES-JSON kades-belge şeması\n\nKOBİZON Proje Danışmanlık ve Yazılım Tic. Ltd. Şti. — Sürüm 1.1.0",
  "$ref": "#/definitions/kadesBelgeSemasi",
  "definitions": {
    "kadesBelgeSemasi": {
      "type": "object",
      "properties": {
        "belgeId": {
          "type": "string",
          "format": "uuid"
        },
        "dosyaAdi": {
          "type": "string",
          "minLength": 1,
          "maxLength": 300
        },
        "paketYolu": {
          "type": "string",
          "minLength": 1,
          "maxLength": 300,
          "pattern": "^[A-Za-z0-9._-]+(\\/[A-Za-z0-9._-]+)*$"
        },
        "icerikTuru": {
          "type": "string",
          "minLength": 3,
          "maxLength": 150
        },
        "boyutBayt": {
          "type": "integer",
          "minimum": 0
        },
        "ozetSha256": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        },
        "tur": {
          "type": "string",
          "enum": [
            "fatura",
            "olcum_kaydi",
            "servis_formu",
            "sozlesme",
            "sertifika",
            "diger"
          ]
        },
        "aciklama": {
          "type": "string",
          "minLength": 3,
          "maxLength": 500
        },
        "ilgiliSatirIdler": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "default": []
        }
      },
      "required": [
        "belgeId",
        "dosyaAdi",
        "paketYolu",
        "icerikTuru",
        "boyutBayt",
        "ozetSha256",
        "tur"
      ],
      "additionalProperties": false
    }
  }
}
