{"openapi":"3.1.0","info":{"title":"World Data Centre (WDC) API","description":"\n<div>\n    <p #text>Here you can find the home of the documentation for the API for the World Data Centre for geomagnetism at Edinburgh, hosted by the British Geological Survey.</p>\n    <p #text>Data is available in all standard formats (IAGA-2002, WDC, XML, JSON, CSV) as zipped downloads or as text endpoints.</p>\n    <p #text>Metadata for all observatories are also available. The metadata database will be updated soon, ensuring the latest up-to-date results.</p>\n</div>\n","version":"1.0.0"},"paths":{"/metadata/observatory-metadata/{observatory}":{"get":{"tags":["Observatory Metadata - All Metadata and Contacts"],"summary":"Get all observatory metadata and contacts for a single observatory.","description":"Retrieve detailed metadata for the specified observatory.\n\nIf data are missing from our records, setting return_empty to true will\ninclude these missing fields in the response, otherwise they are omitted.","operationId":"get_observatory_metadata_observatory_metadata__observatory__get","parameters":[{"name":"observatory","in":"path","required":true,"schema":{"type":"string","description":"The IAGA code of the observatory. Search strings are not case sensitive.","title":"Observatory"},"description":"The IAGA code of the observatory. Search strings are not case sensitive."},{"name":"historical","in":"query","required":false,"schema":{"type":"boolean","description":"Return all historical data, including decommissioned instruments and past contacts","default":true,"title":"Historical"},"description":"Return all historical data, including decommissioned instruments and past contacts"},{"name":"return_empty","in":"query","required":false,"schema":{"type":"boolean","description":"Return column names of any tables that the observatory is missing","default":false,"title":"Return Empty"},"description":"Return column names of any tables that the observatory is missing"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObservatoryDdaWebDetailedDataSchema"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metadata/observatory-metadata":{"get":{"tags":["Observatory Metadata - All Metadata and Contacts"],"summary":"Get all observatory metadata and contact information.","description":"Retrieve detailed metadata for **ALL** past and present observatories.\nIncludes contact addresses.\n\nNo filtering is done by default, but **two flags are provided**:\n\n- intermagnet: If true, only past/present INTERMAGNET observatories are returned. Former or closed INTERMAGNET sites are included.\n\n- historical_instruments: If false, historical (i.e. decomissioned) instruments are not provided in response.\n\nTo filter by all historical results, please use the\nsingle observatory search option above.","operationId":"get_observatory_all_metadata_observatory_metadata_get","parameters":[{"name":"intermagnet","in":"query","required":false,"schema":{"type":"boolean","description":"Return only past/present INTERMAGNET observatories","default":false,"title":"Intermagnet"},"description":"Return only past/present INTERMAGNET observatories"},{"name":"historical_instruments","in":"query","required":false,"schema":{"type":"boolean","description":"Return all instruments by default, including those that have been decomissioned.","default":true,"title":"Historical Instruments"},"description":"Return all instruments by default, including those that have been decomissioned."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObservatorySchema"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metadata/location":{"get":{"tags":["Observatory Metadata - All Metadata and Contacts"],"summary":"Get location information for an observatory.","description":"Retrieve a list of all locations for a specified observatory.\nEnter a single observatory code, or comma-separated codes. Alternatively,\nleave the observatory field empty to return data for all observatories.\n\nFull location information is supplied, including if an observatory moved location.\nUse 'historical' parameter to retrieve all historical data. Response includes:\n\n- Latitude/Longitude/Elevation\n- Observatory opening/closing dates (valid_from, valid_to)\n- Region\n\nIf no observatory code is entered, then response returns location information for\nall observatories in our database.","operationId":"get_location_metadata_location_get","parameters":[{"name":"observatory","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated IAGA codes. Leave blank to retrieve data for all observatories. Search strings are not case sensitive.","title":"Observatory"},"description":"Comma-separated IAGA codes. Leave blank to retrieve data for all observatories. Search strings are not case sensitive."},{"name":"historical","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Boolean variable - If True will return all observatories. If False, will return currently operational observatories and current data.","default":false,"title":"Historical"},"description":"Boolean variable - If True will return all observatories. If False, will return currently operational observatories and current data."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LocationsBasic"},{"$ref":"#/components/schemas/LocationsNested"}],"title":"Response Get Location Metadata Location Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metadata/wdc-geojson/":{"get":{"tags":["WDC GeoJSONs"],"summary":"Get WDC Observatory GeoJSON Data","description":"Retrieve a list of observatory locations and associated basic metadata in GeoJSON format\n\nNote: Coordinates are given as [latitude, longitude]","operationId":"get_data_metadata_wdc_geojson__get","parameters":[{"name":"iaga-codes","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated list of IAGA codes. If omitted, metadata will be returned for all observatories. Search strings are not case sensitive.","title":"Iaga-Codes"},"description":"Comma-separated list of IAGA codes. If omitted, metadata will be returned for all observatories. Search strings are not case sensitive."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WdcGeoJson"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metadata/wdc-geojson-qd-coords":{"get":{"tags":["WDC GeoJSONs"],"summary":"Get WDC Observatory GeoJSON Location Data with quasi-dipole coordinates","description":"Retrieve a list of observatory locations and associated basic metadata in GeoJSON format.\n\nQuasi-dipole geomagnetic coordinates are also included, using IGRF-14. ApexPy is\nused to compute coordinates.\n\nNote: Coordinates are given as [latitude, longitude]\n\nNote: Geomagnetic coordinates are given as [qd-latitude, qd-longitude, datetime]","operationId":"get_data_metadata_wdc_geojson_qd_coords_get","parameters":[{"name":"iaga-codes","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated list of IAGA codes. If omitted, metadata will be returned for all observatories. Search strings are not case sensitive.","title":"Iaga-Codes"},"description":"Comma-separated list of IAGA codes. If omitted, metadata will be returned for all observatories. Search strings are not case sensitive."},{"name":"datetime","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"ISO format datetime. IGRF-14 model is used at datetime provided.","title":"Datetime"},"description":"ISO format datetime. IGRF-14 model is used at datetime provided."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WdcGeoJsonQD"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metadata/wdc-geojson-igrf":{"get":{"tags":["WDC GeoJSONs"],"summary":"Get WDC Observatory GeoJSON Location Data with IGRF-14 components calculated at site location.","description":"Retrieve a list of observatory locations and associated basic metadata in GeoJSON format.\n\nGeomagnetic field model values are also included, using IGRF-14. ppigrf (pure python IGRF)\nis used for computation.\n\nComponent(s) must be given as comma separated values, e.g. 'X,Y,Z,F'\n\nNote: Coordinates are given as [latitude, longitude]","operationId":"get_data_metadata_wdc_geojson_igrf_get","parameters":[{"name":"iaga-codes","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated list of IAGA codes. If omitted, metadata will be returned for all observatories. Search strings are not case sensitive.","title":"Iaga-Codes"},"description":"Comma-separated list of IAGA codes. If omitted, metadata will be returned for all observatories. Search strings are not case sensitive."},{"name":"components","in":"query","required":false,"schema":{"type":"string","description":"comma-separated string of desired model field values from IGRF-14. Leave blank for all components.","default":"X,Y,Z,F,D,H,I","title":"Components"},"description":"comma-separated string of desired model field values from IGRF-14. Leave blank for all components."},{"name":"datetime","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"ISO format datetime. IGRF-14 model is used at datetime provided.","title":"Datetime"},"description":"ISO format datetime. IGRF-14 model is used at datetime provided."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WdcGeoJsonIGRF"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metadata/field-model-contour-geojson":{"get":{"tags":["WDC GeoJSONs"],"summary":"Get field model contours in geoJSON format for a given year from IGRF-14","operationId":"get_geojson_file_metadata_field_model_contour_geojson_get","parameters":[{"name":"component","in":"query","required":true,"schema":{"enum":["dip-angle","qd-latitude"],"type":"string","description":"Choose either dip-angle or qd-latitude, computed from IGRF-14","title":"Component"},"description":"Choose either dip-angle or qd-latitude, computed from IGRF-14"},{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2030,"minimum":1900,"description":"Year must be integer between 1900 and 2030","title":"Year"},"description":"Year must be integer between 1900 and 2030"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metadata/yearbooks":{"get":{"tags":["Yearbooks"],"summary":"Get observatory yearbook links","description":"Get observatory yearbook links for one or more observatories, optionally filtered by date range.","operationId":"get_yearbooks_metadata_yearbooks_get","parameters":[{"name":"observatory","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated IAGA codes. Leave blank to retrieve data for all observatories. Search strings are not case sensitive.","title":"Observatory"},"description":"Comma-separated IAGA codes. Leave blank to retrieve data for all observatories. Search strings are not case sensitive."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"Start date for filtering metadata. If omitted, metadata will be returned for all dates. ","title":"Start Dt"},"description":"Start date for filtering metadata. If omitted, metadata will be returned for all dates. "},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"End date for filtering metadata. If omitted, metadata will be returned for all dates. ","title":"End Dt"},"description":"End date for filtering metadata. If omitted, metadata will be returned for all dates. "}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/YearbooksResponse"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/data/data-availability/{cadence}":{"get":{"tags":["Data Availability"],"summary":"Get magnetic observatory data availabilty as JSON.","description":"Endpoint to supply json data of availabilty of data for observatories for different cadences.\n\nIf no obs_code(s) given, then all stations are used.\nIf no start_dt/end_dt given, then all time is used.","operationId":"get_available_data_data_data_availability__cadence__get","parameters":[{"name":"cadence","in":"path","required":true,"schema":{"type":"string","title":"Data Cadence","description":"Cadence of data.","examples":"hour","enum":["year","month","day","hour","minute","second","k"]},"description":"Cadence of data."},{"name":"obs_code","in":"query","required":false,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). If not supplied, all stations are used.","examples":"esk,ler,asc"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). If not supplied, all stations are used."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2010-01-01T00:00:00'). If not given, all time is searched.","title":"Start Dt"},"description":"Start date (e.g., '2010-01-01T00:00:00'). If not given, all time is searched."},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2020-01-01T00:00:00'). If not given, all time is searched.","title":"End Dt"},"description":"End date (e.g., '2020-01-01T00:00:00'). If not given, all time is searched."},{"name":"formatting","in":"query","required":false,"schema":{"type":"string","description":"Data Format. Simple json or nested json.","examples":"simple-json","enum":["simple-json","nested-json"],"default":"simple-json","title":"Formatting"},"description":"Data Format. Simple json or nested json."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"string":{"2010":"boolean","2011":"boolean","2012":"boolean"}}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/data/zipped-data/second/{obs_code}":{"get":{"tags":["Zipped Data"],"summary":"Get magnetic observatory one-second data as zip files.","description":"- ---------------------------------------------- -\n- Endpoint to fetch one-second magnetic means\n- Time requests can use start_dt and end_dt, noting that full days are always given for IAGA-2002.\n\n- Files are available only as JSON or IAGA-2002\n- ---------------------------------------------- -\n\nEXAMPLE\n----------\nTo fetch one-second data from January 1st 2024 at KIR as json we may do:\n\n/data/zipped-data/second/kir?start_dt=2024-01-01&end_dt=2024-02-01file_format=json","operationId":"observatory_data_one_second_data_zipped_data_second__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. kir,liv).","examples":"kir,liv"},"description":"Three-letter Observation code(s) separated by commas (e.g. kir,liv)."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01')","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01')"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2022-02-01')","title":"End Dt"},"description":"End date (e.g., '2022-02-01')"},{"name":"file_format","in":"query","required":true,"schema":{"type":"string","description":"Data Format","examples":"json","enum":["json","iaga"],"title":"File Format"},"description":"Data Format"}],"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string"},"example":["Zip archive containing data files and request summary."]}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check data availability.","ctx":{"No data":"Request parameters returned no valid data."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"example":{"detail":[{"type":"string","msg":"string","ctx":{"string":"string"}}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/zipped-data/minute/{obs_code}":{"get":{"tags":["Zipped Data"],"summary":"Get magnetic observatory minute mean data as zip files.","description":"- ---------------------------------------------- -\n- Endpoint to fetch magnetic minute means data.\n\n- Time requests can use ONE of: years/months query OR start_dt/end_dt.\n- 'month' can be left blank if 'years' is supplied, in which case the whole year is returned where available.\n\n- Files are supplied on a best-quality basis, and coverted on-the-fly to the requested orientation and file format.\n\n- ---------------------------------------------- -\n\nEXAMPLE\n----------\nTo fetch minute means from January 2020 at Eskdalemuir as a json we could do:\n\n[1] /data/zipped-data/minute/esk?months=1&years=2020&file_format=json\n\n[2] /data/zipped-data/minute/esk?start_dt=2020-01-01T00:00:00&end_dt=2020-02-01T00:00:00&file_format=json","operationId":"observatory_data_minute_data_zipped_data_minute__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc).","examples":"esk,ler,asc"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc)."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"years","in":"query","required":false,"schema":{"type":"string","description":"Years of request separated by dashes (e.g. 2020-2021-2022).","examples":["2020-2021-2022"],"title":"Years"},"description":"Years of request separated by dashes (e.g. 2020-2021-2022)."},{"name":"months","in":"query","required":false,"schema":{"type":"string","description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12.","examples":["1,2,3,4-1,2-10"],"title":"Months"},"description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12."},{"name":"file_format","in":"query","required":true,"schema":{"type":"string","description":"Data Format","examples":"json","enum":["json","cov-json","csv","xml","wdc","iaga"],"title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","enum":["original","XYZF","HDZF"],"default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"group_by","in":"query","required":false,"schema":{"type":"string","description":"Group data into daily or monthly files. IAGA-2002 standard is daily files.","enum":["day","month"],"default":"day","title":"Group By"},"description":"Group data into daily or monthly files. IAGA-2002 standard is daily files."}],"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string"},"example":["Zip archive containing data files and request summary."]}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check data availability.","ctx":{"No data":"Request parameters returned no valid data."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"example":{"detail":[{"type":"string","msg":"string","ctx":{"string":"string"}}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/zipped-data/hour/{obs_code}":{"get":{"tags":["Zipped Data"],"summary":"Get magnetic observatory hourly means data as zip files.","description":"- ---------------------------------------------- -\n- Endpoint to fetch magnetic data hourly means.\n- Time requests can use ONE OF: years/months query OR start_dt/end_dt.\n- 'month' can be left blank if 'years' is supplied, in which case the whole year is returned where available.\n\n- Files are supplied on a best-quality basis, and coverted on-the-fly to the requested orientation and file format.\n\n- ---------------------------------------------- -\n\nEXAMPLE\n----------\nTo fetch hourly means from January 2020 at Eskdalemuir as a json we could do:\n\n[1] /data/zipped-data/hour/esk?months=1&years=2020&file_format=json\n\n[2] /data/zipped-data/hour/esk?start_dt=2020-01-01T00:00:00&end_dt=2020-02-01T00:00:00&file_format=json","operationId":"observatory_data_hour_data_zipped_data_hour__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc).","examples":"esk,ler,asc"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc)."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"years","in":"query","required":false,"schema":{"type":"string","description":"Years of request separated by dashes (e.g. 2020-2021-2022).","examples":["2020-2021-2022"],"title":"Years"},"description":"Years of request separated by dashes (e.g. 2020-2021-2022)."},{"name":"months","in":"query","required":false,"schema":{"type":"string","description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12.","examples":["1,2,3,4-1,2-10"],"title":"Months"},"description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12."},{"name":"file_format","in":"query","required":true,"schema":{"type":"string","description":"Data Format","examples":"json","enum":["json","cov-json","csv","xml","wdc","iaga"],"title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","enum":["original","XYZF","HDZF"],"default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."}],"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string"},"example":["Zip archive containing data files and request summary."]}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check data availability.","ctx":{"No data":"Request parameters returned no valid data."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"example":{"detail":[{"type":"string","msg":"string","ctx":{"string":"string"}}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/zipped-data/day/{obs_code}":{"get":{"tags":["Zipped Data"],"summary":"Get magnetic observatory daily means data as zip files.","description":"- ---------------------------------------------- -\n- Endpoint to fetch magnetic daily means data.\n- Time requests can use ONE OF: years/months query OR start_dt/end_dt.\n- 'month' can be left blank if 'years' is supplied, in which case the whole year is returned where available.\n\n- Files are supplied on a best-quality basis, and coverted on-the-fly to the requested orientation and file format.\n\n- ---------------------------------------------- -\n\nEXAMPLE\n----------\nTo fetch daily means from January 2020 at Eskdalemuir as a json we could do:\n\n[1] /data/zipped-data/day/esk?months=1&years=2020&file_format=json\n\n[2] /data/zipped-data/day/esk?start_dt=2020-01-01T00:00:00&end_dt=2020-02-01T00:00:00&file_format=json","operationId":"observatory_data_day_data_zipped_data_day__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc).","examples":"esk,ler,asc"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc)."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"years","in":"query","required":false,"schema":{"type":"string","description":"Years of request separated by dashes (e.g. 2020-2021-2022).","examples":["2020-2021-2022"],"title":"Years"},"description":"Years of request separated by dashes (e.g. 2020-2021-2022)."},{"name":"months","in":"query","required":false,"schema":{"type":"string","description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12.","examples":["1,2,3,4-1,2-10"],"title":"Months"},"description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12."},{"name":"file_format","in":"query","required":true,"schema":{"type":"string","description":"Data Format","examples":"json","enum":["json","cov-json","csv","xml","iaga"],"title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","enum":["original","XYZF","HDZF"],"default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."}],"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string"},"example":["Zip archive containing data files and request summary."]}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check data availability.","ctx":{"No data":"Request parameters returned no valid data."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"example":{"detail":[{"type":"string","msg":"string","ctx":{"string":"string"}}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/zipped-data/month/{obs_code}":{"get":{"tags":["Zipped Data"],"summary":"Get magnetic observatory monthly means data as zip files.","description":"- ---------------------------------------------- -\n- Endpoint to fetch magnetic monthly means data.\n- Time requests can use ONE OF: years query OR start_dt/end_dt.\n\n- Files are supplied on a best-quality basis, and coverted on-the-fly to the requested orientation and file format.\n\n- ---------------------------------------------- -\n\nEXAMPLE\n----------\nTo fetch daily means from January 2020 at Eskdalemuir as a json we could do:\n\n[1] /data/zipped-data/month/esk?months=1&years=2020&file_format=json\n\n[2] /data/zipped-data/month/esk?start_dt=2020-01-01T00:00:00&end_dt=2020-02-01T00:00:00&file_format=json","operationId":"observatory_data_month_data_zipped_data_month__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Enter 'ALL' (case insensitive) to fetch all observatory data.","examples":"esk,ler,asc"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Enter 'ALL' (case insensitive) to fetch all observatory data."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"years","in":"query","required":false,"schema":{"type":"string","description":"Years of request separated by dashes (e.g. 2020-2021-2022).","examples":["2020-2021-2022"],"title":"Years"},"description":"Years of request separated by dashes (e.g. 2020-2021-2022)."},{"name":"file_format","in":"query","required":true,"schema":{"type":"string","description":"Data Format","examples":"json","enum":["json","cov-json","csv","xml","iaga"],"title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","enum":["original","XYZF","HDZF"],"default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"exclude","in":"query","required":false,"schema":{"type":"string","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Any code included here will not be returned. If obs_code is set to ALL, then you may exclude any observatories here.","title":"Exclude"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Any code included here will not be returned. If obs_code is set to ALL, then you may exclude any observatories here."}],"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string"},"example":["Zip archive containing data files and request summary."]}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check data availability.","ctx":{"No data":"Request parameters returned no valid data."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"example":{"detail":[{"type":"string","msg":"string","ctx":{"string":"string"}}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/zipped-data/year/{obs_code}":{"get":{"tags":["Zipped Data"],"summary":"Get magnetic observatory annual means data as zip files.","description":"- ---------------------------------------------- -\n- Endpoint to fetch magnetic annual means data.\n- Time requests can use ONE OF: years query OR start_dt/end_dt.\n\n- Files are supplied on a best-quality basis, and coverted on-the-fly to the requested orientation and file format.\n\n- ---------------------------------------------- -\n\nEXAMPLE\n----------\nTo fetch yearly means from 2020 at Eskdalemuir as a json we could do:\n\n[1] /data/zipped-data/year/esk?years=2020&file_format=json\n\n[2] /data/zipped-data/year/esk?start_dt=2020-01-01T00:00:00&end_dt=2021-01-01T00:00:00&file_format=json","operationId":"observatory_data_year_data_zipped_data_year__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Enter 'ALL' (case insensitive) to fetch all observatory data.","examples":"esk,ler,asc"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Enter 'ALL' (case insensitive) to fetch all observatory data."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"years","in":"query","required":false,"schema":{"type":"string","description":"Years of request separated by dashes (e.g. 2020-2021-2022).","examples":["2020-2021-2022"],"title":"Years"},"description":"Years of request separated by dashes (e.g. 2020-2021-2022)."},{"name":"file_format","in":"query","required":true,"schema":{"type":"string","description":"Data Format","examples":"json","enum":["json","cov-json","csv","xml"],"title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","description":"Orientation of vector data returned by request.","enum":["original","XYZ","HDZ"],"default":"original","title":"Orientation"},"description":"Orientation of vector data returned by request."},{"name":"exclude","in":"query","required":false,"schema":{"type":"string","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Any code included here will not be returned. If obs_code is set to ALL, then you may exclude any observatories here.","title":"Exclude"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc). Any code included here will not be returned. If obs_code is set to ALL, then you may exclude any observatories here."}],"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string"},"example":["Zip archive containing data files and request summary."]}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check data availability.","ctx":{"No data":"Request parameters returned no valid data."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"example":{"detail":[{"type":"string","msg":"string","ctx":{"string":"string"}}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/zipped-data/k/{obs_code}":{"get":{"tags":["Zipped Data"],"summary":"Get magnetic observatory K index data as zip files.","description":"- ---------------------------------------------- -\n- Endpoint to fetch magnetic K-index data.\n- Time requests can use ONE OF: years/months query OR start_dt/end_dt.\n- 'month' can be left blank if 'years' is supplied, in which case the whole year is returned where available.\n\n- Files are supplied on a best-quality basis, and coverted on-the-fly to the requested orientation and file format.\n\n- ---------------------------------------------- -\n\nEXAMPLE\n----------\nTo fetch k index data from January 2020 at Eskdalemuir as a json we could do:\n\n[1] /data/zipped-data/k/esk?months=1&years=2020&file_format=json\n\n[2] /data/zipped-data/k/esk?start_dt=2020-01-01T00:00:00&end_dt=2020-02-01T00:00:00&file_format=json","operationId":"observatory_data_k_data_zipped_data_k__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Codes","description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc).","examples":"esk,ler,asc"},"description":"Three-letter Observation code(s) separated by commas (e.g. ler,had,asc)."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"years","in":"query","required":false,"schema":{"type":"string","description":"Years of request separated by dashes (e.g. 2020-2021-2022).","examples":["2020-2021-2022"],"title":"Years"},"description":"Years of request separated by dashes (e.g. 2020-2021-2022)."},{"name":"months","in":"query","required":false,"schema":{"type":"string","description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12.","examples":["1,2,3,4-1,2-1"],"title":"Months"},"description":"Months of request separated by commas and dashes. Dashes separate each year and commas separate the months for a given year.The requested years length must match. For example if you request 2020-2021, then months could be of format 1,2,3-1,10,11,12."},{"name":"file_format","in":"query","required":true,"schema":{"type":"string","description":"Data Format","examples":"json","enum":["json","cov-json","csv","xml","iaga"],"title":"File Format"},"description":"Data Format"}],"responses":{"200":{"description":"Success","content":{"application/zip":{"schema":{"type":"string"},"example":["Zip archive containing data files and request summary."]}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check data availability.","ctx":{"No data":"Request parameters returned no valid data."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"example":{"detail":[{"type":"string","msg":"string","ctx":{"string":"string"}}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/text-data/year/{obs_code}":{"get":{"tags":["Text Data"],"summary":"Get yearly magnetic observatory data as json/cov-json or csv text. Single observatory search only.","description":"Endpoint to fetch yearly magnetic data.\nData is provided in JSON, COV-JSON or CSV format.\nPlease use the 'page' query to access pages of your request.\nThe header in each file indicates the total pages of your request.","operationId":"observatory_yearly_data_data_text_data_year__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","examples":"2022-01-01T00:00:00","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","examples":"2022-02-01T00:00:00","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"file_format","in":"query","required":true,"schema":{"enum":["json","cov-json","csv"],"type":"string","description":"Data Format","examples":"json","title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"enum":["original","XYZF","HDZF"],"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results. Specify the page to view.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results. Specify the page to view."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"iaga-code":"string","latitude":"float","longitude":"float","data-quality":"string","converted from":"string","page":"int","total pages":"int","data":[{"X":"float","Y":"float","Z":"float","datetime":"string"}]}}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"iaga-code":"string","No data for period":"string","page":"integer","total pages":"integer","data":[]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/text-data/month/{obs_code}":{"get":{"tags":["Text Data"],"summary":"Get monthly magnetic observatory data as json/cov-json or csv text. Single observatory search only.","description":"Endpoint to fetch monthly magnetic data.\nData is provided in JSON, COV-JSON or CSV format.\nPlease use the 'page' query to access pages of your request.\nThe header in each file indicates the total pages of your request.","operationId":"observatory_monthly_data_data_text_data_month__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","examples":"2022-01-01T00:00:00","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","examples":"2022-02-01T00:00:00","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"file_format","in":"query","required":true,"schema":{"enum":["json","cov-json","csv"],"type":"string","description":"Data Format","examples":"json","title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"enum":["original","XYZF","HDZF"],"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results. Specify the page to view.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results. Specify the page to view."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"iaga-code":"string","latitude":"float","longitude":"float","data-quality":"string","converted from":"string","page":"int","total pages":"int","data":[{"X":"float","Y":"float","Z":"float","datetime":"string"}]}}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"iaga-code":"string","No data for period":"string","page":"integer","total pages":"integer","data":[]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/text-data/day/{obs_code}":{"get":{"tags":["Text Data"],"summary":"Get daily magnetic observatory data as json/cov-json or csv text. Single observatory search only.","description":"Endpoint to fetch daily magnetic data.\nData is provided in JSON, COV-JSON or CSV format.\nPlease use the 'page' query to access pages of your request.\nThe header in each file indicates the total pages of your request.","operationId":"observatory_daily_data_data_text_data_day__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","examples":"2022-01-01T00:00:00","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","examples":"2022-02-01T00:00:00","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"file_format","in":"query","required":true,"schema":{"enum":["json","cov-json","csv"],"type":"string","description":"Data Format","examples":"json","title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"enum":["original","XYZF","HDZF"],"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results. Specify the page to view.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results. Specify the page to view."},{"name":"months_per_page","in":"query","required":true,"schema":{"type":"integer","maximum":240,"minimum":1,"description":"Months of data to display per page. Maximum 240 for daily data.","title":"Months Per Page"},"description":"Months of data to display per page. Maximum 240 for daily data."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"iaga-code":"string","latitude":"float","longitude":"float","data-quality":"string","converted from":"string","page":"int","total pages":"int","data":[{"X":"float","Y":"float","Z":"float","datetime":"string"}]}}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"iaga-code":"string","No data for period":"string","page":"integer","total pages":"integer","data":[]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/text-data/hour/{obs_code}":{"get":{"tags":["Text Data"],"summary":"Get hourly magnetic observatory data as json/cov-json or csv text. Single observatory search only.","description":"Endpoint to fetch hourly magnetic data.\nData is provided in JSON, COV-JSON or CSV format.\nPlease use the 'page' query to access pages of your request.\nThe header in each file indicates the total pages of your request.","operationId":"observatory_hourly_data_data_text_data_hour__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","examples":"2022-01-01T00:00:00","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","examples":"2022-02-01T00:00:00","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"file_format","in":"query","required":true,"schema":{"enum":["json","cov-json","csv"],"type":"string","description":"Data Format","examples":"json","title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"enum":["original","XYZF","HDZF"],"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results. Specify the page to view.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results. Specify the page to view."},{"name":"months_per_page","in":"query","required":true,"schema":{"type":"integer","maximum":12,"minimum":1,"description":"Months of data to display per page. Maximum 12 for hourly data.","title":"Months Per Page"},"description":"Months of data to display per page. Maximum 12 for hourly data."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"iaga-code":"string","latitude":"float","longitude":"float","data-quality":"string","converted from":"string","page":"int","total pages":"int","data":[{"X":"float","Y":"float","Z":"float","datetime":"string"}]}}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"iaga-code":"string","No data for period":"string","page":"integer","total pages":"integer","data":[]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/text-data/minute/{obs_code}":{"get":{"tags":["Text Data"],"summary":"Get minute magnetic observatory data as json/cov-json or csv text. Single observatory search only.","description":"Endpoint to fetch minute magnetic data.\nData is provided in JSON, COV-JSON or CSV format.\nPlease use the 'page' query to access pages of your request.\nThe header in each file indicates the total pages of your request.","operationId":"observatory_minute_data_data_text_data_minute__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","examples":"2022-01-01T00:00:00","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","examples":"2022-02-01T00:00:00","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"file_format","in":"query","required":true,"schema":{"enum":["json","cov-json","csv"],"type":"string","description":"Data Format","examples":"json","title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"enum":["original","XYZF","HDZF"],"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results. Specify the page to view.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results. Specify the page to view."},{"name":"months_per_page","in":"query","required":true,"schema":{"type":"integer","maximum":2,"minimum":1,"description":"Months of data to display per page. Maximum 2 for minute data.","title":"Months Per Page"},"description":"Months of data to display per page. Maximum 2 for minute data."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"iaga-code":"string","latitude":"float","longitude":"float","data-quality":"string","converted from":"string","page":"int","total pages":"int","data":[{"X":"float","Y":"float","Z":"float","datetime":"string"}]}}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"iaga-code":"string","No data for period":"string","page":"integer","total pages":"integer","data":[]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/text-data/k/{obs_code}":{"get":{"tags":["Text Data"],"summary":"Get K-index magnetic observatory data as json/cov-json or csv text. Single observatory search only.","description":"Endpoint to fetch K-index magnetic data.\nData is provided in JSON, COV-JSON or CSV format.\nPlease use the 'page' query to access pages of your request.\nThe header in each file indicates the total pages of your request.","operationId":"observatory_k_data_data_text_data_k__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","examples":"2022-01-01T00:00:00","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","examples":"2022-02-01T00:00:00","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"file_format","in":"query","required":true,"schema":{"enum":["json","cov-json","csv"],"type":"string","description":"Data Format","examples":"json","title":"File Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"enum":["original","XYZF","HDZF"],"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results. Specify the page to view.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results. Specify the page to view."},{"name":"months_per_page","in":"query","required":true,"schema":{"type":"integer","maximum":36,"minimum":1,"description":"Months of data to display per page. Maximum 36 for K-index data.","title":"Months Per Page"},"description":"Months of data to display per page. Maximum 36 for K-index data."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"iaga-code":"string","latitude":"float","longitude":"float","data-quality":"string","converted from":"string","page":"int","total pages":"int","data":[{"X":"float","Y":"float","Z":"float","datetime":"string"}]}}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"iaga-code":"string","No data for period":"string","page":"integer","total pages":"integer","data":[]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/text-data/second/{obs_code}":{"get":{"tags":["Text Data"],"summary":"Get 1-second cadence magnetic observatory data as json. Single observatory search only.","operationId":"stream_1s_data_text_data_second__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"kir"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2024-01-01')","examples":"2024-01-01","title":"Start Dt"},"description":"Start date (e.g., '2024-01-01')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2024-02-01')","examples":"2024-02-01","title":"End Dt"},"description":"End date (e.g., '2024-02-01')"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results."},{"name":"days_per_page","in":"query","required":false,"schema":{"type":"integer","maximum":2,"minimum":1,"description":"Days of data to display per page.","default":2,"title":"Days Per Page"},"description":"Days of data to display per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/monthly-means":{"get":{"tags":["Monthly Mean Files in BGS Format"],"summary":"Get raw monthly mean data files, in a BGS IAGA-style file format.","description":"The Geomagnetism team of the British Geological Survey (BGS) maintains a database of monthly mean values from geomagnetic observatories worldwide.\n\nThe monthly means are compiled from a combination of definitive hourly data records held in the World Data Centre for Geomagnetism (Edinburgh), and near-definitive minute data held by INTERMAGNET and Tromsø Geophysical Observatory.\n\nThe data have been converted to a standardised and unified format and joined into a single series for each observatory, with all recorded baseline changes applied and known anomalous data removed.\n\nData are provided in a file format designed after the IAGA2002 format.","operationId":"download_monthly_means_get","parameters":[{"name":"obs_code","in":"query","required":false,"schema":{"type":"string","title":"Observatory Code","description":"Three-letter Observation code(s), separated by commas. Leave blank for all data.","examples":"esk"},"description":"Three-letter Observation code(s), separated by commas. Leave blank for all data."},{"name":"include_plot","in":"query","required":false,"schema":{"type":"boolean","title":"plot flag","description":"If true, PNG files plotting each observatory's monthly data compared to field models are also included.","default":false},"description":"If true, PNG files plotting each observatory's monthly data compared to field models are also included."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/data/annual-means-catalogue":{"get":{"tags":["Annual Means Catalogue"],"summary":"Get catalogue of annual means available in JSON format.","description":"Endpoint to supply json data of annual means catalogue.\n\nAny catalogue codes can be used to search for annual means endpoints.","operationId":"get_annual_cat_data_annual_means_catalogue_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"string":{"catalogue-code":"string","latitude":"string","longitude":"string","altitude":"string","data-range":"string"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"type":"Ooops! Something went wrong on our end.","msg":"Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/data/annual-means-discontinuities":{"get":{"tags":["Annual Means Catalogue"],"summary":"Get discontinuities for an observatory.","description":"Endpoint to supply json data of annual mean data discontinuities.\n\nThese data are valid for annual means, but not necessarily for other cadences of data.\nWe do not apply any calculations to our data, and supply it 'as is'.\n\nData discontinuities are caused by a change of observing site or instrument.\nValues given are in the sense (old value - new value). \nNo corrections have been made to data before or after the discontinuities.\nTo update annual means before the discontinuity so that they are consistent with the annual means after the discontinuity (for calculating secular variation), the values should be subtracted.","operationId":"get_discontinuities_data_annual_means_discontinuities_get","parameters":[{"name":"obs_code","in":"query","required":false,"schema":{"type":"string","title":"Observation Codes","description":"Valid catalogue observation code(s) or any IAGA-2002 code separated by commas (e.g. ler,had,asc). If not supplied, all stations are used.","examples":"esk,ler,asc"},"description":"Valid catalogue observation code(s) or any IAGA-2002 code separated by commas (e.g. ler,had,asc). If not supplied, all stations are used."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"data-source":"British Geological Survey","notes":"Values given are in the sense (old value - new value). To update annual means before the discontinuity so that they are consistent with the annual means after the discontinuity (for calculating secular variation), the values should be subtracted. The year following the discontinuity is given for each record. ","discontinuities":[{"ESK":[{"D":0,"H":-11,"I":0.0033333333333333335,"X":-11,"Y":1,"Z":-22,"F":-25,"year-after":1990.5},{"D":0,"H":8,"I":0,"X":8,"Y":-1,"Z":23,"F":24,"year-after":1994.5},{"D":0,"H":-1,"I":0,"X":-1,"Y":0,"Z":-3,"F":-3,"year-after":2004.5}]}]}}}},"422":{"description":"Internal Server Error","content":{"application/json":{"example":{"detail":[{"type":"No data for criteria.","msg":"Please check observatory codes are valid.","ctx":{"No data":"Requested observatory code(s) returned no data."}}]}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"type":"Ooops! Something went wrong on our end.","msg":"Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/global-geomagnetic-survey":{"get":{"tags":["Global Geomagnetic Survey Data"],"summary":"Get global geomagnetic survey data","description":"Endpoint to World Data Centre for Goemagnetism (Edinburgh) global geomagnetic survey data, hosted by BGS.\n\nDatetime parameters:\n- Start and end dates should be provided in ISO 8601 format: yyyy-mm-ddThh:mm:ss\n- Timezone info is optional. All data are returned in UTC","operationId":"global_survey_global_geomagnetic_survey_get","parameters":[{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"Start date (ISO 8601 format). Defaults to 5 years ago from today. Example: 2017-02-01T00:00:00","examples":{"five_years_ago":{"summary":"Five years ago from today","value":"2021-10-21"}},"default":"2021-10-21","title":"Start Dt"},"description":"Start date (ISO 8601 format). Defaults to 5 years ago from today. Example: 2017-02-01T00:00:00"},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"End date (ISO 8601 format). Defaults to today. Example: 2022-02-01T00:00:00","examples":{"today":{"summary":"Current date","value":"2026-10-20"}},"default":"2026-10-20","title":"End Dt"},"description":"End date (ISO 8601 format). Defaults to today. Example: 2022-02-01T00:00:00"},{"name":"file_format","in":"query","required":false,"schema":{"enum":["json","csv","geo-json"],"type":"string","description":"File format returned","examples":{"json":{"summary":"JSON format (default)","value":"json"},"csv":{"summary":"CSV format","value":"csv"}},"default":"json","title":"File Format"},"description":"File format returned"},{"name":"north-latitude","in":"query","required":false,"schema":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Maximum latitude for returned data. Must be between -90 and 90.","default":90.0,"title":"North-Latitude"},"description":"Maximum latitude for returned data. Must be between -90 and 90."},{"name":"south-latitude","in":"query","required":false,"schema":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Minimum latitude for returned data. Must be between -90 and 90.","default":-90.0,"title":"South-Latitude"},"description":"Minimum latitude for returned data. Must be between -90 and 90."},{"name":"west-longitude","in":"query","required":false,"schema":{"type":"number","maximum":360.0,"minimum":-180.0,"description":"Minimum longitude for returned data. Must be between -180 and 360.","default":0.0,"title":"West-Longitude"},"description":"Minimum longitude for returned data. Must be between -180 and 360."},{"name":"east-longitude","in":"query","required":false,"schema":{"type":"number","maximum":360.0,"minimum":-180.0,"description":"Maximum longitude for returned data. Must be between -180 and 360.","default":360.0,"title":"East-Longitude"},"description":"Maximum longitude for returned data. Must be between -180 and 360."},{"name":"include-one-off","in":"query","required":false,"schema":{"type":"boolean","description":"Include one-off observations in the data set.","examples":{"include_one_off_true":{"summary":"Include one-off observations","value":true},"include_one_off_false":{"summary":"Exclude one-off observations","value":false}},"default":true,"title":"Include-One-Off"},"description":"Include one-off observations in the data set."},{"name":"include-aeromag","in":"query","required":false,"schema":{"type":"boolean","description":"Include aeromagnetic data.","examples":{"include_aeromag_true":{"summary":"Include aeromagnetic data","value":true},"include_aeromag_false":{"summary":"Exclude aeromagnetic data","value":false}},"default":false,"title":"Include-Aeromag"},"description":"Include aeromagnetic data."},{"name":"include-marine-vector","in":"query","required":false,"schema":{"type":"boolean","description":"Include marine vector data.","examples":{"include_marine_vector_true":{"summary":"Include marine vector data","value":true},"include_marine_vector_false":{"summary":"Exclude marine vector data","value":false}},"default":false,"title":"Include-Marine-Vector"},"description":"Include marine vector data."},{"name":"include-satellite","in":"query","required":false,"schema":{"type":"boolean","description":"Include satellite data.","examples":{"include_satellite_true":{"summary":"Include satellite data","value":true},"include_satellite_false":{"summary":"Exclude satellite data","value":false}},"default":false,"title":"Include-Satellite"},"description":"Include satellite data."},{"name":"include-marine-scalar","in":"query","required":false,"schema":{"type":"boolean","description":"Include marine scalar data.","examples":{"include_marine_scalar_true":{"summary":"Include marine scalar data","value":true},"include_marine_scalar_false":{"summary":"Exclude marine scalar data","value":false}},"default":false,"title":"Include-Marine-Scalar"},"description":"Include marine scalar data."},{"name":"include-repeat-station","in":"query","required":false,"schema":{"type":"boolean","description":"Include repeat station data.","examples":{"include_repeat_station_true":{"summary":"Include repeat station data","value":true},"include_repeat_station_false":{"summary":"Exclude repeat station data","value":false}},"default":true,"title":"Include-Repeat-Station"},"description":"Include repeat station data."},{"name":"include-observatory","in":"query","required":false,"schema":{"type":"boolean","description":"Include observatory data.","examples":{"include_observatory_true":{"summary":"Include observatory data","value":true},"include_observatory_false":{"summary":"Exclude observatory data","value":false}},"default":false,"title":"Include-Observatory"},"description":"Include observatory data."},{"name":"add-source-information","in":"query","required":false,"schema":{"type":"boolean","description":"Include source information.","examples":{"add_source_information_true":{"summary":"Include source information","value":true},"add_source_information_false":{"summary":"Exclude source information","value":false}},"default":false,"title":"Add-Source-Information"},"description":"Include source information."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"dataset":"Global Survey Data","start-year":2021.0027,"end-year":2021.2493,"north-latitude":90,"south-latitude":-90,"west-longitude":0,"east-longitude":360,"include-one-off":true,"include-aeromag":false,"include-marine-vector":false,"include-satellite":false,"include-marine-scalar":false,"include-repeat-station":true,"include-observatory":false,"add-source-information":false,"global-survey-data":[{"station":"MESSINA-D","year":2021.2,"latitude":-22.370000000000005,"longitude":30.047,"d":-14.258,"i":-59.383,"h":14953,"x":14492,"y":-3683,"z":-25267,"f":29360,"altitude":450,"record_changed":false,"data_code":9,"source":1162,"serial":"39","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false},{"station":"TOMBURKE-B","year":2021.203,"latitude":-23.069999999999993,"longitude":28,"d":-16.093,"i":-61.511,"h":14002,"x":13453,"y":-3881,"z":-25800,"f":29355,"altitude":900,"record_changed":false,"data_code":9,"source":1162,"serial":"55","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false},{"station":"MICA","year":2021.205,"latitude":-24.162999999999997,"longitude":30.837,"d":-17.5,"i":-60.098,"h":14484,"x":13814,"y":-4355,"z":-25186,"f":29054,"altitude":490,"record_changed":false,"data_code":9,"source":1162,"serial":"43","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false},{"station":"PIET RETIEF-B","year":2021.208,"latitude":-27.075000000000003,"longitude":30.887,"d":-22.215,"i":-61.74,"h":13514,"x":12511,"y":-5109,"z":-25140,"f":28542,"altitude":1250,"record_changed":false,"data_code":9,"source":1162,"serial":"47","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false},{"station":"ST LUCIA-B","year":2021.211,"latitude":-28.348,"longitude":32.425,"d":-24.377,"i":-61.886,"h":13596,"x":12384,"y":-5612,"z":-25448,"f":28852,"altitude":20,"record_changed":false,"data_code":9,"source":1162,"serial":"53","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false},{"station":"UNDERBERG-B","year":2021.214,"latitude":-29.784999999999997,"longitude":29.49,"d":-26.092,"i":-62.82,"h":12744,"x":11445,"y":-5605,"z":-24818,"f":27899,"altitude":1530,"record_changed":false,"data_code":9,"source":1162,"serial":"59","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false},{"station":"FONTEINTJIE","year":2021.222,"latitude":-30.951999999999998,"longitude":23.153,"d":-25.097,"i":-64.564,"h":11314,"x":10246,"y":-4799,"z":-23789,"f":26342,"altitude":1070,"record_changed":false,"data_code":9,"source":1162,"serial":"15","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false},{"station":"GONUBIE MOUTH-B","year":2021.219,"latitude":-32.937,"longitude":28.03,"d":-29.338,"i":-63.046,"h":12304,"x":10726,"y":-6028,"z":-24196,"f":27145,"altitude":40,"record_changed":false,"data_code":9,"source":1162,"serial":"25","element_code":"2121121","gmt":0,"country":"SA","is_commercial":false}]}},"text/csv":{"example":"\nstation,year,latitude,longitude,d,i,h,x,y,z,f,altitude,record_changed,data_code,source,serial,element_code,gmt,country,is_commercial\nMESSINA-D,2021.2,-22.370000000000005,30.047,-14.258,-59.383,14953.0,14492.0,-3683.0,-25267.0,29360.0,450.0,False,9,1162,39,2121121,0,SA,False\nTOMBURKE-B,2021.203,-23.069999999999993,28.0,-16.093,-61.511,14002.0,13453.0,-3881.0,-25800.0,29355.0,900.0,False,9,1162,55,2121121,0,SA,False\nMICA,2021.205,-24.162999999999997,30.837,-17.5,-60.098,14484.0,13814.0,-4355.0,-25186.0,29054.0,490.0,False,9,1162,43,2121121,0,SA,False\nPIET RETIEF-B,2021.208,-27.075000000000003,30.887,-22.215,-61.74,13514.0,12511.0,-5109.0,-25140.0,28542.0,1250.0,False,9,1162,47,2121121,0,SA,False\nST LUCIA-B,2021.211,-28.348,32.425,-24.377,-61.886,13596.0,12384.0,-5612.0,-25448.0,28852.0,20.0,False,9,1162,53,2121121,0,SA,False\nUNDERBERG-B,2021.214,-29.784999999999997,29.49,-26.092,-62.82,12744.0,11445.0,-5605.0,-24818.0,27899.0,1530.0,False,9,1162,59,2121121,0,SA,False\nFONTEINTJIE,2021.222,-30.951999999999998,23.153,-25.097,-64.564,11314.0,10246.0,-4799.0,-23789.0,26342.0,1070.0,False,9,1162,15,2121121,0,SA,False\nGONUBIE MOUTH-B,2021.219,-32.937,28.03,-29.338,-63.046,12304.0,10726.0,-6028.0,-24196.0,27145.0,40.0,False,9,1162,25,2121121,0,SA,False\n"}}},"202":{"description":"No Data for Time Interval","content":{"application/json":{"example":{"dataset":"Global Survey Data","data":"No data available for time span: 2022-01-01 00:00:00 to 2022-04-01 00:00:00"}}}},"400":{"description":"Bad request.","content":{"application/json":{"example":{"type":"datetime range invalid","loc":["query","end_dt"],"msg":"End date is less than or equal to start date","input":"end","ctx":{"error":"End date must be less than start date"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"detail":[{"type":"Internal server error","msg":"Looks like something went wrong on our end!","ctx":{"Server error":"Please try again or report the problem."}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/acknowledgements/{obs_code}":{"get":{"tags":["Observatory Acknowledgement"],"summary":"Generate observatory data acknowledgements.","description":"Endpoint to fetch acknowledgement text for observatories.","operationId":"auxilliary_data_acknowledgements__obs_code__get","parameters":[{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"}],"responses":{"200":{"description":"Success","content":{"text/plain":{"schema":{"type":"string"},"example":"Eskdalemuir:\nIAGA Code: ESK  lat: 55.314  long: 356.794\n\nDear Colleague,\n\nIf these data are used in a publication kindly acknowledge:\n\nBritish Geological Survey\n\nIf you have any questions regarding the data please contact:\n\n---------------------------------------\nChris Turbitt\nEmail: cwtu@bgs.ac.uk\n---------------------------------------\n\nSarah Reay\nEmail: sjr@bgs.ac.uk\n---------------------------------------\n\nEllen Clarke\nEmail: ecla@bgs.ac.uk\n---------------------------------------\n\n\nThe observatory contact person would highly appreciate a reprint.\n\nSincerely yours,\nWDC for Geomagnetism, Edinburgh\n\nWDC for Geomagnetism\nBritish Geological Survey\nThe Lyell Centre\nResearch Avenue South\nCurrie\nEdinburgh\nEH14 4AP\n\nTel: +44 (0)131 667 1000\nEmail: wdcgeomag@bgs.ac.uk"}}},"202":{"description":"No Data for Criteria.","content":{"json/application":{"example":{"detail":[{"type":"string","msg":"Please check observatory code is valid.","ctx":{"Invalid code":"Request observatory code is not valid."}}]}}}},"422":{"description":"Unprocessable Entity","content":{"json/application":{"example":{"detail":{"type":"query parameter invalid.","loc":["query","obs_code"],"msg":"Observatory code must be valid 3-letter IAGA code.","input":"123","ctx":{"error":"obs_code is not valid. Please use metadata endpoints to see valid codes."}}}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/hapi/capabilities":{"get":{"tags":["HAPI Server Capabilities and About"],"summary":"Get WDC HAPI capabilities.","description":"HAPI capbilities endpoint.","operationId":"capabiltiies_hapi_capabilities_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"HAPI":"3.2","status":{"code":1200,"message":"OK"},"outputFormats":["csv","json"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1400,"message":"Bad request - user input error"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1500,"message":"Internal server error"}}}}}}}},"/hapi/about":{"get":{"tags":["HAPI Server Capabilities and About"],"summary":"Get WDC HAPI server id and title, contact information, and a brief description of the datasets served.","description":"HAPI about endpoint.","operationId":"about_hapi_about_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"HAPI":"3.2","status":{"code":1200,"message":"OK"},"id":"WDC","title":"HAPI WDC (Edinburgh) Server","contact":"wdcgeomag@bgs.ac.uk","description":"Web API for the WDC at Edinburgh datasets. Data is offered at cadences of: minute, hour, day, month and year. K-index data is also available. Data are delivered on a best-quality basis, and converted on-the-fly to the requested orientation and file format. All data are definitive."}}}},"400":{"description":"Bad Request","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1400,"message":"string"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1500,"message":"Internal server error"}}}}}}}},"/hapi/catalog":{"get":{"tags":["HAPI Dataset Catalog and Info"],"summary":"Get HAPI catalog of all WDC datasets.","description":"HAPI catalog endpoint.\n\nFetch a JSON containing all datasets available through\nthe WDC and their IDs in HAPI format.\n\nDataset IDs are of the format: {code}/{cadence}/{orientation}\n\nK-index data has cadence PT3H and cadence k.\nYearly means (P1Y) are only available as full XYZHDI(F) data.","operationId":"catalog_hapi_catalog_get","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"HAPI":"3.1","status":{"code":1200,"message":"OK"},"catalog":[{"id":"string","title":"string"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1400,"message":"string"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1500,"message":"Internal server error"}}}}}}}},"/hapi/info":{"get":{"tags":["HAPI Dataset Catalog and Info"],"summary":"Get WDC HAPI info for a specific dataset.","description":"HAPI about endpoint.\n\nEnter query of format code/cadence/orientation (e.g. esk/PT1M/hdz) to get info on datasets.\n\nCadences are as following:\n\n- PT1M: Minute Means **(available in xyz/hdz/original)**\n- PT1H: Hourly Means **(available in xyz/hdz/original)**\n- P1D: Daily Means **(available in xyz/hdz/original)**\n- P1M: Monthly Means **(available in hdz/xyz/original)**\n- P1Y: Yearly Means **(available in hdz/xyz/original)**\n- PT3H: K-index data\n\nOrientations are as following:\n- xyz\n- hdz\n- original **(the original file format)**\n- k **(3-hourly K-index only)**","operationId":"info_hapi_info_get","parameters":[{"name":"dataset","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The dataset in the format code/cadence/orientation","title":"Dataset"},"description":"The dataset in the format code/cadence/orientation"},{"name":"parameters","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"OPTIONAL: comma-separated parameters to return in response body. If omitted, all parameters are returned.","title":"Parameters"},"description":"OPTIONAL: comma-separated parameters to return in response body. If omitted, all parameters are returned."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"HAPI":"3.2","status":{"code":1200,"message":"OK"},"startDate":"1983-01-01T00:00:00Z","stopDate":"2023-01-01T00:00:00Z","timeStampLocation":"begin","cadence":"PT1M","maxRequestDuration":"P1Y","description":"Definitve minute data in xyz orientation from Eskdalemuir (ESK)","resourceURL":"https://wdcapi.bgs.ac.uk","citation":"https://wdcapi.bgs.ac.uk/acknowledgements/esk","contact":"wdcgeomag@bgs.ac.uk","x_latitude":55.314,"x_longitude":356.794,"x_elevation":245,"parameters":[{"name":"Time","type":"isotime","length":20,"units":"UTC","fill":"null","description":"The UTC date and time for the data from Eskdalemuir (ESK)","label":"Datetime"},{"name":"Field_Vector","type":"double","size":[3],"units":["nT","nT","nT"],"vectorComponents":["x","y","z"],"fill":"null","description":"The vector value of the magnetic field at Eskdalemuir (ESK)","label":["X","Y","Z"]},{"name":"Original_Format","type":"string","length":18,"description":"Original file format from which data has been converted.","fill":"null"}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1400,"message":"string"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1500,"message":"Internal server error"}}}}}}}},"/hapi/data":{"get":{"tags":["HAPI Data"],"summary":"Get HAPI format WDC data.","description":"HAPI data endpoint.\n\nQueries are backwards compatible, such that start/stop OR time.min/time.max may be used. dataset/id are interchangeable.\n\ntime.min/time.max and id are hidden from the docs but can still be queried.\n\n___________________________________________________________________\n\nMaximum request sizes are:\n- Minute Means: 2 Years\n- Hour Means: 20 Years\n- K-index: 50 Years\n- Daily Means: Unlimited\n- Monthly Means: Unlimited\n- Annual Means: Unlimited\n\ndataset (or id) query references each dataset ID and is of format: iaga_code/cadence/orientation\n\n**e.g. esk/PT1M/xyz : 1 minute means from eskdalemuir in XYZ orientation**\n\n**e.g. esk/PT3H/k : 3-hourly K-index data from eskdalemuir**\n\n___________________________________________________________________\n\nCadences are as following:\n\n- PT1M: Minute Means **(available in xyz/hdz/original)**\n- PT1H: Hourly Means **(available in xyz/hdz/original)**\n- P1D: Daily Means **(available in xyz/hdz/original)**\n- P1M: Monthly Means **(available in hdz/xyz/original)**\n- P1Y: Yearly Means **(available in hdz/xyz/original)**\n- PT3H: K-index data\n\nOrientations are as following:\n- xyz\n- hdz\n- original **(the original file format)**\n- k **(3-hourly K-index only)**","operationId":"data_hapi_data_get","parameters":[{"name":"dataset","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The dataset in the format code/cadence/orientation","title":"Dataset"},"description":"The dataset in the format code/cadence/orientation"},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"UTC start date/time for the query in ISO 8601 format","title":"Start"},"description":"UTC start date/time for the query in ISO 8601 format"},{"name":"stop","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"UTC end date/time for the query in ISO 8601 format","title":"Stop"},"description":"UTC end date/time for the query in ISO 8601 format"},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Format in which data is returned","enum":["csv","json"],"default":"csv","title":"Format"},"description":"Format in which data is returned"},{"name":"parameters","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"OPTIONAL: comma-separated parameters to return in response body. If omitted, all parameters are returned.","title":"Parameters"},"description":"OPTIONAL: comma-separated parameters to return in response body. If omitted, all parameters are returned."},{"name":"include","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Whether to include header metadata in response.","enum":["header"],"title":"Include"},"description":"Whether to include header metadata in response."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"data":[["2020-01-16T00:00:00Z",[17589,-523,46593],"IAGA-2002"],["2020-02-15T00:00:00Z",[17588,-517,46596],"IAGA-2002"],["2020-03-16T00:00:00Z",[17591,-513,46596],"IAGA-2002"],["2020-04-15T12:00:00Z",[17592,-507,46599],"IAGA-2002"],["2020-05-16T00:00:00Z",[17599,-503,46599],"IAGA-2002"]]}},"text/csv":{"example":"2020-01-16T00:00:00Z,17589,-523,46593.0,IAGA-2002\n2020-02-15T00:00:00Z,17588,-517,46596.0,IAGA-2002\n2020-03-16T00:00:00Z,17591,-513,46596.0,IAGA-2002\n2020-04-15T12:00:00Z,17592,-507,46599.0,IAGA-2002\n2020-05-16T00:00:00Z,17599,-503,46599.0,IAGA-2002\n"}}},"400":{"description":"Bad Request","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1400,"message":"string"}}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"example":{"HAPI":"3.2","status":{"code":1500,"message":"Internal server error"}}}}}}}},"/metadata/epos-geojson/":{"get":{"tags":["EPOS GeoJSON"],"summary":"Get WDC Observatory GeoJSON Data with EPOS flags","description":"Retrieve a list of observatory locations and associated basic metadata in GeoJSON format\n\nNote: Coordinates are given as [longitude, latitude]","operationId":"get_data_metadata_epos_geojson__get","parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","description":"Select organisation to use as data source","enum":["wdc","intermagnet","image"],"default":"wdc","title":"Provider"},"description":"Select organisation to use as data source"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EposGeoJson"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/data/epos-text-data/{cadence}/{obs_code}":{"get":{"tags":["EPOS Text Data"],"summary":"Get magnetic observatory data as covJson text in browser. Single observatory search only.","description":"Endpoint to fetch magnetic data.\n\nData is provided in Coverage JSON format only.\n\nPlease use the 'page' query to access pages of your request.\n\nThe header in each file indicates the total pages of your request.","operationId":"epos_text_data_data_epos_text_data__cadence___obs_code__get","parameters":[{"name":"cadence","in":"path","required":true,"schema":{"type":"string","title":"Data Cadence","description":"Cadence of data.","examples":"hour","enum":["year","month","day","hour","minute","k"]},"description":"Cadence of data."},{"name":"obs_code","in":"path","required":true,"schema":{"type":"string","title":"Observation Code","description":"Three-letter Observation code","examples":"esk"},"description":"Three-letter Observation code"},{"name":"start_dt","in":"query","required":true,"schema":{"type":"string","description":"Start date (e.g., '2022-01-01T00:00:00')","examples":"2022-01-01T00:00:00","title":"Start Dt"},"description":"Start date (e.g., '2022-01-01T00:00:00')"},{"name":"end_dt","in":"query","required":true,"schema":{"type":"string","description":"End date (e.g., '2022-02-01T00:00:00')","examples":"2022-02-01T00:00:00","title":"End Dt"},"description":"End date (e.g., '2022-02-01T00:00:00')"},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Data Format","examples":"covJson","enum":["covJson"],"default":"covJson","title":"Format"},"description":"Data Format"},{"name":"orientation","in":"query","required":false,"schema":{"type":"string","description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database.","enum":["original","XYZF","HDZF"],"default":"original","title":"Orientation"},"description":"Orientation of data returned by request. 'original' supplies orientation as given in file read from WDC database."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Requests are paginated into pages of results. Specify the page to view.","default":1,"title":"Page"},"description":"Requests are paginated into pages of results. Specify the page to view."},{"name":"months_per_page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Months of data to display per page. Unlimited for yearly/monthly, limited to 120 for daily, 12 for hourly, 2 for minute, and 36 for K-index.","title":"Months Per Page"},"description":"Months of data to display per page. Unlimited for yearly/monthly, limited to 120 for daily, 12 for hourly, 2 for minute, and 36 for K-index."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{},"example":{"iaga-code":"string","latitude":"float","longitude":"float","data-quality":"string","converted from":"string","page":"int","total pages":"int","data":[{"X":"float","Y":"float","Z":"float","datetime":"string"}]}}}},"202":{"description":"No Data for Criteria","content":{"application/json":{"example":{"iaga-code":"string","No data for period":"string","page":"integer","total pages":"integer","data":[]}}}},"422":{"description":"Validation Error","content":{"application/json":{"example":{"detail":[{"loc":["string",0],"msg":"string","type":"string"}]}}}},"500":{"description":"Internal Server Error","content":{"json/application":{"example":{"type":"Ooops! Something went wrong on our end.","msg":" Please report if the issue persists.","ctx":{"error":"A server error occurred."}}}}}}}},"/metadata/intermagnet-definitive-catalogue":{"get":{"tags":["Intermagnet Catalogue and Yearbooks"],"summary":"Get Catalogue","operationId":"get_catalogue_metadata_intermagnet_definitive_catalogue_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/INTERMAGNETCatalogue"}}}},"404":{"description":"Not found"}}}},"/metadata/intermagnet-yearbooks":{"get":{"tags":["Intermagnet Catalogue and Yearbooks"],"summary":"Get Yearbooks","description":"Get Intermagnet Yearbooks for observatories and institutes, filtered by date range and grouped by observatory or institute.\n\nParameters:\n- **observatory**: Comma-separated IAGA codes. Leave blank to retrieve data for all observatories. Search strings are not case sensitive.\n- **start_dt**: Start date for filtering metadata. If omitted, metadata will be returned for all dates.\n- **end_dt**: End date for filtering metadata. If omitted, metadata will be returned for all dates.\n- **group_by**: Group the results by either 'observatory' or 'institute'. Default is 'observatory'.\n- **historical**: Boolean variable - If True will return all observatories. If False, will return currently operational observatories only.","operationId":"get_yearbooks_metadata_intermagnet_yearbooks_get","parameters":[{"name":"observatory","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated IAGA codes. Leave blank to retrieve data for all observatories. Search strings are not case sensitive.","title":"Observatory"},"description":"Comma-separated IAGA codes. Leave blank to retrieve data for all observatories. Search strings are not case sensitive."},{"name":"start_dt","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"Start date for filtering metadata. If omitted, metadata will be returned for all dates. ","title":"Start Dt"},"description":"Start date for filtering metadata. If omitted, metadata will be returned for all dates. "},{"name":"end_dt","in":"query","required":false,"schema":{"type":"string","format":"date-time","description":"End date for filtering metadata. If omitted, metadata will be returned for all dates. ","title":"End Dt"},"description":"End date for filtering metadata. If omitted, metadata will be returned for all dates. "},{"name":"group_by","in":"query","required":false,"schema":{"type":"string","description":"Group the results by either 'observatory' or 'institute'. Default is 'observatory'.","enum":["observatory","institute"],"default":"observatory","title":"Group By"},"description":"Group the results by either 'observatory' or 'institute'. Default is 'observatory'."},{"name":"historical","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Boolean variable - If True will return all observatories. If False, will return currently operational observatories only","default":true,"title":"Historical"},"description":"Boolean variable - If True will return all observatories. If False, will return currently operational observatories only"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/YearbooksResponseIntermagnet"},{"$ref":"#/components/schemas/YearbooksInstitutesResponseIntermagnet"}],"title":"Response Get Yearbooks Metadata Intermagnet Yearbooks Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AddressDdaWeb":{"properties":{"observatory_iaga_code":{"type":"string","title":"Observatory Iaga Code"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"address1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address1"},"address2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address2"},"address3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address3"},"address4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address4"},"address5":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address5"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},"type":"object","required":["observatory_iaga_code"],"title":"AddressDdaWeb"},"CatalogueYear":{"properties":{"id":{"type":"string","title":"Id"},"observatories":{"items":{"$ref":"#/components/schemas/Observatory"},"type":"array","title":"Observatories"}},"type":"object","required":["id","observatories"],"title":"CatalogueYear"},"EposGeoJson":{"properties":{"type":{"type":"string","title":"Type"},"@epos_style":{"$ref":"#/components/schemas/EposStyle"},"features":{"items":{"$ref":"#/components/schemas/EposGeoJsonFeatures"},"type":"array","title":"Features"}},"type":"object","required":["type","features"],"title":"EposGeoJson"},"EposGeoJsonFeatures":{"properties":{"type":{"type":"string","title":"Type"},"geometry":{"$ref":"#/components/schemas/wdcGeometry"},"properties":{"$ref":"#/components/schemas/EposProperties"}},"type":"object","required":["type","geometry","properties"],"title":"EposGeoJsonFeatures"},"EposMarker":{"properties":{"pin":{"type":"string","title":"Pin"}},"type":"object","required":["pin"],"title":"EposMarker"},"EposObservatory":{"properties":{"label":{"type":"string","title":"Label"},"marker":{"$ref":"#/components/schemas/EposMarker"}},"type":"object","required":["label","marker"],"title":"EposObservatory"},"EposProperties":{"properties":{"@epos_data_keys":{"items":{"type":"string"},"type":"array","title":"@Epos Data Keys"},"@epos_map_keys":{"items":{"type":"string"},"type":"array","title":"@Epos Map Keys"},"@epos_type":{"type":"string","title":"@Epos Type"},"iaga_code":{"type":"string","title":"Iaga Code"},"name":{"type":"string","title":"Name"},"institutes":{"items":{"type":"string"},"type":"array","title":"Institutes"},"elevation":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Elevation"},"opened":{"type":"string","format":"date-time","title":"Opened"},"closed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"data_availability":{"type":"string","title":"Data Availability"}},"type":"object","required":["iaga_code","name","institutes","elevation","opened","closed","url","data_availability"],"title":"EposProperties"},"EposStyle":{"properties":{"observatory":{"$ref":"#/components/schemas/EposObservatory"}},"type":"object","required":["observatory"],"title":"EposStyle"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"INTERMAGNETCatalogue":{"properties":{"intermagnet_catalogue":{"items":{"$ref":"#/components/schemas/CatalogueYear"},"type":"array","title":"Intermagnet Catalogue"}},"type":"object","required":["intermagnet_catalogue"],"title":"INTERMAGNETCatalogue"},"InstituteDdaWeb":{"properties":{"abbreviation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Abbreviation"},"country_code":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Country Code"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"department_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department Name"},"institute_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Institute Name"},"institute_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Institute Url"},"observatory_iaga_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observatory Iaga Code"},"observ_relationship":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observ Relationship"},"observ_rel_valid_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observ Rel Valid From"},"observ_rel_valid_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observ Rel Valid To"}},"type":"object","title":"InstituteDdaWeb"},"InstrumentDdaWeb":{"properties":{"absolute":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Absolute"},"primary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary"},"orientation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orientation"},"dynamic_range":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Dynamic Range"},"resolution":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Resolution"},"sample_period":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Sample Period"},"instrument_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instrument Type"},"serial_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Serial Number"},"valid_from":{"type":"string","format":"date-time","title":"Valid From"},"valid_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid To"},"manufacturer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manufacturer"},"instrument_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instrument Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"filter":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter"}},"type":"object","required":["valid_from"],"title":"InstrumentDdaWeb"},"IntermagnetDdaWeb":{"properties":{"member_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Member From"},"member_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Member To"},"publication_delay":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Publication Delay"},"plot_delay":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Plot Delay"},"gin_comms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gin Comms"},"intermagnet_gin_code":{"type":"string","title":"Intermagnet Gin Code"},"intermagnet_gin_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intermagnet Gin Name"}},"type":"object","required":["publication_delay","plot_delay","intermagnet_gin_code"],"title":"IntermagnetDdaWeb"},"LocationsBasic":{"properties":{"observatory_iaga_code":{"type":"string","title":"Observatory Iaga Code"},"locations":{"items":{"$ref":"#/components/schemas/location_all"},"type":"array","title":"Locations"}},"type":"object","required":["observatory_iaga_code","locations"],"title":"LocationsBasic"},"LocationsNested":{"properties":{"data":{"items":{"$ref":"#/components/schemas/LocationsBasic"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"LocationsNested"},"Observatory":{"properties":{"iaga_code":{"type":"string","title":"Iaga Code"}},"type":"object","required":["iaga_code"],"title":"Observatory"},"ObservatoryDdaWebDetailedDataSchema":{"properties":{"attributes":{"$ref":"#/components/schemas/attributes_all"},"address":{"items":{"$ref":"#/components/schemas/AddressDdaWeb"},"type":"array","title":"Address"},"instruments":{"items":{"$ref":"#/components/schemas/InstrumentDdaWeb"},"type":"array","title":"Instruments"},"institutes":{"items":{"$ref":"#/components/schemas/InstituteDdaWeb"},"type":"array","title":"Institutes"},"locations":{"items":{"$ref":"#/components/schemas/location_all"},"type":"array","title":"Locations"},"persons":{"items":{"$ref":"#/components/schemas/PersonDdaWeb"},"type":"array","title":"Persons"},"intermagnet":{"items":{"$ref":"#/components/schemas/IntermagnetDdaWeb"},"type":"array","title":"Intermagnet"}},"type":"object","required":["attributes","address","instruments","institutes","locations","persons","intermagnet"],"title":"ObservatoryDdaWebDetailedDataSchema"},"ObservatoryMetadataSchema":{"properties":{"observatory_iaga_code":{"type":"string","title":"Observatory Iaga Code"},"attributes":{"$ref":"#/components/schemas/attributes_all"},"address":{"items":{"$ref":"#/components/schemas/AddressDdaWeb"},"type":"array","title":"Address"},"institutes":{"items":{"$ref":"#/components/schemas/InstituteDdaWeb"},"type":"array","title":"Institutes"},"locations":{"items":{"$ref":"#/components/schemas/location_all"},"type":"array","title":"Locations"},"instruments":{"items":{"$ref":"#/components/schemas/InstrumentDdaWeb"},"type":"array","title":"Instruments"},"persons":{"items":{"$ref":"#/components/schemas/PersonDdaInstSchema"},"type":"array","title":"Persons"},"intermagnet":{"items":{"$ref":"#/components/schemas/IntermagnetDdaWeb"},"type":"array","title":"Intermagnet"}},"type":"object","required":["observatory_iaga_code","attributes","address","institutes","locations","instruments","persons","intermagnet"],"title":"ObservatoryMetadataSchema"},"ObservatorySchema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ObservatoryMetadataSchema"},"type":"array","title":"Data"}},"type":"object","required":["data"],"title":"ObservatorySchema"},"PersonDdaInstSchema":{"properties":{"observatory_iaga_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observatory Iaga Code"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Given Name"},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone2"},"fax":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fax"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"email2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email2"},"address1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address1"},"address2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address2"},"address3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address3"},"address4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address4"},"address5":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address5"},"postcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Postcode"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang"},"observ_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observ Role"},"observ_role_valid_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observ Role Valid From"},"observ_role_valid_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observ Role Valid To"}},"type":"object","title":"PersonDdaInstSchema"},"PersonDdaWeb":{"properties":{"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone2"},"fax":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fax"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"email2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email2"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"given_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Given Name"},"family_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family Name"},"preferred_contact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Contact"},"observatory_iaga_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observatory Iaga Code"},"observ_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observ Role"},"observ_role_valid_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observ Role Valid From"},"observ_role_valid_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Observ Role Valid To"}},"type":"object","title":"PersonDdaWeb"},"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"},"WdcGeoJson":{"properties":{"type":{"type":"string","title":"Type"},"features":{"items":{"$ref":"#/components/schemas/WdcGeoJsonFeatures"},"type":"array","title":"Features"}},"type":"object","required":["type","features"],"title":"WdcGeoJson"},"WdcGeoJsonFeatures":{"properties":{"type":{"type":"string","title":"Type"},"geometry":{"$ref":"#/components/schemas/wdcGeometry"},"properties":{"$ref":"#/components/schemas/wdcProperties"}},"type":"object","required":["type","geometry","properties"],"title":"WdcGeoJsonFeatures"},"WdcGeoJsonFeaturesIGRF":{"properties":{"type":{"type":"string","title":"Type"},"geometry":{"$ref":"#/components/schemas/wdcGeometry"},"properties":{"$ref":"#/components/schemas/wdcPropertiesIGRF"}},"type":"object","required":["type","geometry","properties"],"title":"WdcGeoJsonFeaturesIGRF"},"WdcGeoJsonFeaturesQD":{"properties":{"type":{"type":"string","title":"Type"},"geometry":{"$ref":"#/components/schemas/wdcGeometryQD"},"properties":{"$ref":"#/components/schemas/wdcProperties"}},"type":"object","required":["type","geometry","properties"],"title":"WdcGeoJsonFeaturesQD"},"WdcGeoJsonIGRF":{"properties":{"type":{"type":"string","title":"Type"},"features":{"items":{"$ref":"#/components/schemas/WdcGeoJsonFeaturesIGRF"},"type":"array","title":"Features"}},"type":"object","required":["type","features"],"title":"WdcGeoJsonIGRF"},"WdcGeoJsonQD":{"properties":{"type":{"type":"string","title":"Type"},"features":{"items":{"$ref":"#/components/schemas/WdcGeoJsonFeaturesQD"},"type":"array","title":"Features"}},"type":"object","required":["type","features"],"title":"WdcGeoJsonQD"},"YearbookInstituteIntermagnet":{"properties":{"institute":{"type":"string","title":"Institute"},"yearbooks":{"items":{"$ref":"#/components/schemas/YearbookSpanInstituteIntermagnet"},"type":"array","title":"Yearbooks"}},"type":"object","required":["institute","yearbooks"],"title":"YearbookInstituteIntermagnet"},"YearbookObservatory":{"properties":{"observatory_iaga_code":{"type":"string","title":"Observatory Iaga Code"},"yearbooks":{"items":{"$ref":"#/components/schemas/YearbookSpan"},"type":"array","title":"Yearbooks"}},"type":"object","required":["observatory_iaga_code","yearbooks"],"title":"YearbookObservatory"},"YearbookObservatoryIntermagnet":{"properties":{"observatory_iaga_code":{"type":"string","title":"Observatory Iaga Code"},"yearbooks":{"items":{"$ref":"#/components/schemas/YearbookSpanIntermagnet"},"type":"array","title":"Yearbooks"}},"type":"object","required":["observatory_iaga_code","yearbooks"],"title":"YearbookObservatoryIntermagnet"},"YearbookSpan":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"links":{"items":{"type":"string"},"type":"array","title":"Links"},"sources":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Sources"},"licence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licence"}},"type":"object","required":["start","end","links","sources","licence"],"title":"YearbookSpan"},"YearbookSpanInstituteIntermagnet":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"links":{"items":{"type":"string"},"type":"array","title":"Links"},"sources":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Sources"},"licence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licence"},"observatories":{"items":{"type":"string"},"type":"array","title":"Observatories"},"intermagnet_status":{"type":"boolean","title":"Intermagnet Status"}},"type":"object","required":["start","end","links","sources","licence","observatories","intermagnet_status"],"title":"YearbookSpanInstituteIntermagnet"},"YearbookSpanIntermagnet":{"properties":{"start":{"type":"string","title":"Start"},"end":{"type":"string","title":"End"},"links":{"items":{"type":"string"},"type":"array","title":"Links"},"sources":{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array","title":"Sources"},"licence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Licence"},"intermagnet_status":{"type":"boolean","title":"Intermagnet Status"}},"type":"object","required":["start","end","links","sources","licence","intermagnet_status"],"title":"YearbookSpanIntermagnet"},"YearbooksInstitutesResponseIntermagnet":{"properties":{"institutes":{"items":{"$ref":"#/components/schemas/YearbookInstituteIntermagnet"},"type":"array","title":"Institutes"}},"type":"object","required":["institutes"],"title":"YearbooksInstitutesResponseIntermagnet"},"YearbooksResponse":{"properties":{"observatories":{"items":{"$ref":"#/components/schemas/YearbookObservatory"},"type":"array","title":"Observatories"}},"type":"object","required":["observatories"],"title":"YearbooksResponse"},"YearbooksResponseIntermagnet":{"properties":{"observatories":{"items":{"$ref":"#/components/schemas/YearbookObservatoryIntermagnet"},"type":"array","title":"Observatories"}},"type":"object","required":["observatories"],"title":"YearbooksResponseIntermagnet"},"attributes_all":{"properties":{"observatory_iaga_code":{"type":"string","title":"Observatory Iaga Code"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"acknowledgement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acknowledgement"},"observatory_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observatory Url"},"preferred_contact":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Contact"},"additional_info":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Info"}},"type":"object","required":["observatory_iaga_code"],"title":"attributes_all"},"location_all":{"properties":{"latitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Latitude"},"longitude":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Longitude"},"elevation":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Elevation"},"elevation_datum":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Elevation Datum"},"geodetic_datum":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geodetic Datum"},"valid_from":{"type":"string","format":"date-time","title":"Valid From"},"valid_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid To"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"region_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region Language"}},"type":"object","required":["latitude","longitude","elevation","valid_from"],"title":"location_all"},"wdcGeometry":{"properties":{"type":{"type":"string","title":"Type"},"coordinates":{"items":{"type":"number"},"type":"array","maxItems":2,"minItems":2,"title":"Coordinates"}},"type":"object","required":["type","coordinates"],"title":"wdcGeometry"},"wdcGeometryQD":{"properties":{"type":{"type":"string","title":"Type"},"coordinates":{"items":{"type":"number"},"type":"array","maxItems":2,"minItems":2,"title":"Coordinates"},"geomagnetic-coordinates":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"string","format":"date-time"}],"type":"array","maxItems":3,"minItems":3,"title":"Geomagnetic-Coordinates","default":[0.0,0.0,"2026-10-20"]}},"type":"object","required":["type","coordinates"],"title":"wdcGeometryQD"},"wdcProperties":{"properties":{"iaga_code":{"type":"string","title":"Iaga Code"},"name":{"type":"string","title":"Name"},"institutes":{"items":{"type":"string"},"type":"array","title":"Institutes"},"elevation":{"type":"number","title":"Elevation"},"opened":{"type":"string","format":"date-time","title":"Opened"},"closed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["iaga_code","name","institutes","elevation","opened","closed","url"],"title":"wdcProperties"},"wdcPropertiesIGRF":{"properties":{"iaga_code":{"type":"string","title":"Iaga Code"},"name":{"type":"string","title":"Name"},"institutes":{"items":{"type":"string"},"type":"array","title":"Institutes"},"elevation":{"type":"number","title":"Elevation"},"opened":{"type":"string","format":"date-time","title":"Opened"},"closed":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"IGRF-14-model-values":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"string"}]},"type":"object"},{"type":"null"}],"title":"Igrf-14-Model-Values"}},"type":"object","required":["iaga_code","name","institutes","elevation","opened","closed","url"],"title":"wdcPropertiesIGRF"}}}}