{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chemaxon/json-schema/chemaxon-registry-structure-schema.json",
  "title": "RegistryStructure",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chemaxon-compound-registration-openapi.yml#/components/schemas/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"
  ],
  "$defs": {
    "AdditionalData": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "value"
      ]
    },
    "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"
      ]
    },
    "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"
      ]
    }
  }
}