{"swagger": "2.0", "basePath": "/", "paths": {"/apps/owm/{prod}/{placeprefix}/{z}/{x}/{y}.geojson": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "placeprefix", "in": "path", "required": true, "type": "string"}, {"name": "z", "in": "path", "required": true, "type": "integer"}, {"name": "x", "in": "path", "required": true, "type": "integer"}, {"name": "y", "in": "path", "required": true, "type": "integer"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": ":example: /apps/owm/wrf5/prov/10/552/384", "description": "geojson\n:returns: json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_apps_owm_weather_prod_place_prefix", "tags": ["apps"]}}, "/apps/sais/index": {"get": {"responses": {"200": {"description": "Success"}}, "summary": ":example: /apps/sais/index", "description": ":returns: json -- the return josn.", "operationId": "get_apps_sais_risk", "tags": ["apps"]}}, "/box/today/{place}": {"parameters": [{"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": ":example: /places/today/ca001", "description": ":param place: The code of the place.\n:type prod: str.\n:returns: json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_box_today", "tags": ["box"]}}, "/instruments": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the avaliable instruments", "description": ":example: /products\n:returns:  json -- the return json.", "operationId": "get_instruments", "tags": ["instruments"]}}, "/instruments/{identification}": {"parameters": [{"name": "identification", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_instruments_context", "tags": ["instruments"]}}, "/legal/disclaimer": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the Disclaimer", "description": ":example: /legal/disclaimer\n:returns:  json -- the return json.\n-------------------------------------------------------------------------------------------", "operationId": "get_legal_discaimer", "tags": ["legal"]}}, "/legal/privacy": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the Privacy", "description": ":example: /legal/privacy\n:returns:  json -- the return json.\n-------------------------------------------------------------------------------------------", "operationId": "get_legal_privacy", "tags": ["legal"]}}, "/places": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_get_all_places", "tags": ["places"]}}, "/places/search/byboundingbox/{minLatitude}/{minLongitude}/{maxLatitude}/{maxLongitude}": {"parameters": [{"name": "minLatitude", "in": "path", "required": true, "type": "number"}, {"name": "minLongitude", "in": "path", "required": true, "type": "number"}, {"name": "maxLatitude", "in": "path", "required": true, "type": "number"}, {"name": "maxLongitude", "in": "path", "required": true, "type": "number"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": ":example: /places/search/byboundingbox/40", "description": "78/14.35/41.22/16.87\n:param minLatitude:  min latitude\n:param minLongitude: min longitude\n:param maxLatitude: max latitude\n:param maxLongitude: min longitude\n:returns: json -- the return JSON.", "operationId": "get_places_search_by_bounding_box", "tags": ["places"]}}, "/places/search/bycoords/{latitude}/{longitude}": {"parameters": [{"name": "latitude", "in": "path", "required": true, "type": "number"}, {"name": "longitude", "in": "path", "required": true, "type": "number"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": ":example: /places/search/bycoords/40", "description": "78783/14.352\n:param latitude: The latitude.\n:param longitude: The longitude.\n:returns: json -- the return JSON.", "operationId": "get_places_search_by_coords", "tags": ["places"]}}, "/places/search/byname/autocomplete": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns ", "description": ":example: /places/search/byname/autocomplete\n:returns: json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_places_search_by_name_autocomplete", "tags": ["places"]}}, "/places/search/byname/{name}": {"parameters": [{"name": "name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns place information you are looking for", "description": ":example: /places/search/byname/Napoli\n:param name: Place common name.\n:type name: str.\n:returns: json -- the return josn.\n------------------------------------------------------------------------------------------", "operationId": "get_places_search_by_name", "tags": ["places"]}}, "/places/{identifier}": {"parameters": [{"name": "identifier", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the place information you are looking for", "description": ":example: /places/byid/ca001\n:param identifier: ....\n:type identifier: str.\n:returns: json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_places_by_identifier", "tags": ["places"]}}, "/products": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the avaliable products", "description": ":example: /products\n:returns:  json -- the return json.", "operationId": "get_products", "tags": ["products"]}}, "/products/maps": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the avaliable maps", "description": ":exampler: /products/maps\n:returns:  json -- the return json.", "operationId": "get_products_map", "tags": ["products"]}}, "/products/resource/forecast/{icon}": {"parameters": [{"name": "icon", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forecast icon as png image", "description": ":example: /products/resource/forecast/name_icon.png\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_icons_png", "tags": ["products"]}}, "/products/wrf5/forecast/plot/SkewT/image": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forexast plot of SkewT as image or url given a product code and a place", "description": ":example: /products/wrf5/forecast/ca001/plot/SkewT/image\n:example: /products/wrf5/forecast/ca001/plot/SkewT/image?date=20250915Z1000\n:param prod: The code of the product\n:type prod: str.\n:param place: The code of the place.\n:type place: str\n:returns: png -- the retun plot image\n-------------------------------------------------------------------------------------------", "operationId": "get_product_skew_t_by_prod_and_place", "tags": ["products"]}}, "/products/{prod}": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns all avaliable outputs given a product code", "description": ":example: /products/wrf5/outputs\n:param prod: The code of the product.\n:type prod: str.\n:returns:  json -- the return josn.", "operationId": "get_products_outputs_by_prod", "tags": ["products"]}}, "/products/{prod}/fields": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns all avaliable fields given a product code", "description": ":example: /products/wrf5/fields\n:param prod: The code of the product.\n:type prod: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_fields_by_prod", "tags": ["products"]}}, "/products/{prod}/forecast/legend/{position}/{output}": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "position", "in": "path", "required": true, "type": "string"}, {"name": "output", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the image bar as image given a product code, a position and an output parameter", "description": ":example: /products/ww33/forecast/bar/h/crd\n\n:param prod: The code of the product.\n:type prod: str.\n:param position: Position of the bar [ left | right | top | bottom ).\n:type place: str.\n:param output: Output parameter of the bar.\n:type output: str.\n:returns: image.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_bar_by_prod_and_position_and_output", "tags": ["products"]}}, "/products/{prod}/forecast/legend/{position}/{output}/ncwms": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "position", "in": "path", "required": true, "type": "string"}, {"name": "output", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the image bar as image given a product code, a position and an output parameter", "description": ":example: /products/ww33/forecast/bar/h/crd/ncwms\n:param prod: The code of the product.\n:type prod: str.\n:param position: Position of the bar [ left | right | top | bottom ).\n:type place: str.\n:param output: Output parameter of the bar.\n:type output: str.\n:returns: image.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_bar_by_prod_and_position_and_output_from_nc_wms", "tags": ["products"]}}, "/products/{prod}/forecast/{domain}/grib/json": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "domain", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forecast map as image or url given a product code and a place", "description": ":example: /products/wrf5/forecast/d02/grib/json\n:param prod: The code of the product.\n:type prod: str.\n:param prod: The code of the place.\n:type prod: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_grib_json_by_prod_and_domain", "tags": ["products"]}}, "/products/{prod}/forecast/{domain}/grib/text": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "domain", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forecast map as image or url given a product code and a place", "description": ":param domain:\n:example: /products/wrf5/forecast/d02/grib/text\n:param prod: The code of the product.\n:type prod: str.\n:returns:  json -- the return json.\n------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_grib_json_by_prod_and_domain", "tags": ["products"]}}, "/products/{prod}/forecast/{place}": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forecast for a product given a place", "description": ":example: /products/wrf5/forecast/com63049\n:param prod: The code of the product.\n:type prod: str.\n:param place: The code of the place.\n:type place: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_by_prod_and_place", "tags": ["products"]}}, "/products/{prod}/forecast/{place}/map/image": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forecast map as image or url given a product code and a place", "description": ":example: /products/ww33/forecast/ca001/map\n\n:param prod: The code of the product.\n:type prod: str.\n:param place: The code of the place.\n:type place: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_map_by_prod_and_place", "tags": ["products"]}}, "/products/{prod}/forecast/{place}/plot": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forecast plot as image or url given a product code and a place", "description": ":example: /products/ww33/forecast/ca001/plot\n:param prod: The code of the product.\n:type prod: str.\n:param place: The code of the place.\n:type place: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_map_by_prod_and_place", "tags": ["products"]}}, "/products/{prod}/forecast/{place}/plot/alt": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_products_forecast_plot_and_alt", "tags": ["products"]}}, "/products/{prod}/forecast/{place}/plot/image": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the forecast plot as image or url given a product code and a place", "description": ":example: /products/ww33/forecast/ca001/plot/image\n:param prod: The code of the product.\n:type prod: str.\n:param place: The code of the place.\n:type place: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_forecast_map_by_prod_and_place", "tags": ["products"]}}, "/products/{prod}/maps/themes": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the avaliable themes", "description": ":example: /produts/wrf5/maps/themes\n:returns:  json -- the return json.", "operationId": "get_products_themes_by_prod", "tags": ["products"]}}, "/products/{prod}/outputs": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns all avaliable outputs given a product code", "description": ":example: /products/wrf5/outputs\n:param prod: The code of the product.\n:type prod: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_outputs_by_prod", "tags": ["products"]}}, "/products/{prod}/plot/{output}/metacharts": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "output", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns ", "description": ":example: /products/wrf5/plot/gen/metacharts\n:param prod: The code of the product.\n:type prod: str.\n:param place: The code of the place.\n:type output: str.\n:returns: json -- the return json.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_plot_metacharts", "tags": ["products"]}}, "/products/{prod}/timeseries/{place}": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns ", "description": ":example: /products/ww33/timeseries/ca001\n:param prod: The code of the product.\n:type prod: str.\n:param place: The code of the place.\n:type place: str.\n:returns: json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_timeseries_by_prod_and_place", "tags": ["products"]}}, "/products/{prod}/timeseries/{place}/csv": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns ", "description": ":example: /products/wrf3/timeseries/ca001/csv\n:param prod: The code of the product.\n:type prod: str.\n:param place: The code of the place.\n:type place: str.\n:returns: csv -- the return csv.\n-------------------------------------------------------------------------------------------", "operationId": "get_products_time_series_by_prod_and_place_by_csv", "tags": ["products"]}}, "/products/{prod}/{place}/avail": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the avilable products", "description": ":param prod:\n:param place:\n:return: json\n:exampler: /products/rdr1/ca001/avail", "operationId": "get_products_available", "tags": ["products"]}}, "/products/{prod}/{place}/avail/calendar": {"parameters": [{"name": "prod", "in": "path", "required": true, "type": "string"}, {"name": "place", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the avaliable products", "description": ":exampler: /products/rdr1/ca001/avail/calendar\n:returns:  json -- the return json.", "operationId": "get_products_available_calendar", "tags": ["products"]}}, "/users/login": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the roles of an authenticated users (if any)", "description": ":example: /user/login\n:param user: The user name.\n:type prod: str.\n:param pass: The user password.\n:type place: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "post_user_login", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/user"}}], "tags": ["users"]}}, "/v2/auth/login": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the roles of an authenticated users (if any)", "description": ":example: /v2/auth/loginToken\n:param value: The token value.\n:type prod: str.\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_auth_login_by_token", "security": [{"Basic Auth": []}], "tags": ["v2"]}}, "/v2/basemaps": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_base_maps", "tags": ["v2"]}}, "/v2/basemaps/{name}": {"parameters": [{"name": "name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_base_maps_by_name", "tags": ["v2"]}}, "/v2/cards": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_cards", "security": [{"Basic Auth": []}], "tags": ["v2"]}}, "/v2/carousel": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_carousel", "security": [{"Basic Auth": []}], "tags": ["v2"]}}, "/v2/layers": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_layers", "tags": ["v2"]}}, "/v2/layers/{name}": {"parameters": [{"name": "name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_layers_by_name", "tags": ["v2"]}}, "/v2/maps": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_maps", "tags": ["v2"]}}, "/v2/maps/{name}": {"parameters": [{"name": "name", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_maps_by_name", "tags": ["v2"]}}, "/v2/navbar": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the navbar", "description": ":example: /navbar\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_nav_bar", "security": [{"Basic Auth": []}], "tags": ["v2"]}}, "/v2/pages": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the pages list", "description": ":example: /pages\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_pages", "security": [{"Basic Auth": []}], "tags": ["v2"]}}, "/v2/pages/{page}": {"parameters": [{"name": "page", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the page content by a given id", "description": ":example: /pages/about_us\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "post_page_by_page_id", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/page"}}], "security": [{"Basic Auth": []}], "tags": ["v2"]}, "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the page content by a given id", "description": ":example: /pages/about_us\n:returns:  json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_page_by_page_id", "security": [{"Basic Auth": []}], "tags": ["v2"]}}, "/v2/slurm/info": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_slurm_info", "tags": ["v2"]}}, "/v2/slurm/queue": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_slurm_info", "tags": ["v2"]}}, "/v2/slurm/storage": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_slurm_storage", "tags": ["v2"]}}, "/v2/weatherreports/json": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_weather_reports_json", "tags": ["v2"]}}, "/v2/weatherreports/latest/json": {"get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_weather_reports_latest_json", "tags": ["v2"]}}, "/v2/weatherreports/latest/{field}/json": {"parameters": [{"name": "field", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "operationId": "get_weather_reports_latest_json", "tags": ["v2"]}}, "/version": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns API version", "description": ":example: /version\n:returns: json -- the return josn.\n-------------------------------------------------------------------------------------------", "operationId": "get_version", "tags": ["version"]}}, "/webcam/{place}/{location}/{cam}": {"parameters": [{"name": "place", "in": "path", "required": true, "type": "string"}, {"name": "location", "in": "path", "required": true, "type": "string"}, {"name": "cam", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Returns the latest image from the specified webcam", "description": ":example: /webcam/com63049/castelsantelmo/nord\n:returns:  json -- the return json.\n-------------------------------------------------------------------------------------------", "operationId": "get_webcam", "tags": ["webcam"]}}}, "info": {"title": "API", "version": "1.0"}, "produces": ["application/json"], "consumes": ["application/json"], "tags": [{"name": "users", "description": "Login API"}, {"name": "apps", "description": "Apps API"}, {"name": "box", "description": "Box API"}, {"name": "legal", "description": "Legal API"}, {"name": "places", "description": "Palces API"}, {"name": "products", "description": "Products API"}, {"name": "v2", "description": "V2 API"}, {"name": "version", "description": "Version API"}, {"name": "webcam", "description": "Webcam API"}, {"name": "instruments", "description": "Instruments API"}], "definitions": {"user": {"properties": {"name": {"type": "string", "default": "The user name."}, "pass": {"type": "string", "default": "The user password"}}, "type": "object"}, "page": {"properties": {"_id": {"type": "string", "default": "Page unique id"}, "author": {"type": "string", "default": "The author of the page (userId)"}}, "type": "object"}}, "responses": {"ParseError": {"description": "When a mask can't be parsed"}, "MaskError": {"description": "When any error occurs on mask"}}}
