{
    "informationService": {
        "descriptionInformation": {
            "descriptionIdentification": {
                "title": "SADIS OPMET API",
                "edition": "1.0.0",
                "referenceDate": "2024-01-03"
            },
            "abbreviations": [
                {
                    "name": "EDR",
                    "description": "<p>Environmental Data Retrieval. To learn more about this standard, please visit:&nbsp;<a href=\"https://ogcapi.ogc.org/edr/\">https://ogcapi.ogc.org/edr/</a></p>\r\n"
                },
                {
                    "name": "ICAO",
                    "description": "<p>International Civil Aviation Organisation</p>\r\n"
                },
                {
                    "name": "OGC",
                    "description": "<p>Open Geospatial Consortium</p>\r\n"
                },
                {
                    "name": "SADIS",
                    "description": "<p>The\u202fSecure Aviation Data Information&nbsp;System (SADIS) supplies World Area Forecast System (WAFS) and OPerational METeorology (OPMET) data to aviation users in Europe, Africa, and parts of Asia. This is an FTP system which is delivered and&nbsp; maintained exclusively by the Met Office.</p>\r\n"
                },
                {
                    "name": "WAFC",
                    "description": "<p>World Area Forecast Centre</p>\r\n\r\n<p>The Met Office is one of only two World Area Forecast Centres (WAFC) and is known as WAFC London - the other is WAFC Washington (NOAA).</p>\r\n"
                },
                {
                    "name": "WAFS",
                    "description": "<p>Worldwide Aviation Forecast System</p>\r\n"
                },
                {
                    "name": "WIFS",
                    "description": "<p>WIFS is the&nbsp;<em>World Area Forecast System</em>&nbsp;(WAFS) Internet File Service, a service provided by the United States to support international flight operations.</p>\r\n"
                }
            ]
        },
        "serviceIdentification": {
            "name": "SADIS OPMET API",
            "version": "1.0.0"
        },
        "serviceAbstract": "<p>The SADIS OPMET API supplies packaged bulletins of meteorological observations data in response to tailored API requests submitted by an end user. This data is provided under the remit of the International Civil Aviation Organisation (ICAO) and can be used to support activities related to aviation. Responses to API requests may be in the form of API codes, JSON payloads or HTTP re-directs to payloads of data.</p><p>The SADIS API is operated by the Met Office in its role as World Area Forecast Centre (WAFC) London, and is primarily available to users located in Europe, Africa, the Middle East, and Asia.</p><p>OPMET data sets can be used for:</p><ul><li>Flight planning (and therefore reducing fuel burn)&nbsp;</li><li>Reducing CO<sub>2</sub>&nbsp;emissions&nbsp;</li><li>Hazard awareness and avoidance</li></ul><p>The OPMET API data is provided in accordance with ICAO Annex 3 \u2013&nbsp;<em>Meteorological Service for International Air Navigation</em>&nbsp;and the PANS-MET \u2013&nbsp;<em>Procedures for Air Navigation Services \u2013 Meteorology&nbsp;</em>(Doc 10157 due for introduction in November 2025) and can comprise of METARS, TAFS, AIRMET, SIGMET, Volcanic Ash, Tropical Cyclone, Nuclear emergency messages, NOTAMs and GAMETS</p><ul><li>OPMET&nbsp;reports in packets of 5 minutes in traditional alphanumeric code (TAC) and IWXXM data formats, for the time period between T0 and T-36hrs. Data can be requested and provisioned for the following geographical spatial areas: GLOBAL,&nbsp;EUR-NAT, NAM-CAR, SAM, AFI, MID, ASIA-PAC</li><li>Information can be requested and provisioned in .json format relating to the operation/mechanics of the API, this also includes the co-ordinates of the polygons used to describe the geographical spatial areas</li><li>OPMET advisory reports for GLOBAL geographic spatial areas in packets of 30 minutes in traditional alphanumeric code (TAC) and IWXXM format, for the time period between T0 and T-36hrs.</li><li>Notices</li></ul><p>SADIS OPMET API (the service) is part of the SADIS API family of offerings developed by the Met Office, which use the Open Geospatial Consortium Environmental Data Retrieval (OGC-EDR) framework. SADIS API&nbsp;includes:</p><ul><li>SADIS WAFS Gridded Data&nbsp;API</li><li>SADIS WAFS SIGWX API</li></ul><p>The service organises the OPMET bulletin data sets into collections that allow users to request data for specific file types, spatial coverage areas, temporal coverage and notification types (advisory reports or advisory notification reports).</p><p>In the event of critical operational issues with the SADIS API, the WIFS API operated by WAFC Washington is available for backup purposes. The SADIS and WIFS API offerings have been harmonised to make this easier. Information on the WIFS API is available here:&nbsp;<a href=\"https://aviationweather.gov/wifs/\">https://aviationweather.gov/wifs/</a>&nbsp;and users will need to register separately to access it.</p><p>Furthermore, SADIS FTP also provisions OPMET bulletins for existing qualified users to download until its retirement in 2028.</p>",
        "serviceProvider": {
            "providerType": [
                "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER"
            ],
            "pointOfContact": [
                {
                    "name": "Request Access",
                    "contactInformation": [
                        {
                            "type": "EMAIL",
                            "address": "sadismanager@metoffice.gov.uk"
                        }
                    ],
                    "role": "To request access to the service, please send an e-mail to sadismanager@metoffice.gov.uk"
                },
                {
                    "name": "Technical Support",
                    "contactInformation": [
                        {
                            "type": "PHONE",
                            "address": "+44 330 135 0000"
                        }
                    ],
                    "role": "To report incidents on services in operation, contact the 24/7 Weather Desk."
                }
            ],
            "provider": "Met Office",
            "providerDescription": "<p>The Met Office is the sole Air Navigation Service Provider (ANSP) certificated by the UK Civil Aviation Authority to provide and disseminate a range of aviation forecast products and services, in accordance with ICAO Annex 3 to the Chicago Convention, Meteorological Service for international Air Navigation.</p><p>ICAO\u2019s Annex 3 provides the main regulatory framework against which the UK is obliged to provide meteorological services, and which the Met Office delivers Met Services against. This ensures that the UK meets its obligations to ICAO to provide safe, efficient and regular air travel.</p><p>These services fall into the following main categories:</p><p>a) UK services.</p><p>b) The World Area Forecast System (WAFS), as provided by World Area Forecast Centre (WAFC) London, in coordination with WAFC Washington.</p><p>c) SADIS (Secure Aviation Data Information Service).</p><p>d) The Volcanic Ash Advisory Centre (VAAC) London.</p><p>In addition to the ICAO Annex 3 determined services, a range of discretionary services that are determined as a requirement in the UK are also provided. Specific services such as Aviation R&amp;D and the provision of information to NATS are examples of this.</p>"
        },
        "serviceCategorisation": {
            "serviceType": "SWIM_COMPLIANT",
            "businessActivityType": [
                "AIRSPACE_ORGANISATION_AND_MANAGEMENT"
            ],
            "intendedConsumer": [
                "AERONAUTICAL_INFORMATION_SERVICE_PROVIDER",
                "AIR_TRAFFIC_SERVICE_PROVIDER",
                "CIVIL_AIR_NAVIGATION_SERVICE_PROVIDER",
                "CIVIL_AIRSPACE_USER",
                "NETWORK_MANAGER",
                "PROVIDER_OF_DATA_SERVICES",
                "REGULATED_METEOROLOGICAL_SERVICE_PROVIDER"
            ],
            "informationCategory": [
                "AERONAUTICAL_INFORMATION_EXCHANGE",
                "METEOROLOGICAL_INFORMATION_EXCHANGE"
            ],
            "applicationMessageExchangePattern": [
                {
                    "name": "SYNCHRONOUS_REQUEST_REPLY"
                }
            ],
            "geospatialCategorisation": {
                "countryCode": [
                    "EGRR"
                ],
                "region": [
                    "EUR"
                ],
                "description": "Worldwide coverage, where available, of data sets that are disseminated internationally over the Aeronautical Fixed Service."
            },
            "lifeCycle": [
                {
                    "lifeCycleStage": "OPERATIONAL"
                }
            ]
        },
        "generalDescription": {
            "operationalEnvironment": {
                "operationalNeeds": [
                    {
                        "name": "Operational need for SADIS OPMET",
                        "description": "<p>The service is provided in accordance with ICAO Annex 3 \u2013&nbsp;<em>Meteorological Service for International Air Navigation,</em>&nbsp;and the PANS-MET \u2013&nbsp;<em>Procedures for Air Navigation Services \u2013 Meteorology&nbsp;</em>(Doc 10157) from November 2025</p>"
                    }
                ]
            },
            "functionality": [
                {
                    "name": "Data Type",
                    "description": "<p>Allow service consumers to request OPMET data.</p><p>Data Type - Aviation observations in IWXXM, .png and TAC format</p><p>Either bulletins of Meteorological observation data OR information about what data is available and how the API service works in .json</p>",
                    "realWorldEffect": "REAL WORLD EFFECT - Consumers of the Service (Airlines, Air Navigation Service Providers, National Met Services, and companies that supply flight planning software and geospatial data visualisation services for the aviation industry) obtain the most recent aeronautical observations via UK NATS to inform their decision-making regarding:- Determining optimum flight routes (and therefore reducing fuel burn) - Reducing carbon dioxide emissions - Hazard awareness and avoidance"
                }
            ],
            "qualitiesOfService": {
                "performance": [
                    {
                        "name": "Capacity of Service",
                        "description": "<p>The service has been load tested. It remains performant with 250 unique end users concurrently making API requests and being provisioned with payloads.</p>"
                    },
                    {
                        "name": "Time behaviour of Service",
                        "description": "<p>&gt; 90% of responses to API requests will be made within 5 seconds of submission.</p><p>Request/Response latency is exposed in the OPMET health monitoring dashboard available to the Met Office support teams&nbsp;</p>"
                    }
                ],
                "reliability": [
                    {
                        "name": "Service Level Agreement",
                        "description": "<p>The service has been developed with high availability in mind. An automated synthetic canary will run 24/7 and will be used to monitor reliability every 5 minutes.</p><p>The WAFC London SADIS Manager will report service performance and availability to ICAO.&nbsp;</p><p>&nbsp;</p>"
                    },
                    {
                        "name": "Availability",
                        "description": "<p>The service updates 24/7/365.&nbsp;The Met Office receives OPMET bulletins from ROC NATS. The OPMET API service filters and then packages these, before exposing them as an API.</p><p>Performance is monitored via a synthetic \u2018canary' against these availability targets (measured per calendar month).</p>"
                    },
                    {
                        "name": "Recoverability",
                        "description": "<p>Technical support is available 24/7, although on a 'best efforts only' basis outside normal working hours (08:00-17:30 GMT Monday to Friday, except Bank Holidays).</p><p>In the event of operational issues, the WIFS API operated by WAFC Washington is available for backup purposes. Both SADIS and WIFS API offerings have been partially harmonised to make this easier.</p><p>SADIS FTP can also be used to provision similar OPMET bulletins to existing qualified end users until 2028 when it will be retired.</p>"
                    }
                ],
                "security": [
                    {
                        "name": "Confidentiality",
                        "description": "<p>The Service adheres to SWIM Yellow Profile - Infrastructure Capabilities Binding requirements.</p><p>The system does not store or manage any personal data. Threat analysis confirmed that loss of confidentiality is deemed Low Risk.</p>"
                    },
                    {
                        "name": "Integrity",
                        "description": "<p>The Service adheres to SWIM Yellow Profile - Infrastructure Capabilities Binding requirements.</p><p>The Met Office also has robust Cyber Security protocols in place. In the unlikely event of a security breach impacting the integrity of the data, the service will be suspended, and we would notify users to fail over to WAFC Washington's WIFS API until security has been fully restored.&nbsp;</p>"
                    }
                ]
            },
            "accessAndUseConditions": [
                {
                    "name": "OAUTH2 Client Credential/Bearer Token",
                    "type": "SECURITY_CONSTRAINT",
                    "description": "<p>Accessing the service is subject to prior approval by the SADIS Manager and agreeing to our terms and conditions, this should take &lt;5days during normal working hours.</p><p>Access is based on OAUTH2 Client Credentials using Client ID and Secret to retrieve a Bearer Token. Login credentials must be set up days in advance of first-time use.</p><p><em>Access to WAFC London's SADIS OPMET API service does NOT include reciprocal access to WAFC Washington's WIFS API service. Should you wish to access WAFC Washington's WIFS API service, then you must apply directly via their website:&nbsp;</em><a href=\"https://aviationweather.gov/wifs/\">https://aviationweather.gov/wifs/</a></p>"
                },
                {
                    "name": "Token valid for 1 hour",
                    "type": "SECURITY_CONSTRAINT",
                    "description": "<p>The access token is valid for one hour, therefore it must be regenerated after expiry.</p>"
                },
                {
                    "name": "Check Headers",
                    "type": "SERVICE_CONSUMPTION_CONSTRAINT",
                    "description": "<p>The API makes use of standard HTTP headers, as specified in the SWIM Yellow Profile, WS Light Service Interface Binding.</p>"
                },
                {
                    "name": "Service Consumption Constraint",
                    "type": "SERVICE_CONSUMPTION_CONSTRAINT",
                    "description": "<p>Usage is limited as per our Throttling standard policy:</p><p>Limited to 80,000 requests per day per unique user</p>"
                },
                {
                    "name": "Terms and Conditions",
                    "type": "LEGAL_CONSTRAINT",
                    "description": "<p>Ts &amp; Cs - Please read the <a href=\"https://www.metoffice.gov.uk/services/transport/aviation/regulated/sadis/info/sadis-api-service-summary\">Terms and Conditions</a> of the SADIS OPMET API service.</p>"
                }
            ],
            "validation": [
                {
                    "type": "COLLABORATIVE_VALIDATION",
                    "description": {
                        "validationSteps": "Validation is carried out at least once every 12 months.",
                        "validationResults": "For a report of the achieved results, please email sadismanager@metoffice.gov.uk",
                        "evidence": "Operational Level Agreement with NATS.\r\nOpMet API service does not own the quality of the underlying observation data, it only owns how it has been filtered and packaged and exposed via an API.\r\nNATS as the London ROC owns the quality assurance of the data it ingests, post processes and transmits to the OpMet service"
                    }
                }
            ],
            "dateInOperation": "2024-03-19"
        },
        "informationDescription": {
            "informationDefinition": [
                {
                    "name": "SADIS OPMET API service",
                    "definition": "Observational data as defined by EDR, IWXXM, .png and TAC.",
                    "datatype": "TBC",
                    "airmCorrespondence": "TBC",
                    "cardinality": "TBC",
                    "constraints": "TBC",
                    "path": "TBC"
                }
            ]
        },
        "technicalDescription": {
            "serviceMonitoring": {
                "monitoringDescription": "<p>A heartbeat service is used to periodically check the status of the service and determine whether it is available. This runs every 5 minutes 24/7 and checks the availability of OPMET data.</p>\r\n"
            },
            "technicalConstraint": [
                {
                    "name": "Sign-up",
                    "description": "<p>Please contact sadismanager@metoffice.gov.uk for details of signing up to the service.</p>"
                },
                {
                    "name": "Security Mechanism",
                    "description": "<p>TLS 1.2</p><p>The service uses HTTPS over TLS 1.2 to provide integrity and confidentiality.</p>"
                },
                {
                    "name": "OAuth Authentication",
                    "description": "<p>The authentication mechanism supported is HTTP Bearer Client Authentication</p>"
                },
                {
                    "name": "Integration Pattern",
                    "description": "<p>REST API.</p>"
                }
            ],
            "behaviour": [
                {
                    "name": "EDR Response codes",
                    "description": "<p>Valid requests to the API will either return a <strong>204 - NO CONTENT</strong> response or a <strong>301 - MOVED PERMANENTLY </strong>redirect. Redirected responses have a Location header which will include a pre-signed URL to the downloadable zip file which is stored in AWS S3. This response is cached and will be available for 36 hours after the request. Once elapsed, the pre-signed S3 URL will return a <strong>403 - FORBIDDEN </strong>meaning that the request has expired.</p><p>Users can request timesteps up to 36 hours in the past. Requests made to an timestep outside of this range will return <strong>400 - BAD REQUEST </strong>for an invalid datetime parameter.</p>"
                },
                {
                    "name": "Nominal Behaviour",
                    "description": "<p>Each operation of the interface can be called independently.</p>"
                }
            ]
        },
        "serviceInterface": [
            {
                "name": "SADIS OPMET API service",
                "description": "<p>Provides access to Meteorological observation bulletins and information about the operation of the API and the data available.</p>",
                "provisionSide": "PROVIDER_SIDE",
                "endpoints": [
                    {
                        "name": "Get / Landing page of this API",
                        "description": "<p>Url:&nbsp;The landing page provides links to the API definition, the Conformance statements and the metadata about the feature data in this dataset.</p>",
                        "url": "https://gateway.api-management.metoffice.cloud/sadis-opmet/1/",
                        "resourceType": "REST_RESOURCE"
                    },
                    {
                        "name": "GET / api",
                        "description": "<p>Url: The OpenAPI spec for OPMET API</p>",
                        "url": "https://gateway.api-management.metoffice.cloud/sadis-opmet/1/api",
                        "resourceType": "REST_RESOURCE"
                    },
                    {
                        "name": "GET / conformance",
                        "description": "<p>Url: Information about standards that this API conforms to.</p><p>List all requirements classes specified in a standard that the server conforms to</p>",
                        "url": "https://gateway.api-management.metoffice.cloud/sadis-opmet/1/conformance",
                        "resourceType": "REST_RESOURCE"
                    },
                    {
                        "name": "GET / collections",
                        "description": "<p>Url: List the available collections from the service</p>",
                        "url": "https://gateway.api-management.metoffice.cloud/sadis-opmet/1/collections",
                        "resourceType": "REST_RESOURCE"
                    },
                    {
                        "name": "GET /collections/{collectionId}",
                        "description": "<p>Url: List the available collections from the service</p><p>{collectionId} -&nbsp;Where {collectionId} could be one of:</p><ul><li>tac_opmet_reports</li><li>iwxxm_opmet_reports</li><li>tac_advisory_reports</li><li>iwxxm_advisory_reports</li><li>graphical_reports</li><li>notices</li></ul><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>",
                        "url": "https://gateway.api-management.metoffice.cloud/sadis-opmet/1/collections/",
                        "resourceType": "REST_RESOURCE"
                    },
                    {
                        "name": "GET /collections/{collectionId}/locations",
                        "description": "<p>Url: List the locations available for the collection, described a co-ordinates of a polygon (geo-spatial)</p><p>{collectionId}/locations -Where {collectionId} could be one of:</p><ul><li>tac_opmet_reports</li><li>iwxxm_opmet_reports</li><li>tac_advisory_reports</li><li>iwxxm_advisory_reports</li><li>graphical_reports</li><li>notices</li></ul>",
                        "url": "https://gateway.api-management.metoffice.cloud/sadis-opmet/1/collections/",
                        "resourceType": "REST_RESOURCE"
                    },
                    {
                        "name": "GET /collections/{collectionId}/locations/{locationId}",
                        "description": "<p>Url: Query end point for queries of collection {collectionId} defined by a {locationId}</p><p>Return data the for the location defined by&nbsp;<code>locationId</code>.</p><p>{collectionId}/locations/{locationId}?datetime={time}/{duration} -&nbsp;Where {collectionId} could be:</p><p>tac_opmet_reports</p><p>iwxxm_opmet_reports</p><p>tac_advisory_reports</p><p>iwxxm_advisory_reports</p><p>graphical_reports</p><p>notices</p><p>&nbsp;</p><p>Where {locationId} could be:</p><p>GLOBAL</p><p>EUR_NAT</p><p>NAM_CAR</p><p>SAM</p><p>AFI</p><p>MID</p><p>ASIA_PAC</p><p>Where {time} is in 5 minute steps for reports BUT notifications have to be set to either 15 or 45 mins past the hour between. Data can be requested for times between now (T0) and 36hrs ago (T-36). {time} is ordered as year-month-day-Time</p><p>Where {duration} is PT5M for all collections except notices which are PT30M</p><p>For example:10:30 UTC on 5 Jan 2024 for that last 5 minute timestep for reports&nbsp; is&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; datetime=2024-01-05T10%3A30Z/PT5M</p><p>For example:10:15 UTC on 5 Jan 2024 for that last 30 minute timestep for notifications&nbsp; is&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; datetime=2024-01-05T10%3A15Z/PT30M</p><p>&nbsp;</p>",
                        "url": "https://gateway.api-management.metoffice.cloud/sadis-opmet/1/collections/",
                        "resourceType": "REST_RESOURCE"
                    }
                ],
                "serviceInterfaceBinding": {
                    "name": "WS Light",
                    "description": "<p>The Service Interface Binding is SWIM Yellow Profile Compliant, using WS Light enabling HTTP GET requests and associated responses.</p>\r\n"
                },
                "networkInterfaceBinding": {
                    "name": "IPV4_SECURE_UNICAST",
                    "description": "<p>The Service implementation conforms with&nbsp;IPV4_SECURE_UNICAST as part of SWIM Yellow Profile requirements.</p>\r\n"
                },
                "operations": [
                    {
                        "name": "HTTP GET",
                        "description": "<p>The Service provides aeronautical meteorological observations as IWXXM, TAC and .png response payloads.</p><p>The Service also provides end users the ability to request metadata about the meteorological observations, returning a response in .json format.</p><p><strong>Synchronous:</strong>&nbsp;Transactions are synchronous.</p><p><strong>TI Protocol Method:</strong>&nbsp;HTTP GET</p><p><strong>Precondition:</strong>&nbsp;Consumers must be authenticated and authorised via the Met Office API Management (APIM) Developer portal.</p><p><strong>Processing consideration:</strong>&nbsp;The service shall provide a range of observations (Time now - 5 minutes back to Time now - 36hrs).</p>",
                        "idempotency": "IDEMPOTENT",
                        "messages": [
                            {
                                "name": "HTTPS GET",
                                "direction": "OUT"
                            }
                        ]
                    }
                ],
                "messageExchangePattern": "SYNCHRONOUS_REQUEST_RESPONSE"
            }
        ],
        "references": {
            "serviceDocument": [
                {
                    "documentType": "SERVICE_BEHAVIOUR_DESCRIPTION",
                    "title": "SADIS API User Guide",
                    "version": "1.07",
                    "description": "<p>Please refer to chapters 1,2,3,6 in the&nbsp;<a href=\"https://www.metoffice.gov.uk/binaries/content/assets/metofficegovuk/pdf/services/transport/aviation/sadis/sadis-api-user-guide/sadis-api-user-guide-v1.07.pdf\">SADIS API - User Guide&nbsp;v1.07</a> (PDF) for a full description of SADIS OPMET API.</p>"
                }
            ],
            "implementedStandard": [
                {
                    "title": "Environmental Data Retrieval (EDR)",
                    "standardType": "SERVICE_STANDARD",
                    "conformanceStatement": "OpMet API conforms to EGR standards",
                    "version": "1.0",
                    "description": "<p>Please see references to EDR website and specifications:&nbsp;<a href=\"https://ogcapi.ogc.org/edr/\">https://ogcapi.ogc.org/edr/</a></p>"
                }
            ]
        }
    }
}