{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chemaxon/json-schema/chemaxon-audit-summary-schema.json",
  "title": "AuditSummary",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chemaxon-audit-api-openapi.yml#/components/schemas/AuditSummary",
  "type": "object",
  "properties": {
    "trees": {
      "$ref": "#/$defs/AuditTreeArray"
    },
    "amendmentId": {
      "type": "integer",
      "format": "int64"
    },
    "amendmentType": {
      "type": "string",
      "enum": [
        "MoveLot",
        "RenameLnbRef",
        "SwapLnbRef",
        "MoveMultipleLots",
        "MergeTrees",
        "UpdateStructure",
        "UpdateStructureMolfile",
        "ManualRegisterVersionFix",
        "ParentLevelAmendmentVersionFix",
        "VersionLevelAmendmentVersionFix",
        "LotLevelAmendmentVersionFix",
        "ParentLevelAmendment",
        "VersionLevelAmendment",
        "LotLevelAmendment",
        "InitialRegistration",
        "RestrictionCascadeOnRegistration",
        "RestrictionCascadeOnAmendment",
        "BulkRestrictionChange",
        "DeleteId",
        "UndeleteId",
        "UpdateAdditionalData",
        "BulkUpdateAdditionalData",
        "BulkMoveLots",
        "Rollback",
        "BulkUploadAdditionalData",
        "HardDelete"
      ]
    },
    "user": {
      "$ref": "#/$defs/BriefUser"
    },
    "creator": {
      "$ref": "#/$defs/BriefUser"
    },
    "amendmentDate": {
      "type": "string",
      "format": "int64",
      "description": "time in millis"
    }
  },
  "$defs": {
    "AuditData": {
      "type": "object",
      "properties": {
        "dataType": {
          "type": "string",
          "enum": [
            "CST",
            "MOLWEIGHT",
            "FORMULA",
            "RESTRICTED",
            "ADDITIONAL_DATA",
            "LNBREF",
            "SOURCE",
            "PROJECT",
            "HELM"
          ]
        },
        "initialValue": {
          "type": "string"
        },
        "finalValue": {
          "type": "string"
        }
      }
    },
    "AuditNode": {
      "type": "object",
      "properties": {
        "idType": {
          "type": "string",
          "enum": [
            "Lnb",
            "LN",
            "CN",
            "PCN",
            "LotId",
            "StructId",
            "Monomer"
          ]
        },
        "initialId": {
          "type": "string"
        },
        "finalId": {
          "type": "string"
        },
        "initialStructId": {
          "type": "integer",
          "format": "int64"
        },
        "finalStructId": {
          "type": "integer",
          "format": "int64"
        },
        "initialFp": {
          "type": "string"
        },
        "finalFp": {
          "type": "string"
        },
        "initialMolFile": {
          "type": "string"
        },
        "finalMolFile": {
          "type": "string"
        },
        "auditData": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AuditData"
          }
        },
        "initialStructIdInteger": {
          "type": "integer",
          "format": "int32",
          "writeOnly": true
        },
        "finalStructIdInteger": {
          "type": "integer",
          "format": "int32",
          "writeOnly": true
        }
      }
    },
    "AuditSubTree": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/AuditNode"
        },
        "subTrees": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AuditSubTree"
          }
        }
      }
    },
    "AuditTree": {
      "type": "object",
      "properties": {
        "rootTree": {
          "$ref": "#/$defs/AuditSubTree"
        }
      }
    },
    "AuditTreeArray": {
      "type": "object",
      "properties": {
        "trees": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AuditTree"
          }
        }
      }
    },
    "BriefUser": {
      "type": "object",
      "properties": {
        "userId": {
          "type": "integer",
          "format": "int32"
        },
        "displayName": {
          "type": "string"
        },
        "source": {
          "type": "string",
          "enum": [
            "DB",
            "AD",
            "LDAP",
            "SAMLSSO",
            "OAUTH2",
            "UNKNOWN"
          ]
        }
      }
    }
  }
}