{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chemaxon/json-schema/chemaxon-elemental-analysis-calculators-structure-request-schema.json",
  "title": "ElementalAnalysisCalculatorsStructureRequest",
  "description": "Json structure that contains the structure and the needed operations.",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chemaxon-calculations-openapi.yml#/components/schemas/ElementalAnalysisCalculatorsStructureRequest",
  "properties": {
    "countAtoms": {
      "type": "array",
      "description": "list all atom numbers that should be counted",
      "items": {
        "type": "integer",
        "format": "int32"
      }
    },
    "countIsotopes": {
      "type": "array",
      "description": "list all atom numbe - isotope pairs that should be counted",
      "items": {
        "$ref": "#/$defs/AtomNumberIsotopePair"
      }
    },
    "inputFormat": {
      "type": "string",
      "description": "The input format. It can be \"formula\", and then you can specify the molecular formula at the structure field."
    },
    "operations": {
      "type": "string",
      "description": "Comma separated list of operations. null or empty means all operation. Available operations:\n* mass: average molecular mass calculated from the standard atomic weights,\n* exactMass: monoisotopic mass calculated from the weights of the most abundant natural isotopes of the elements,\n* formula: chemical formula of the molecule according to the Hill system,\n* formalChargeFormula: chemical formula of the molecule including the formal charge according to the Hill system,\n* isotopeFormula: chemical formula of the molecule listing isotopes separately according to the Hill system,\n* isotopeFormalChargeFormula: chemical formula of the molecule listing isotopes separately and including the formal charge according to the Hill system,\n* dotDisconnectedFormula:  chemical formula of the molecule(s) separating fragment formulas by dots (e.g. salts, counterions, solvent molecules etc. are present),\n* dotDisconnectedFormalChargeFormula:  chemical formula of the molecule(s) separating fragment formulas by dots and including the formal charge (e.g. salts, counterions, solvent molecules etc. are present),\n* dotDisconnectedIsotopeFormula: chemical formula of the molecule separating fragment formulas by dots and listing isotopes separately,\n* dotDisconnectedIsotopeFormalChargeFormula: chemical formula of the molecule separating fragment formulas by dots, listing isotopes separately and including the formal charge,\n* groupedDotDisconnectedFormula: the grouped dot-disconnected molecular formula of a multifragment molecule,\n* composition: elemental composition given in weight percentage (w/w %) calculated from the atomic masses,\n* isotopeComposition: elemental composition listing isotopes separately (w/w %),\n* isotopeDistribution: the isotopic distributions for the molecule (the distribution of fragments are merged, it takes charge into account),\n* allAtomCount: number of all atoms in the molecule,\n* heavyAtomCount: number of non-hydrogen atoms in the molecule,\n* countAtoms: number of the specified atom in the molecule,\n* countIsotopes: number of the specified isotope in the molecule."
    },
    "structure": {
      "type": "string",
      "description": "The molecule string or molecular formula if \"formula\" is specified as the \"inputFormat\"."
    },
    "symbolID": {
      "type": "boolean",
      "default": true,
      "description": "If set to false, isotopes of hydrogen are displayed in formulas as 2H and 3H, if true, D and T symbols are used."
    }
  },
  "required": [
    "inputFormat",
    "structure"
  ],
  "$defs": {
    "AtomNumberIsotopePair": {
      "properties": {
        "atomNumber": {
          "type": "integer",
          "format": "int32",
          "description": "the atom number"
        },
        "isotopeNumber": {
          "type": "integer",
          "format": "int32",
          "description": "the isotope number"
        }
      }
    }
  }
}