{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chemaxon/json-schema/chemaxon-validate-auto-registration-request-schema.json",
  "title": "ValidateAutoRegistrationRequest",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chemaxon-compound-registration-openapi.yml#/components/schemas/ValidateAutoRegistrationRequest",
  "type": "object",
  "properties": {
    "lnbRef": {
      "type": "string",
      "description": "LnbRef"
    },
    "lotId": {
      "type": "integer",
      "format": "int64",
      "description": "LotId"
    },
    "rejectDuplicatedIds": {
      "type": "boolean",
      "description": "Configuration to rejectDuplicateIds"
    },
    "userId": {
      "type": "string",
      "description": "The userId who started the procedure"
    },
    "source": {
      "type": "string",
      "description": "Amended source"
    },
    "structure": {
      "$ref": "#/$defs/RegistryStructure",
      "description": "Submitted structure"
    },
    "analyzeSaltFragments": {
      "type": "boolean",
      "description": "Configuration to analyzeSaltFragments"
    },
    "qualityChecking": {
      "type": "boolean",
      "description": "Configuration to qualityChecking"
    },
    "stereoCommentChecking": {
      "type": "boolean",
      "description": "Configuration to stereoCommentChecking"
    },
    "checkers": {
      "type": "array",
      "description": "Structure checkers of the registration",
      "items": {
        "$ref": "#/$defs/StructureCheckerSwitcher"
      }
    }
  },
  "required": [
    "analyzeSaltFragments",
    "checkers",
    "lnbRef",
    "lotId",
    "qualityChecking",
    "rejectDuplicatedIds",
    "source",
    "stereoCommentChecking",
    "structure",
    "userId"
  ],
  "$defs": {
    "AdditionalData": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "value"
      ]
    },
    "FixerItem": {
      "type": "object",
      "properties": {
        "fixerClassName": {
          "type": "string"
        },
        "fixerName": {
          "type": "string"
        }
      }
    },
    "RegistryComponent": {
      "type": "object",
      "properties": {
        "compId": {
          "type": "string",
          "description": "ID of the component structure if it already exists"
        },
        "molfile": {
          "type": "string",
          "description": "Representation of the compound in any format supported by JChem"
        },
        "helm": {
          "type": "string",
          "description": "Representation of the macromolecule compound in HELM format"
        },
        "range": {
          "type": "string",
          "description": "Component range in case of Mixture structure type"
        },
        "percentage": {
          "type": "number",
          "format": "float",
          "description": "Exact component percentage in case of Formulation structure type"
        },
        "cst": {
          "type": "string",
          "description": "Chemically Significant Text (CST)"
        },
        "structureId": {
          "type": "integer",
          "format": "int64",
          "description": "Structure ID"
        },
        "unknownId": {
          "type": "integer",
          "format": "int32",
          "description": "Unknown ID"
        },
        "creatorId": {
          "type": "string",
          "deprecated": true,
          "description": "The user who started the registration procedure"
        }
      },
      "required": [
        "compId",
        "molfile"
      ]
    },
    "RegistryStructure": {
      "type": "object",
      "properties": {
        "structureMolfile": {
          "type": "string",
          "description": "In the response object it contains the structure to be displayed"
        },
        "source": {
          "type": "string",
          "description": "Source"
        },
        "multiplicity": {
          "type": "integer",
          "format": "int32",
          "description": "Parent multiplicity when a salt or solvate is added"
        },
        "unknownId": {
          "type": "integer",
          "format": "int32",
          "description": "Unknown ID"
        },
        "restricted": {
          "type": "integer",
          "format": "int32",
          "description": "Restriction Level"
        },
        "cst": {
          "type": "string",
          "description": "Chemically Significant Text (CST)"
        },
        "components": {
          "type": "array",
          "description": "In case of a Multi-Component Compound it contains the list of components, otherwise it contains only the single structure",
          "items": {
            "$ref": "#/$defs/RegistryComponent"
          }
        },
        "saltsAndSolvates": {
          "type": "array",
          "description": "Salts and Solvates",
          "items": {
            "$ref": "#/$defs/SaltSolvate"
          }
        },
        "mwt": {
          "type": "number",
          "description": "Molecular Weight (used only in response)"
        },
        "overridedMwt": {
          "type": "number",
          "description": "Specified Molecular Weight"
        },
        "mf": {
          "type": "string",
          "description": "Molecular Formula (used only in response)"
        },
        "structureType": {
          "type": "string",
          "description": "Structure Type",
          "enum": [
            "SINGLE",
            "MIXTURE",
            "FORMULATION",
            "ISOMER",
            "MARKUSH",
            "ALTERNATE",
            "POLYMER",
            "NO_STRUCTURE",
            "PEPTIDE"
          ]
        },
        "uniqueStructureId": {
          "type": "string",
          "description": "A unique identifier of the structure comprised of the structure's internal ID and the Version Fingerprint (used only in response)"
        },
        "additionalData": {
          "type": "array",
          "description": "Additional Data",
          "items": {
            "$ref": "#/$defs/AdditionalData"
          }
        },
        "creatorId": {
          "type": "string",
          "deprecated": true,
          "description": "The user who started the registration procedure."
        },
        "errorStructure": {
          "type": "string"
        },
        "helm": {
          "type": "string",
          "description": "Representation of the macromolecule compound in HELM format",
          "readOnly": true
        }
      },
      "required": [
        "components",
        "multiplicity",
        "source",
        "structureType"
      ]
    },
    "SaltSolvate": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "description": "Salt ID"
        },
        "multiplicity": {
          "type": "number",
          "format": "double",
          "description": "Salt multiplicity"
        },
        "isSalt": {
          "type": "boolean",
          "description": "True in case of salt, false in case of solvate"
        },
        "name": {
          "type": "string",
          "description": "Salts and Solvates"
        }
      },
      "required": [
        "id",
        "isSalt",
        "multiplicity",
        "name"
      ]
    },
    "StructureCheckerItem": {
      "type": "object",
      "properties": {
        "structureCheckerId": {
          "type": "string"
        },
        "structureCheckerName": {
          "type": "string"
        }
      }
    },
    "StructureCheckerSwitcher": {
      "type": "object",
      "properties": {
        "structureChecker": {
          "$ref": "#/$defs/StructureCheckerItem"
        },
        "fixMode": {
          "type": "string",
          "enum": [
            "ASK",
            "FIX",
            "DO_NOT_FIX"
          ]
        },
        "fixer": {
          "$ref": "#/$defs/FixerItem"
        },
        "fixerOptions": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/FixerItem"
          }
        }
      }
    }
  }
}