OGC API - EDR

The approved standard OpenAPI description OGC itself publishes for OGC API - EDR. This is the STANDARD'S contract, not any one deployment of it — the servers block is a template, so it describes what a conformant implementation must offer rather than a callable host.

OpenAPI Specification

ogc-edr-1-1-openapi-ogcapi-environmental-data-retrieval-1-bundled.json Raw ↑
{
  "openapi": "3.0.3",
  "info": {
    "title": "OGC API - Environmental Data Retrieval Standard",
    "description": "Example of OGC API - Environmental Data Retrieval Standard OpenAPI document",
    "version": "1.1.0",
    "license": {
      "name": "OGC License",
      "url": "https://www.ogc.org/legal"
    }
  },
  "servers": [
    {
      "url": "https://example.org/edr",
      "description": "Example OGC API - Environmental Data Retrieval server"
    }
  ],
  "tags": [
    {
      "name": "Capabilities",
      "description": "Essential characteristics of the information available from the API."
    },
    {
      "name": "Collection metadata",
      "description": "Description of the information available from the collections"
    },
    {
      "name": "Instance metadata",
      "description": "Description of the information available from the instances of a collection"
    },
    {
      "name": "Collection data queries",
      "description": "Data queries available."
    },
    {
      "name": "Instance data queries",
      "description": "Data queries available on instances of the collection."
    }
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "Capabilities"
        ],
        "summary": "landing page of this API",
        "description": "The landing page provides links to the API definition, the Conformance statements and the metadata about the feature data in this dataset.",
        "operationId": "getLandingPage",
        "parameters": [
          {
            "name": "f",
            "in": "query",
            "description": "format to return the data response in",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "links to the API capabilities",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "links"
                  ],
                  "properties": {
                    "title": {
                      "type": "string",
                      "example": "Meteorological data server"
                    },
                    "description": {
                      "type": "string",
                      "example": "Access to Meteorological data via a Web API that conforms to the OGC API Environmental Data Retrieval specification."
                    },
                    "links": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "href",
                          "rel"
                        ],
                        "properties": {
                          "href": {
                            "type": "string",
                            "example": "https://example.com/collections/monitoringsites/locations/1234"
                          },
                          "rel": {
                            "type": "string",
                            "example": "alternate"
                          },
                          "type": {
                            "type": "string",
                            "example": "application/geo+json"
                          },
                          "hreflang": {
                            "type": "string",
                            "example": "en"
                          },
                          "title": {
                            "type": "string",
                            "example": "Monitoring site name"
                          },
                          "length": {
                            "type": "integer"
                          },
                          "templated": {
                            "description": "defines if the link href value is a template with values requiring replacement",
                            "type": "boolean"
                          }
                        }
                      },
                      "example": [
                        {
                          "href": "https://example.org/edr/api",
                          "hreflang": "en",
                          "rel": "service-desc",
                          "type": "application/vnd.oai.openapi+json;version=3.0",
                          "title": ""
                        },
                        {
                          "href": "https://example.org/edr/conformance",
                          "hreflang": "en",
                          "rel": "data",
                          "type": "application/json",
                          "title": ""
                        },
                        {
                          "href": "https://example.org/edr/collections",
                          "hreflang": "en",
                          "rel": "data",
                          "type": "application/json",
                          "title": ""
                        }
                      ]
                    },
                    "keywords": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "Temperature",
                        "Wind",
                        "Point",
                        "Trajectory"
                      ]
                    },
                    "provider": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "description": "Name of organization providing the service",
                          "type": "string"
                        },
                        "url": {
                          "description": "Link to service providers website",
                          "type": "string"
                        }
                      }
                    },
                    "contact": {
                      "type": "object",
                      "properties": {
                        "email": {
                          "description": "Email address of service provider",
                          "type": "string"
                        },
                        "phone": {
                          "description": "Phone number of service provider",
                          "type": "string"
                        },
                        "fax": {
                          "description": "Fax number of service provider",
                          "type": "string"
                        },
                        "hours": {
                          "type": "string"
                        },
                        "instructions": {
                          "type": "string"
                        },
                        "address": {
                          "type": "string"
                        },
                        "postalCode": {
                          "type": "string"
                        },
                        "city": {
                          "type": "string"
                        },
                        "stateorprovince": {
                          "type": "string"
                        },
                        "country": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/conformance": {
      "get": {
        "tags": [
          "Capabilities"
        ],
        "summary": "Information about standards that this API conforms to",
        "description": "List all requirements classes specified in a standard that the server conforms to",
        "operationId": "getRequirementsClasses",
        "parameters": [
          {
            "name": "f",
            "in": "query",
            "description": "format to return the data response in",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "URIs of all requirements classes supported by the server",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "conformsTo"
                  ],
                  "properties": {
                    "conformsTo": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/collections": {
      "get": {
        "tags": [
          "Capabilities"
        ],
        "summary": "List the avialable collections from the service",
        "operationId": "listCollections",
        "parameters": [
          {
            "name": "bbox",
            "in": "query",
            "description": "Only features that have a geometry that intersects the bounding box are selected.\nThe bounding box is provided as four or six numbers, depending on whether the\ncoordinate reference system includes a vertical axis (height or depth):\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\nThe coordinate reference system of the values is WGS 84 longitude/latitude\n(http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate\nreference system is specified in the parameter `bbox-crs`.\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\nIf the vertical axis is included, the third and the sixth number are the\nbottom and the top of the 3-dimensional bounding box.\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
            "required": false,
            "schema": {
              "oneOf": [
                {
                  "items": {
                    "minItems": 4,
                    "maxItems": 4,
                    "type": "number"
                  },
                  "type": "array"
                },
                {
                  "items": {
                    "minItems": 6,
                    "maxItems": 6,
                    "type": "number"
                  },
                  "type": "array"
                }
              ]
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "datetime",
            "in": "query",
            "description": "Either a date-time or an interval. Date and time expressions adhere to RFC 3339. Intervals may be bounded or half-bounded (double-dots at start or end).\nExamples:\n* A date-time: \"2018-02-12T23:20:50Z\" * A bounded interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\" * Half-bounded intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\nOnly resources that have a temporal property that intersects the value of `datetime` are selected.\nIf a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties.",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form",
            "explode": false
          },
          {
            "name": "f",
            "in": "query",
            "description": "format to return the data response in",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Metadata about the Environmental data collections shared by this API",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "links",
                    "collections"
                  ],
                  "properties": {
                    "links": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "href",
                          "rel"
                        ],
                        "properties": {
                          "href": {
                            "type": "string",
                            "example": "https://example.com/collections/monitoringsites/locations/1234"
                          },
                          "rel": {
                            "type": "string",
                            "example": "alternate"
                          },
                          "type": {
                            "type": "string",
                            "example": "application/geo+json"
                          },
                          "hreflang": {
                            "type": "string",
                            "example": "en"
                          },
                          "title": {
                            "type": "string",
                            "example": "Monitoring site name"
                          },
                          "length": {
                            "type": "integer"
                          },
                          "templated": {
                            "description": "defines if the link href value is a template with values requiring replacement",
                            "type": "boolean"
                          }
                        }
                      },
                      "example": [
                        {
                          "href": "https://example.org/edr/collections",
                          "hreflang": "en",
                          "rel": "self",
                          "type": "application/yaml"
                        },
                        {
                          "href": "https://example.org/edr/collections?f=html",
                          "hreflang": "en",
                          "rel": "alternate",
                          "type": "text/html"
                        },
                        {
                          "href": "https://example.org/edr/collections?f=xml",
                          "hreflang": "en",
                          "rel": "alternate",
                          "type": "application/xml"
                        }
                      ]
                    },
                    "collections": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "links",
                          "id",
                          "extent",
                          "data_queries",
                          "parameter_names",
                          "output_formats",
                          "crs"
                        ],
                        "properties": {
                          "links": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "href",
                                "rel"
                              ],
                              "properties": {
                                "href": {
                                  "type": "string",
                                  "example": "https://example.com/collections/monitoringsites/locations/1234"
                                },
                                "rel": {
                                  "type": "string",
                                  "example": "alternate"
                                },
                                "type": {
                                  "type": "string",
                                  "example": "application/geo+json"
                                },
                                "hreflang": {
                                  "type": "string",
                                  "example": "en"
                                },
                                "title": {
                                  "type": "string",
                                  "example": "Monitoring site name"
                                },
                                "length": {
                                  "type": "integer"
                                },
                                "templated": {
                                  "description": "defines if the link href value is a template with values requiring replacement",
                                  "type": "boolean"
                                }
                              }
                            },
                            "example": [
                              {
                                "href": "https://example.org/service/description.html",
                                "hreflang": "en",
                                "rel": "service-doc",
                                "type": "text/html",
                                "title": ""
                              },
                              {
                                "href": "https://example.org/service/licence.html",
                                "hreflang": "en",
                                "rel": "licence",
                                "type": "text/html",
                                "title": ""
                              },
                              {
                                "href": "https://example.org/service/terms-and-conditions.html",
                                "hreflang": "en",
                                "rel": "restrictions",
                                "type": "text/html",
                                "title": ""
                              },
                              {
                                "href": "https://example.org/edr/collections/the_collection_id/",
                                "hreflang": "en",
                                "rel": "collection",
                                "type": "collection",
                                "title": "Collection"
                              },
                              {
                                "href": "https://example.org/edr/collections/the_collection_id/position",
                                "hreflang": "en",
                                "rel": "data",
                                "type": "position",
                                "title": "Position"
                              },
                              {
                                "href": "https://example.org/edr/collections/the_collection_id/area",
                                "hreflang": "en",
                                "rel": "data",
                                "type": "area",
                                "title": "Area"
                              }
                            ]
                          },
                          "id": {
                            "description": "id of the collection",
                            "type": "string",
                            "example": "Metar data"
                          },
                          "title": {
                            "description": "title of the collection",
                            "type": "string",
                            "example": "Metar observations"
                          },
                          "description": {
                            "description": "description of the collection",
                            "type": "string",
                            "example": "Last 24 hours Metar observations"
                          },
                          "keywords": {
                            "description": "List of keywords which help to describe the collection",
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "extent": {
                            "description": "The extent of the information in the collection. In the Core only spatial and temporal\nextents are specified. Extensions may add additional members to represent other\nextents, for example, thermal or pressure ranges.",
                            "type": "object",
                            "properties": {
                              "spatial": {
                                "description": "The spatial extent of the information in the collection.",
                                "type": "object",
                                "required": [
                                  "bbox",
                                  "crs"
                                ],
                                "properties": {
                                  "bbox": {
                                    "description": "One or more bounding boxes that describe the spatial extent of the dataset.\nIn the Core only a single bounding box is supported. Extensions may support\nadditional areas. If multiple areas are provided, the union of the bounding\nboxes describes the spatial extent.",
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                      "description": "Each bounding box is provided as four or six numbers, depending on\nwhether the coordinate reference system includes a vertical axis\n(height or depth):\n\n* Lower left corner, coordinate axis 1\n* Lower left corner, coordinate axis 2\n* Minimum value, coordinate axis 3 (optional)\n* Upper right corner, coordinate axis 1\n* Upper right corner, coordinate axis 2\n* Maximum value, coordinate axis 3 (optional)\n\nThe coordinate reference system of the values is WGS 84 longitude/latitude\n(http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate\nreference system is specified in `crs`.\n\nFor WGS 84 longitude/latitude the values are in most cases the sequence of\nminimum longitude, minimum latitude, maximum longitude and maximum latitude.\nHowever, in cases where the box spans the antimeridian the first value\n(west-most box edge) is larger than the third value (east-most box edge).\n\nIf the vertical axis is included, the third and the sixth number are\nthe bottom and the top of the 3-dimensional bounding box.\n\nIf a feature has multiple spatial geometry properties, it is the decision of the\nserver whether only a single spatial geometry property is used to determine\nthe extent or all relevant geometries.",
                                      "oneOf": [
                                        {
                                          "items": {
                                            "type": "number"
                                          },
                                          "minItems": 4,
                                          "maxItems": 4,
                                          "type": "array"
                                        },
                                        {
                                          "items": {
                                            "type": "number"
                                          },
                                          "minItems": 6,
                                          "maxItems": 6,
                                          "type": "array"
                                        }
                                      ]
                                    },
                                    "example": [
                                      -180,
                                      -90,
                                      180,
                                      90
                                    ]
                                  },
                                  "crs": {
                                    "description": "Coordinate reference system of the coordinates in the spatial extent\n(property `bbox`). The default reference system is WGS 84 longitude/latitude.\nIn the Core this is the only supported coordinate reference system.\nExtensions may support additional coordinate reference systems ",
                                    "type": "string",
                                    "default": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]"
                                  },
                                  "name": {
                                    "description": "Name of the vertical coordinate reference system",
                                    "type": "string"
                                  }
                                }
                              },
                              "temporal": {
                                "description": "The temporal extent of the information in the collection.",
                                "type": "object",
                                "required": [
                                  "interval",
                                  "trs"
                                ],
                                "properties": {
                                  "interval": {
                                    "description": "RFC3339 compliant Date and Time",
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                      "description": "Begin and end times of the time interval. The timestamps are in the\ntemporal coordinate reference system specified in `trs`. By default\nthis is the Gregorian calendar.",
                                      "type": "array",
                                      "minItems": 2,
                                      "maxItems": 2,
                                      "items": {
                                        "type": "string",
                                        "format": "date-time",
                                        "nullable": true
                                      },
                                      "example": [
                                        [
                                          "2020-11-12T12:15Z",
                                          "2020-11-12T12:15Z"
                                        ],
                                        [
                                          "2020-11-12T12:15Z",
                                          "2020-11-12T12:45Z"
                                        ],
                                        [
                                          "2022-01-14T09:00Z",
                                          "2022-01-15T09:00Z"
                                        ],
                                        [
                                          "2022-01-14T09:00Z",
                                          "2022-01-14T21:00Z"
                                        ],
                                        [
                                          "2022-01-14T09:00Z",
                                          "2022-01-16T09:00Z"
                                        ]
                                      ]
                                    }
                                  },
                                  "values": {
                                    "description": "Provides information about the time intervals available in the collection \nas ISO8601 compliant dates, either as a time range specified \nas start time / end time  (e.g. 2017-11-14T09:00Z/2017-11-14T21:00Z)  or\nas number of repetitions / start time / interval (e.g. R4/2017-11-14T21:00Z/PT3H) \nor a list of time values (e.g.\n2017-11-14T09:00Z,2017-11-14T12:00Z,2017-11-14T15:00Z,2017-11-14T18:00Z,2017-11-14T21:00Z)",
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                      "type": "string",
                                      "minItems": 1,
                                      "format": "date-time",
                                      "nullable": true,
                                      "example": [
                                        [
                                          "2020-11-12T12:15Z"
                                        ],
                                        [
                                          "2020-11-12T12:15Z",
                                          "2020-11-12T12:30Z",
                                          "2020-11-12T12:45Z"
                                        ],
                                        [
                                          "R12/2022-01-14T09:00Z/2022-01-15T09:00Z"
                                        ],
                                        [
                                          "R12/2022-01-14T09:00Z/PT1H"
                                        ],
                                        [
                                          "R12/2022-01-14T09:00Z/PT1H",
                                          "R4/2022-01-14T21:00Z/PT3H",
                                          "R4/2022-01-15T09:00Z/PT6H"
                                        ]
                                      ]
                                    }
                                  },
                                  "trs": {
                                    "description": "Coordinate reference system of the coordinates in the temporal extent\n(property `interval`). The default reference system is the Gregorian calendar.\nIn the Core this is the only supported temporal coordinate reference system.\nExtensions may support additional temporal coordinate reference systems ",
                                    "type": "string",
                                    "example": "TIMECRS[\"DateTime\",TDATUM[\"Gregorian Calendar\"],CS[TemporalDateTime,1],AXIS[\"Time (T)\",future]]",
                                    "default": "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian"
                                  },
                                  "name": {
                                    "description": "Name of the temporal coordinate reference system",
                                    "type": "string"
                                  }
                                }
                              },
                              "vertical": {
                                "description": "The vertical extent of the information in the collection.",
                                "type": "object",
                                "required": [
                                  "interval",
                                  "vrs"
                                ],
                                "properties": {
                                  "interval": {
                                    "description": "In the Core only a single time interval is supported. Extensions may support\nmultiple intervals. If multiple intervals are provided, the union of the\nintervals describes the vertical extent.",
                                    "type": "array",
                                    "minItems": 1,
                                

# --- truncated at 32 KB (3674 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ogc/refs/heads/main/openapi/_original/ogc-edr-1-1-openapi-ogcapi-environmental-data-retrieval-1-bundled.json