{"openapi":"3.1.0","info":{"title":"MSTWeatherGen Workbench","description":"Local scientific workbench. OpenAPI is available at /openapi.json.","version":"1.1.1"},"paths":{"/":{"get":{"summary":"Home","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/info":{"get":{"summary":"Info","operationId":"info_api_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/datasets":{"get":{"summary":"List Datasets","operationId":"list_datasets_api_datasets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Upload","operationId":"upload_api_datasets_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_api_datasets_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/datasets/example":{"post":{"summary":"Example","operationId":"example_api_datasets_example_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExampleRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/datasets/{ident}":{"get":{"summary":"Dataset","operationId":"dataset_api_datasets__ident__get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Remove Dataset","operationId":"remove_dataset_api_datasets__ident__delete","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/datasets/{ident}/preview":{"get":{"summary":"Preview","operationId":"preview_api_datasets__ident__preview_get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Id"}},{"name":"variable","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Variable"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/datasets/{ident}/observations.csv":{"get":{"summary":"Download Dataset","operationId":"download_dataset_api_datasets__ident__observations_csv_get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/models":{"get":{"summary":"Models","operationId":"models_api_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Fit Model","operationId":"fit_model_api_models_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FitRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulations":{"post":{"summary":"Simulate","operationId":"simulate_api_simulations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs":{"get":{"summary":"Jobs","operationId":"jobs_api_jobs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/jobs/{ident}":{"get":{"summary":"Job","operationId":"job_api_jobs__ident__get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Job","operationId":"delete_job_api_jobs__ident__delete","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/{ident}/cancel":{"post":{"summary":"Cancel","operationId":"cancel_api_jobs__ident__cancel_post","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/{ident}/log":{"get":{"summary":"Log","operationId":"log_api_jobs__ident__log_get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/{ident}/result":{"get":{"summary":"Result","operationId":"result_api_jobs__ident__result_get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/{ident}/calibration-diagnostics":{"get":{"summary":"Calibration Diagnostics","operationId":"calibration_diagnostics_api_jobs__ident__calibration_diagnostics_get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/{ident}/diagnostics":{"get":{"summary":"Diagnostics","operationId":"diagnostics_api_jobs__ident__diagnostics_get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}},{"name":"realization","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":1,"title":"Realization"}},{"name":"site_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Site Id"}},{"name":"variable","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Variable"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/jobs/{ident}/download/{filename}":{"get":{"summary":"Download","operationId":"download_api_jobs__ident__download__filename__get","parameters":[{"name":"ident","in":"path","required":true,"schema":{"type":"string","title":"Ident"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}},{"name":"realization","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":1,"title":"Realization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/source/upstream.tar.gz":{"get":{"summary":"Upstream Source","operationId":"upstream_source_api_source_upstream_tar_gz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"Body_upload_api_datasets_post":{"properties":{"observations":{"type":"string","format":"binary","title":"Observations"},"stations":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"Stations"},"name":{"type":"string","title":"Name","default":"My observations"}},"type":"object","required":["observations"],"title":"Body_upload_api_datasets_post"},"ExampleRequest":{"properties":{"source":{"type":"string","enum":["official","synthetic"],"title":"Source","default":"official"}},"additionalProperties":false,"type":"object","title":"ExampleRequest"},"FitRequest":{"properties":{"dataset_id":{"type":"string","pattern":"^[a-f0-9]{32}$","title":"Dataset Id"},"variables":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Variables"},"start_year":{"anyOf":[{"type":"integer","maximum":2200.0,"minimum":1850.0},{"type":"null"}],"title":"Start Year"},"end_year":{"anyOf":[{"type":"integer","maximum":2200.0,"minimum":1850.0},{"type":"null"}],"title":"End Year"},"season_mode":{"type":"string","enum":["meteorological","annual"],"title":"Season Mode","default":"meteorological"},"fit_strategy":{"type":"string","enum":["guarded_seasonal","native"],"title":"Fit Strategy","default":"guarded_seasonal"},"diagnostic_season":{"type":"string","enum":["all","DJF","MAM","JJA","SON","ANNUAL"],"title":"Diagnostic Season","default":"all"},"scale":{"type":"boolean","title":"Scale","default":false},"max_iterations":{"type":"integer","maximum":1000.0,"minimum":5.0,"title":"Max Iterations","default":100},"temporal_lag":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Temporal Lag","default":1},"spatial_n1":{"type":"integer","maximum":30.0,"minimum":2.0,"title":"Spatial N1","default":3},"spatial_n2":{"type":"integer","maximum":30.0,"minimum":2.0,"title":"Spatial N2","default":3},"seed":{"type":"integer","maximum":2147483600.0,"minimum":0.0,"title":"Seed","default":2030},"timeout_seconds":{"type":"integer","maximum":86400.0,"minimum":60.0,"title":"Timeout Seconds","default":7200}},"additionalProperties":false,"type":"object","required":["dataset_id"],"title":"FitRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"SimulationRequest":{"properties":{"model_id":{"type":"string","pattern":"^[a-f0-9]{32}$","title":"Model Id"},"start_date":{"type":"string","format":"date","title":"Start Date","default":"2030-01-01"},"n_days":{"type":"integer","maximum":36525.0,"minimum":1.0,"title":"N Days","default":365},"n_realizations":{"type":"integer","maximum":30.0,"minimum":1.0,"title":"N Realizations","default":3},"ar_lag":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Ar Lag","default":1},"seed":{"type":"integer","maximum":2147483600.0,"minimum":0.0,"title":"Seed","default":2030},"wet_threshold":{"type":"number","maximum":10000.0,"minimum":0.0,"title":"Wet Threshold","default":1.0},"timeout_seconds":{"type":"integer","maximum":86400.0,"minimum":60.0,"title":"Timeout Seconds","default":7200}},"additionalProperties":false,"type":"object","required":["model_id"],"title":"SimulationRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}