{"openapi":"3.1.0","info":{"title":"NMR Kit","description":"\n## NMR Kit API\n\nA Python-based microservice for **storing**, **parsing**, **converting**, and\n**predicting** NMR (Nuclear Magnetic Resonance) spectra.\n\n### Modules\n\n| Module | Description |\n|--------|-------------|\n| **Chemistry** | Generate HOSE codes, label atoms via ALATIS |\n| **Spectra** | Parse NMR spectra from files or URLs |\n| **Converter** | Convert NMR raw data to NMRium JSON |\n| **Predict** | Predict NMR spectra using nmrdb.org or nmrshift engines |\n| **Registration** | Register and query molecules via lwreg |\n\n### Links\n\n* [Documentation](https://nfdi4chem.github.io/nmrkit)\n* [API Reference (Scalar)](https://dev.nmrkit.nmrxiv.org/latest/docs)\n* [Source Code](https://github.com/NFDI4Chem/nmrkit)\n","version":"1"},"servers":[{"url":"/latest"}],"paths":{"/registration/init":{"post":{"tags":["registration","registration"],"summary":"Initialize the registration database","description":"Initialize (or re-initialize) the molecule registration database. **Warning:** This operation destroys all existing data in the registration database. Set `confirm` to `true` to proceed.","operationId":"initialise_database_registration_init_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_initialise_database_registration_init_post"}}}},"responses":{"200":{"description":"Database initialized successfully","content":{"application/json":{"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Response Initialise Database Registration Init Post"},"example":true}}},"404":{"description":"Not Found"},"500":{"description":"Internal server error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registration/register":{"post":{"tags":["registration","registration"],"summary":"Register new molecules","description":"Register one or more molecules in the database. Accepts SMILES strings (one per line) or an SDF block as plain text. Returns the new registry numbers (molregnos) for successfully registered molecules.\n\nDuplicate molecules are flagged as `DUPLICATE` and parse failures as `PARSE_FAILURE` in the response array.","operationId":"register_compounds_registration_register_post","requestBody":{"content":{"text/plain":{"schema":{"type":"string","title":"Data","description":"Molecular data as plain text. Provide either SMILES strings (one per line) or an SDF block (containing $$$$ delimiters).","default":"CCCC"},"examples":{"smiles":{"summary":"SMILES input","description":"One or more SMILES strings, one per line","value":"CCCC\nCCCCO\nc1ccccc1"},"sdf":{"summary":"SDF block","description":"An SDF block with $$$$ delimiters","value":"\n  Mrv2311 08092305412D\n\n  3  2  0  0  0  0            999 V2000\n   -0.4018    0.6926    0.0000 C   0  0  0  0  0  0\n    0.3127    1.1051    0.0000 C   0  0  0  0  0  0\n    1.0272    0.6926    0.0000 O   0  0  0  0  0  0\n  1  2  1  0  0  0  0\n  2  3  1  0  0  0  0\nM  END\n$$$$"}}}}},"responses":{"200":{"description":"Molecules registered successfully","content":{"application/json":{"schema":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Response Register Compounds Registration Register Post"},"example":[1,"DUPLICATE",3]}}},"404":{"description":"Not Found"},"500":{"description":"Internal server error"},"422":{"description":"Registration failed — all entries are duplicates or unparseable"}}}},"/registration/query":{"get":{"tags":["registration","registration"],"summary":"Query if a molecule is already registered","description":"Check whether a molecule (given as a SMILES string) has already been registered in the database. Returns the corresponding registry numbers (molregnos) if found.","operationId":"query_compounds_registration_query_get","parameters":[{"name":"smi","in":"query","required":true,"schema":{"type":"string","description":"SMILES string of the molecule to query","examples":["CCCC","c1ccccc1","CCO"],"title":"Smi"},"description":"SMILES string of the molecule to query"}],"responses":{"200":{"description":"Query completed successfully","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer"},"title":"Response Query Compounds Registration Query Get"},"example":[42,108]}}},"404":{"description":"Not Found"},"500":{"description":"Internal server error during query"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registration/retrieve":{"post":{"tags":["registration","registration"],"summary":"Retrieve registered molecules by ID","description":"Retrieve one or more registered molecules by their registry IDs (molregnos). Returns the molecular data and format for each requested ID.","operationId":"retrieve_compounds_registration_retrieve_post","requestBody":{"content":{"application/json":{"schema":{"items":{"type":"integer"},"type":"array","title":"Ids","description":"List of registry IDs (molregnos) to retrieve","examples":[[1,2,3]]}}},"required":true},"responses":{"200":{"description":"Successfully retrieved molecule data","content":{"application/json":{"schema":{},"example":[[1,"CCCC","smiles"],[2,"CCO","smiles"]]}}},"404":{"description":"Not Found"},"500":{"description":"Internal server error during retrieval"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chem/hosecode":{"get":{"tags":["chem","chem"],"summary":"Generate HOSE codes for a molecule","description":"Generate **Hierarchically Ordered Spherical Environment (HOSE)** codes for every atom in the given molecule. HOSE codes encode the local chemical environment around each atom up to a configurable number of spheres.\n\nSupports two cheminformatics frameworks:\n- **CDK** (Chemistry Development Kit) — default, supports stereo\n- **RDKit** — alternative implementation","operationId":"HOSE_Codes_chem_hosecode_get","parameters":[{"name":"smiles","in":"query","required":true,"schema":{"type":"string","description":"SMILES string representing the molecular structure","examples":["CCCC1CC1","c1ccccc1","CC(=O)O","CCO","C1CCCCC1","CC(=O)Oc1ccccc1C(=O)O"],"title":"Smiles"},"description":"SMILES string representing the molecular structure","example":"CCCC1CC1"},{"name":"framework","in":"query","required":false,"schema":{"type":"string","description":"Cheminformatics framework to use for HOSE code generation","enum":["cdk","rdkit"],"default":"cdk","title":"Framework"},"description":"Cheminformatics framework to use for HOSE code generation"},{"name":"spheres","in":"query","required":false,"schema":{"type":"integer","maximum":10,"minimum":1,"description":"Number of spheres (bond distance) to consider around each atom","default":3,"title":"Spheres"},"description":"Number of spheres (bond distance) to consider around each atom"},{"name":"usestereo","in":"query","required":false,"schema":{"type":"boolean","description":"Whether to include stereochemistry information in HOSE codes (CDK only)","default":false,"title":"Usestereo"},"description":"Whether to include stereochemistry information in HOSE codes (CDK only)"}],"responses":{"200":{"description":"Successfully generated HOSE codes","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Response Hose Codes Chem Hosecode Get"},"example":["C(CC,CC,&)","C(CC,C&,&)","C(CC,CC,&)","C(CCC,CC&,&)","C(CC,CC,CC)","C(CC,CC,CC)"]}}},"404":{"description":"Not found"},"409":{"description":"Molecule already exists (unique constraint violation)"},"422":{"description":"Error parsing the molecular structure"}}}},"/spectra/parse/file":{"post":{"tags":["spectra","spectra"],"summary":"Parse spectra from an uploaded file","description":"Upload an NMR spectra file (JCAMP-DX, Bruker, etc.) and parse it into structured JSON. The file is processed by the **nmr-cli** tool running inside a Docker container.\n\nSupported file formats include JCAMP-DX (`.jdx`, `.dx`), Bruker directories (zipped), and other formats supported by nmr-cli.","operationId":"parse_spectra_from_file_spectra_parse_file_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_parse_spectra_from_file_spectra_parse_file_post"}}},"required":true},"responses":{"200":{"description":"Successfully parsed the spectra file","content":{"application/json":{"schema":{}}}},"404":{"description":"Not Found"},"408":{"description":"Processing timeout exceeded (120s limit)"},"422":{"description":"Error parsing the spectra file"},"500":{"description":"Docker or nmr-converter container not available"}}}},"/spectra/parse/url":{"post":{"tags":["spectra","spectra"],"summary":"Parse spectra from a remote URL","description":"Provide a URL pointing to an NMR spectra file and parse it into structured JSON. The file is fetched and processed by the **nmr-cli** tool running inside a Docker container.","operationId":"parse_spectra_from_url_spectra_parse_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlParseRequest"}}},"required":true},"responses":{"200":{"description":"Successfully parsed the spectra from URL","content":{"application/json":{"schema":{}}}},"404":{"description":"Not Found"},"408":{"description":"Processing timeout exceeded (120s limit)"},"422":{"description":"Error parsing spectra from the provided URL"},"500":{"description":"Docker or nmr-converter container not available"}}}},"/spectra/parse/publication-string":{"post":{"tags":["spectra","spectra"],"summary":"Resurrect NMR spectrum from an ACS publication string","description":"Parse an ACS-style NMR publication string and resurrect it into a full NMRium-compatible spectrum. The publication string is processed by the **nmr-cli** `parse-publication-string` command running inside a Docker container.\n\nThe string is parsed to extract nucleus, solvent, and chemical shift ranges, which are then used to reconstruct the spectrum data (x/y arrays) at 400 MHz with 131072 points.\n\n### Example publication strings\n- `1H NMR (400 MHz, CDCl3) δ 7.26 (s, 1H), 2.10 (s, 3H)`\n- `13C NMR (101 MHz, DMSO-d6) δ 170.1, 136.5, 128.7`","operationId":"parse_publication_string_spectra_parse_publication_string_post","requestBody":{"content":{"text/plain":{"schema":{"type":"string","title":"Publication String"},"examples":{"1H proton":{"summary":"1H NMR example","value":"1H NMR (400 MHz, CDCl3) δ 7.26 (s, 1H), 2.10 (s, 3H)"},"13C carbon":{"summary":"13C NMR example","value":"13C NMR (101 MHz, DMSO-d6) δ 170.1, 136.5, 128.7"}}}},"required":true},"responses":{"200":{"description":"Successfully resurrected spectrum from publication string","content":{"application/json":{"schema":{}}}},"404":{"description":"Not Found"},"408":{"description":"Processing timeout exceeded (120s limit)"},"422":{"description":"Invalid publication string or NMR CLI error"},"500":{"description":"Docker or nmr-converter container not available"}}}},"/spectra/parse/peaks":{"post":{"tags":["spectra","spectra"],"summary":"Convert a peak list to an NMRium-compatible spectrum","description":"Convert a list of NMR peaks (chemical shifts with optional intensity and width) into a full NMRium-compatible spectrum object. Each peak is defined by its chemical shift position (`x` in ppm), intensity (`y`), and width (in Hz).\n\nThe peaks are used to generate a simulated 1D spectrum using the **nmr-cli** `peaks-to-nmrium` command running inside a Docker container.\n\n### Example input\n```json\n{\n  \"peaks\": [\n    {\"x\": 7.26, \"y\": 1, \"width\": 1},\n    {\"x\": 2.10, \"y\": 1, \"width\": 1}\n  ],\n  \"options\": {\n    \"nucleus\": \"1H\",\n    \"frequency\": 400\n  }\n}\n```","operationId":"parse_peaks_spectra_parse_peaks_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PeaksToNMRiumRequest"}}},"required":true},"responses":{"200":{"description":"Successfully generated spectrum from peak list","content":{"application/json":{"schema":{}}}},"404":{"description":"Not Found"},"408":{"description":"Processing timeout exceeded (120s limit)"},"422":{"description":"Invalid peak list or NMR CLI error"},"500":{"description":"Docker or nmr-converter container not available"}}}},"/convert/spectra":{"get":{"tags":["converter","converter"],"summary":"Convert NMR raw data to NMRium JSON","description":"Fetch NMR raw data from a remote URL and convert it into [NMRium](https://www.nmrium.org/)-compatible JSON format. The conversion is performed by the **nmr-cli** tool running inside a Docker container.\n\nSupported input formats include Bruker, JCAMP-DX, and other formats recognized by nmr-cli.","operationId":"nmr_load_save_convert_spectra_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"URL pointing to the NMR raw data file to convert","examples":["https://example.com/nmr-data/sample.zip"],"title":"Url"},"description":"URL pointing to the NMR raw data file to convert"}],"responses":{"200":{"description":"Successfully converted NMR data to NMRium JSON","content":{"application/json":{"schema":{}}}},"404":{"description":"Not Found"},"500":{"description":"Conversion failed or Docker container not available"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/predict/":{"post":{"tags":["predict","predict"],"summary":"Predict NMR spectra from a MOL string","description":"Submit a molecular structure as a MOL block string and predict NMR spectra using one of the supported prediction engines.\n\n### Supported Engines\n\n| Engine | Spectra Types | Typical Time |\n|--------|--------------|-------------|\n| **nmrshift** | proton, carbon | ~5-10s |\n| **nmrdb.org** | proton, carbon, cosy, hsqc, hmbc | ~30-60s |\n\n> **Note:** nmrdb.org predictions can take 30-60 seconds. Consider using curl or Postman instead of the API docs for long-running requests.","operationId":"predict_from_structure_predict__post","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/NmrdbPredictRequest"},{"$ref":"#/components/schemas/NmrshiftPredictRequest"}],"title":"Request","discriminator":{"propertyName":"engine","mapping":{"nmrdb.org":"#/components/schemas/NmrdbPredictRequest","nmrshift":"#/components/schemas/NmrshiftPredictRequest"}}}}},"required":true},"responses":{"200":{"description":"Successfully predicted NMR spectra","content":{"application/json":{"schema":{}}}},"404":{"description":"Not Found"},"408":{"description":"Prediction timed out (nmrdb.org: 300s, nmrshift: 120s)"},"422":{"description":"Invalid structure or NMR CLI error"},"500":{"description":"Docker or nmr-converter container not available"},"400":{"description":"Unknown engine type"}}}},"/predict/file":{"post":{"tags":["predict","predict"],"summary":"Predict NMR spectra from an uploaded MOL file","description":"Upload a MOL file and predict NMR spectra using one of the supported engines. Engine configuration is passed as a JSON string in the `request` form field.\n\n### Supported Engines\n\n| Engine | Spectra Types | Typical Time |\n|--------|--------------|-------------|\n| **nmrshift** | proton, carbon | ~5-10s |\n| **nmrdb.org** | proton, carbon, cosy, hsqc, hmbc | ~30-60s |\n\n> **Note:** nmrdb.org predictions can take 30-60 seconds. Consider using curl or Postman instead of the API docs for long-running requests.","operationId":"predict_from_file_predict_file_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_predict_from_file_predict_file_post"}}},"required":true},"responses":{"200":{"description":"Successfully predicted NMR spectra from file","content":{"application/json":{"schema":{}}}},"404":{"description":"Not Found"},"408":{"description":"Prediction timed out (nmrdb.org: 300s, nmrshift: 120s)"},"422":{"description":"Invalid JSON in request field or NMR CLI error"},"500":{"description":"Docker or nmr-converter container not available"},"400":{"description":"Unknown engine type"}}}}},"components":{"schemas":{"Body_initialise_database_registration_init_post":{"properties":{"confirm":{"type":"boolean","title":"Confirm","description":"Set to true to confirm database initialization. False returns immediately.","default":false}},"type":"object","title":"Body_initialise_database_registration_init_post"},"Body_parse_spectra_from_file_spectra_parse_file_post":{"properties":{"file":{"type":"string","format":"binary","title":"File","description":"NMR spectra file to parse (JCAMP-DX, Bruker zip, etc.)"},"capture_snapshot":{"type":"boolean","title":"Capture Snapshot","description":"Generate an image snapshot of the spectra","default":false},"auto_processing":{"type":"boolean","title":"Auto Processing","description":"Enable automatic processing of spectrum (FID → FT spectra)","default":false},"auto_detection":{"type":"boolean","title":"Auto Detection","description":"Enable ranges and zones automatic detection","default":false},"raw_data":{"type":"boolean","title":"Raw Data","description":"Include raw data in the output (default: data source references)","default":false}},"type":"object","required":["file"],"title":"Body_parse_spectra_from_file_spectra_parse_file_post"},"Body_predict_from_file_predict_file_post":{"properties":{"file":{"type":"string","format":"binary","title":"File","description":"MOL file containing the molecular structure"},"request":{"type":"string","title":"Request","description":"JSON string with engine, spectra, and options. Example (nmrshift): {\"engine\": \"nmrshift\", \"spectra\": [\"proton\"], \"options\": {\"solvent\": \"Chloroform-D1 (CDCl3)\", \"frequency\": 400, \"nbPoints\": 1024, \"lineWidth\": 1, \"peakShape\": \"lorentzian\"}} — Example (nmrdb.org): {\"engine\": \"nmrdb.org\", \"spectra\": [\"proton\", \"carbon\"], \"options\": {\"name\": \"Benzene\", \"frequency\": 400, \"1d\": {\"proton\": {\"from\": -1, \"to\": 12}, \"carbon\": {\"from\": -5, \"to\": 220}, \"nbPoints\": 131072, \"lineWidth\": 1}, \"autoExtendRange\": true}}"}},"type":"object","required":["file","request"],"title":"Body_predict_from_file_predict_file_post"},"FromTo":{"properties":{"from":{"type":"number","title":"From","description":"From in ppm"},"to":{"type":"number","title":"To","description":"To in ppm"}},"type":"object","required":["from","to"],"title":"FromTo","description":"Range with from/to values in ppm"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"NbPoints2D":{"properties":{"x":{"type":"integer","title":"X","description":"2D spectrum X-axis points","default":1024},"y":{"type":"integer","title":"Y","description":"2D spectrum Y-axis points","default":1024}},"type":"object","title":"NbPoints2D"},"NmrdbOptions":{"properties":{"name":{"type":"string","title":"Name","description":"Compound name","default":""},"frequency":{"type":"number","title":"Frequency","description":"NMR frequency (MHz)","default":400},"1d":{"$ref":"#/components/schemas/Options1D","description":"1D spectrum options"},"2d":{"$ref":"#/components/schemas/Options2D","description":"2D spectrum options"},"autoExtendRange":{"type":"boolean","title":"Autoextendrange","description":"Auto extend range if signals fall outside","default":true}},"type":"object","title":"NmrdbOptions","description":"Options for the nmrdb.org prediction engine"},"NmrdbPredictRequest":{"properties":{"engine":{"type":"string","const":"nmrdb.org","title":"Engine","description":"Prediction engine"},"structure":{"type":"string","title":"Structure","description":"MOL file content"},"spectra":{"items":{"$ref":"#/components/schemas/SpectraType"},"type":"array","minItems":1,"title":"Spectra","description":"Spectra types"},"options":{"$ref":"#/components/schemas/NmrdbOptions"}},"type":"object","required":["engine","structure","spectra"],"title":"NmrdbPredictRequest","description":"Prediction request using the nmrdb.org engine"},"NmrshiftOptions":{"properties":{"id":{"type":"integer","title":"Id","description":"Input ID","default":1},"shifts":{"type":"string","title":"Shifts","description":"Chemical shifts","default":"1"},"solvent":{"$ref":"#/components/schemas/Solvent","description":"NMR solvent","default":"Dimethylsulphoxide-D6 (DMSO-D6, C2D6SO)"},"from":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"From","description":"From in (ppm) for spectrum generation"},"to":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"To","description":"To in (ppm) for spectrum generation"},"nbPoints":{"type":"integer","title":"Nbpoints","description":"Number of points","default":1024},"lineWidth":{"type":"number","title":"Linewidth","description":"Line width","default":1},"frequency":{"type":"number","title":"Frequency","description":"NMR frequency (MHz)","default":400},"tolerance":{"type":"number","title":"Tolerance","description":"Tolerance to group peaks","default":0.001},"peakShape":{"$ref":"#/components/schemas/PeakShape","description":"Peak shape","default":"lorentzian"}},"type":"object","title":"NmrshiftOptions","description":"Options for the nmrshift prediction engine"},"NmrshiftPredictRequest":{"properties":{"engine":{"type":"string","const":"nmrshift","title":"Engine","description":"Prediction engine"},"structure":{"type":"string","title":"Structure","description":"MOL file content"},"spectra":{"items":{"$ref":"#/components/schemas/SpectraType"},"type":"array","minItems":1,"title":"Spectra","description":"Spectra types"},"options":{"$ref":"#/components/schemas/NmrshiftOptions"}},"type":"object","required":["engine","structure","spectra"],"title":"NmrshiftPredictRequest","description":"Prediction request using the nmrshift engine"},"Options1D":{"properties":{"proton":{"$ref":"#/components/schemas/FromTo","description":"Proton (1H) range in ppm","default":{"from":-1.0,"to":12.0}},"carbon":{"$ref":"#/components/schemas/FromTo","description":"Carbon (13C) range in ppm","default":{"from":-5.0,"to":220.0}},"nbPoints":{"type":"integer","title":"Nbpoints","description":"1D number of points","default":131072},"lineWidth":{"type":"number","title":"Linewidth","description":"1D line width","default":1}},"type":"object","title":"Options1D","description":"1D spectrum generation options for nmrdb.org"},"Options2D":{"properties":{"nbPoints":{"$ref":"#/components/schemas/NbPoints2D","description":"2D number of points"}},"type":"object","title":"Options2D","description":"2D spectrum generation options for nmrdb.org"},"PeakItem":{"properties":{"x":{"type":"number","title":"X","description":"Chemical shift in ppm"},"y":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Y","description":"Peak intensity (default: 1.0)","default":1.0},"width":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Width","description":"Peak width in Hz (default: 1.0)","default":1.0}},"type":"object","required":["x"],"title":"PeakItem","description":"A single NMR peak."},"PeakShape":{"type":"string","enum":["gaussian","lorentzian"],"title":"PeakShape"},"PeaksToNMRiumOptions":{"properties":{"nucleus":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nucleus","description":"Nucleus type (e.g. '1H', '13C')","default":"1H"},"solvent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Solvent","description":"NMR solvent","default":""},"frequency":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency","description":"NMR frequency in MHz","default":400},"nb_points":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Nb Points","description":"Number of points for spectrum generation","default":131072},"from":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"From","description":"Start of spectrum range"},"to":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"To","description":"End of spectrum range"}},"type":"object","title":"PeaksToNMRiumOptions","description":"Options for peaks-to-NMRium conversion."},"PeaksToNMRiumRequest":{"properties":{"peaks":{"items":{"$ref":"#/components/schemas/PeakItem"},"type":"array","minItems":1,"title":"Peaks","description":"List of NMR peaks with chemical shift (x), intensity (y), and width"},"options":{"anyOf":[{"$ref":"#/components/schemas/PeaksToNMRiumOptions"},{"type":"null"}],"description":"Spectrum generation options"}},"type":"object","required":["peaks"],"title":"PeaksToNMRiumRequest","description":"Request model for converting peaks to NMRium object.","examples":[{"options":{"frequency":400,"nucleus":"1H"},"peaks":[{"width":1,"x":7.26,"y":1},{"width":1,"x":2.1,"y":1}]}]},"Solvent":{"type":"string","enum":["Any","Chloroform-D1 (CDCl3)","Dimethylsulphoxide-D6 (DMSO-D6, C2D6SO)","Methanol-D4 (CD3OD)","Deuteriumoxide (D2O)","Acetone-D6 ((CD3)2CO)","TETRACHLORO-METHANE (CCl4)","Pyridin-D5 (C5D5N)","Benzene-D6 (C6D6)","neat","Tetrahydrofuran-D8 (THF-D8, C4D4O)"],"title":"Solvent"},"SpectraType":{"type":"string","enum":["proton","carbon","cosy","hsqc","hmbc"],"title":"SpectraType"},"UrlParseRequest":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","description":"URL pointing to the NMR spectra file to parse","examples":["https://example.com/spectra/sample.jdx"]},"capture_snapshot":{"type":"boolean","title":"Capture Snapshot","description":"Generate an image snapshot of the spectra","default":false},"auto_processing":{"type":"boolean","title":"Auto Processing","description":"Enable automatic processing of spectrum (FID → FT spectra)","default":false},"auto_detection":{"type":"boolean","title":"Auto Detection","description":"Enable ranges and zones automatic detection","default":false},"raw_data":{"type":"boolean","title":"Raw Data","description":"Include raw data in the output (default: data source)","default":false}},"type":"object","required":["url"],"title":"UrlParseRequest","description":"Request model for parsing spectra from a remote URL.","examples":[{"auto_detection":false,"auto_processing":false,"capture_snapshot":false,"url":"https://example.com/spectra/sample.jdx"}]},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}