HTTP/1.1 200 OK
Date: Tue, 08 Apr 2025 23:32:22 GMT
Server: Apache/2.4.52 (Ubuntu)
Access-Control-Allow-Headers: x-requested-with, Content-Type, origin, authorization, acc$
Expires: Wed, 08 Apr 2026 23:32:22 GMT
Access-Control-Allow-Origin: *
Vary: Accept,Accept-Encoding,Prefer
Content-Type: application/json
Content-Length: 204806
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive

{
  "openapi" : "3.0.0",
  "info" : {
    "version" : "1.0",
    "title" : "GNOSIS Map Server OGC API",
    "description" : "GNOSIS Map Server",
    "contact" : {
      "name" : "Ecere Corporation",
      "email" : "info@ecere.ca"
    },
    "license" : {
      "name" : "OGC License",
      "url" : "http://www.opengeospatial.org/legal/"
    }
  },
  "paths" : {
    "/" : {
      "get" : {
        "tags" : [ "Landing Page" ],
        "summary" : "Retrieve the OGC API landing page for this service.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/LandingPage"
          },
          "406" : {
            "$ref" : "#/components/responses/NotAcceptable"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/conformance" : {
      "get" : {
        "tags" : [ "Conformance" ],
        "summary" : "Retrieve the set of OGC API conformance classes that are supported by this service.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/ConformanceDeclaration"
          }
        }
      }
    },
    "/collections" : {
      "get" : {
        "tags" : [ "Data Collections" ],
        "summary" : "Retrieve the list of geospatial data collections available from this service.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/limit-collections"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/collectionsList"
          }
        }
      }
    },
    "/collections/{collectionId}" : {
      "get" : {
        "tags" : [ "Data Collections" ],
        "summary" : "Retrieve the description of a collection available from this service.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/Collection"
          }
        }
      }
    },
    "/processes" : {
      "get" : {
        "summary" : "Retrieve the list of available processes",
        "description" : "A list of all available processes.",
        "operationId" : "listProcesses",
        "tags" : [ "Processes" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Information about the available processes",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/processList"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}" : {
      "get" : {
        "summary" : "Retrieve a process description",
        "operationId" : "describeProcess",
        "tags" : [ "Processes" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "A process description.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/process"
                },
                "example" : {
                  "id" : "RenderMap",
                  "title" : "Maps rendering process",
                  "description" : "RenderMap process",
                  "keywords" : [ "process", "maps" ],
                  "inputs" : [ {
                    "id" : "layers",
                    "title" : "layers",
                    "description" : "The layers to render on the map",
                    "literalDataDomain" : {
                      "dataType" : {
                        "name" : "array"
                      }
                    }
                  }, {
                    "id" : "bgColor",
                    "title" : "bgColor",
                    "description" : "The background color of the map",
                    "literalDataDomain" : {
                      "dataType" : {
                        "name" : "string"
                      },
                      "valueDefinition" : {
                        "defaultValue" : "000000"
                      }
                    }
                  }, {
                    "id" : "transparent",
                    "title" : "transparent",
                    "description" : "Whether the map's background is transparent.",
                    "literalDataDomain" : {
                      "dataType" : {
                        "name" : "bool"
                      },
                      "valueDefinition" : {
                        "defaultValue" : true
                      }
                    }
                  } ],
                  "outputs" : [ {
                    "id" : "result",
                    "title" : "result",
                    "description" : "The rendered map"
                  } ],
                  "version" : 1.1,
                  "jobControlOptions" : [ "modular-sync", "modular-deferred" ],
                  "links" : [ {
                    "rel" : "canonical",
                    "href" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/RenderMap",
                    "type" : "application/json",
                    "title" : "Modular execution endpoint"
                  } ]
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      },
      "post" : {
        "summary" : "Submit a processing workflow for execution",
        "description" : "Post a workflow to set up deferred execution of it, obtaining a temporary virtual geospatial data resource (collection) with links to resources supporting GET methods for all supported execution/output retrieval mechanisms (equivalent to the modular synchronous execution end-points supported)",
        "operationId" : "execDeferred",
        "tags" : [ "Processes" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "description" : "Successful, see other for GET-accessible resource",
            "headers" : {
              "Location" : {
                "schema" : {
                  "type" : "string"
                },
                "description" : "GET-accessible path for same result, which can also be used as a replacement to the /processes/{id} portion of the synchronous execution paths using GET, without having to re-submit (POST) the workflow."
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/collection"
                }
              },
              "text/html" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/execution" : {
      "post" : {
        "summary" : "Submit a processing workflow for execution",
        "description" : "Post an execution request to execute it synchronously (asynchronous support not yet implemented)",
        "operationId" : "execSync",
        "tags" : [ "Processes" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContoursSync"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMapSync"
                },
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "nestedProcess" : {
                  "$ref" : "#/components/examples/nestedSync"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-process-results"
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/tileMatrixSets" : {
      "get" : {
        "tags" : [ "Tiling Schemes" ],
        "summary" : "Retrieve the list of available tiling schemes (tile matrix sets)",
        "operationId" : "listTileMatrixSets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of tile matrix sets (tiling schemes).",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "tileMatrixSets" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/tileMatrixSet"
                      }
                    }
                  }
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/tileMatrixSets/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Tiling Schemes" ],
        "summary" : "Retrieve the definition of the specified tiling scheme (tile matrix set)",
        "operationId" : "describeTileMatrixSet",
        "parameters" : [ {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "tile matrix sets (tiling schemes).",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileMatrixSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested tile matrix set id was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/items" : {
      "get" : {
        "summary" : "Retrieve vector features from the specified collection.",
        "operationId" : "getFeatures",
        "tags" : [ "Vector Features" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-features"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/limit-items"
        }, {
          "$ref" : "#/components/parameters/resultType"
        }, {
          "$ref" : "#/components/parameters/propertyName"
        }, {
           "$ref" : "#/components/parameters/filter"
        }, {
           "$ref" : "#/components/parameters/filter-lang"
        }, {
           "$ref" : "#/components/parameters/filter-crs"
        }, {
          "$ref" : "#/components/parameters/f-vector"
        } ],
        "responses" : {
          "200" : {
             "$ref" : "#/components/responses/content-vector"
          },
          "406" : {
            "$ref" : "#/components/responses/NotAcceptable"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/items/{featureId}" : {
      "get" : {
        "summary" : "Retrieve the specified vector feature from the specified collection.",
        "operationId" : "getSingleFeature",
        "tags" : [ "Vector Features" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-features"
        }, {
          "$ref" : "#/components/parameters/featureId"
        }, {
          "$ref" : "#/components/parameters/resultType"
        }, {
          "$ref" : "#/components/parameters/propertyName"
        }, {
          "$ref" : "#/components/parameters/f-vector"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK response",
            "content" : {
              "application/geo+json" : {
                "schema" : {
                  "type" : "object"
                }
              },
              "text/html" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "406" : {
            "$ref" : "#/components/responses/NotAcceptable"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/processes/{processId}/items" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve the results as vector features",
        "description" : "Post a workflow to synchronously retrieve items using MOAW extension",
        "operationId" : "execSyncFeatures",
        "tags" : [ "Vector Features" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/limit-items"
        }, {
          "$ref" : "#/components/parameters/resultType"
        }, {
          "$ref" : "#/components/parameters/propertyName"
        }, {
           "$ref" : "#/components/parameters/filter"
        }, {
           "$ref" : "#/components/parameters/filter-lang"
        }, {
           "$ref" : "#/components/parameters/filter-crs"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Successfully executed workflow and retrieved map",
            "content" : {
              "application/geo+json" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/items/{featureId}" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve a single vector feature from the results",
        "description" : "Post a workflow to synchronously retrieve a single item using MOAW extension",
        "operationId" : "execSyncSingleFeature",
        "tags" : [ "Vector Features" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/featureId"
        }, {
          "$ref" : "#/components/parameters/f-vector"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
             "$ref" : "#/components/responses/content-vector"
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/tiles" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve a list of available vector tilesets for the dataset",
        "operationId" : "listVectorTileSets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve the vector tileset metadata for the whole dataset and the specified tiling scheme (tile matrix set)",
        "operationId" : "describeVectorTileSet",
        "parameters" : [ {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve a vector tile including one or more collections from the dataset.",
        "operationId" : "getVectorTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/collections"
        }, {
          "$ref" : "#/components/parameters/f-vectorTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-vectorTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/tiles" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve the list of vector tilesets intended for use with a specified style for the whole dataset ",
        "operationId" : "listStyledVectorTilesets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve a vector tileset intended for use with a specified style of the whole dataset for the specified tiling scheme (tile matrix set)",
        "operationId" : "describeStyledVectorTileset",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve vector tiles intended for use with a specified style",
        "operationId" : "getStyledVectorTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/collections"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/f-vectorTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-vectorTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/tiles" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve a list of available vector tilesets for the specified collection.",
        "operationId" : "listCollectionVectorTilesets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-vectorTiles"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested collection id was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve the vector tileset metadata for the specified collection and tiling scheme (tile matrix set)",
        "operationId" : "describeCollectionVectorTileset",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-vectorTiles"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve a vector tile from a collection.",
        "operationId" : "getCollectionVectorTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-vectorTiles"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/f-vectorTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-vectorTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/tiles" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve a list of vector tilesets for the specified collection intended for use with a specified style",
        "operationId" : "listCollectionStyledVectorTilesets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-vectorTiles"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve the vector tileset metadata for the specified collection, style and tiling scheme (tile matrix set).",
        "operationId" : "describeCollectionStyledVectorTileset",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Vector Tiles" ],
        "summary" : "Retrieve vector tiles for a specified collection, intended for use with a specified style",
        "operationId" : "getCollectionStyledVectorTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-vectorTiles"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-vectorTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-vectorTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/processes/{processId}/tiles" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve a list of the tilesets for the results ",
        "description" : "Post a workflow to set up deferred execution of it, obtaining a list of available tilesets for the results with links to resources supporting GET methods for all supportedTiles API execution/output retrieval mechanisms  (equivalent to the modular synchronous Tiles API execution end-points supported)",
        "operationId" : "execDeferredListVectorTilesets",
        "tags" : [ "Vector Tiles" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "description" : "Successful, see other for GET-accessible resource",
            "headers" : {
              "Location" : {
                "schema" : {
                  "type" : "string"
                },
                "description" : "GET-accessible path for same result, which can also be used as a replacement to the /processes/{id} portion of the synchronous execution paths using GET, without having to re-submit (POST) the workflow."
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/tiles/{tileMatrixSetId}" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve the tileset metadata of the results for the specified tiling scheme (tile matrix set)",
        "description" : "Post a workflow to set up deferred execution of it for the specified supported TileMatrixSet, obtaining the tileset description resource with templated links to retrieve individual tiles via GET method, as well as information such as the tile limits for each tile matrix  (equivalent to the capability available through the modular synchronous Tiles API execution)",
        "operationId" : "execDeferredDescribeVectorTileset",
        "tags" : [ "Vector Tiles" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "description" : "Successful, see other for GET-accessible resource",
            "headers" : {
              "Location" : {
                "schema" : {
                  "type" : "string"
                },
                "description" : "GET-accessible path for same result, which can also be used as a replacement to the /processes/{id} portion of the synchronous execution paths using GET, without having to re-submit (POST) the workflow."
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve a vector tile from the results",
        "description" : "Post a workflow to synchronously retrieve vector tiles using MOAW extension",
        "operationId" : "execSyncGetVectorTile",
        "tags" : [ "Vector Tiles" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/f-vectorTile"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
               "$ref" : "#/components/responses/content-vectorTile"
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process id does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collectionId}/coverage" : {
      "get" : {
        "tags" : [ "Coverages" ],
        "operationId" : "getCoverage",
        "summary" : "Retrieve coverage data from a collection.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-coverage"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/scaleFactor"
        }, {
          "$ref" : "#/components/parameters/scaleAxes"
        }, {
          "$ref" : "#/components/parameters/scaleSize"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/f-coverage"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-coverage"
          },
          "406" : {
            "$ref" : "#/components/responses/NotAcceptable"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/coverage/domainset" : {
      "get" : {
        "tags" : [ "Coverages" ],
        "operationId" : "getCoverageDomainSet",
        "summary" : "Retrieve the domain set of the coverage for the specified collection.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-coverage"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/scaleFactor"
        }, {
          "$ref" : "#/components/parameters/scaleAxes"
        }, {
          "$ref" : "#/components/parameters/scaleSize"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/DomainSet"
          },
          "406" : {
            "$ref" : "#/components/responses/NotAcceptable"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/coverage/rangetype" : {
      "get" : {
        "tags" : [ "Coverages" ],
        "operationId" : "getCoverageRangeType",
        "summary" : "Retrieve the range type of the coverage for the specified collection.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-coverage"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/scaleFactor"
        }, {
          "$ref" : "#/components/parameters/scaleAxes"
        }, {
          "$ref" : "#/components/parameters/scaleSize"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/RangeType"
          },
          "406" : {
            "$ref" : "#/components/responses/NotAcceptable"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/processes/{processId}/coverage" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve the results as a coverage",
        "description" : "Post a workflow to synchronously retrieve coverage data using MOAW extension",
        "operationId" : "execSyncGetCoverage",
        "tags" : [ "Coverages" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/f-coverage"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "EVISentinel2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "EVISentinel2-WCPS" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
             "$ref" : "#/components/responses/content-coverage"
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collectionId}/coverage/tiles" : {
      "get" : {
        "tags" : [ "Coverage Tiles" ],
        "operationId" : "listCollectionCoverageTileSets",
        "summary" : "Retrieve the list of available coverage tilesets for the specified collection.",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-coverage"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested collection id was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/coverage/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Coverage Tiles" ],
        "operationId" : "describeCollectionCoverageTileSet",
        "summary" : "Retrieve the coverage tileset metadata for the specified collection and tiling scheme (tile matrix set)",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-coverage"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/coverage/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Coverage Tiles" ],
        "operationId" : "getCollectionCoverageTile",
        "summary" : "Retrieve a coverage tile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-coverage"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/f-coverageTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-coverageTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/processes/{processId}/coverage/tiles" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve the list of resulting coverage tilesets",
        "description" : "Post a workflow to set up deferred execution of it, obtaining a list of available map tilesets for the results with links to resources supporting GET methods for all supported combined Map Tiles API execution/output retrieval mechanisms (equivalent to the modular synchronous Map Tiles API execution end-points supported)",
        "tags" : [ "Coverage Tiles" ],
        "operationId" : "execDeferredListCoverageTileSets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "description" : "Successful, see other for GET-accessible resource",
            "headers" : {
              "Location" : {
                "schema" : {
                  "type" : "string"
                },
                "description" : "GET-accessible path for same result, which can also be used as a replacement to the /processes/{id} portion of the synchronous execution paths using GET, without having to re-submit (POST) the workflow."
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/coverage/tiles/{tileMatrixSetId}" : {
      "post" : {
        "summary" : "Submit a workflow for deferred execution and retrieve the coverage tileset metadata for the results and the specified tiling scheme (tile matrix set)",
        "description" : "Post a workflow to set up deferred execution of it for the specified supported TileMatrixSet, obtaining the tileset description resource with templated links to retrieve individual tiles via GET method, as well as information such as the tile limits for each tile matrix  (equivalent to the capability available through the modular synchronous Tiles API execution)",
        "tags" : [ "Coverage Tiles" ],
        "operationId" : "execDeferredDescribeCoverageTileSet",
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "description" : "Successful, see other for GET-accessible resource",
            "headers" : {
              "Location" : {
                "schema" : {
                  "type" : "string"
                },
                "description" : "GET-accessible path for same result, which can also be used as a replacement to the /processes/{id} portion of the synchronous execution paths using GET, without having to re-submit (POST) the workflow."
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/coverage/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve a single coverage tile of the results.",
        "description" : "Post a workflow to synchronously retrieve coverage tiles using MOAW extension",
        "tags" : [ "Coverage Tiles" ],
        "operationId" : "execSyncGetCoverageTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/f-coverageTile"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-coverageTile"
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process id does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/map" : {
      "get" : {
        "tags" : [ "Maps" ],
        "summary" : "Retrieve a default map for the whole dataset",
        "operationId" : "getMap",
        "parameters" : [ {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-map"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-map"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map" : {
      "get" : {
        "tags" : [ "Maps" ],
        "summary" : "Retrieve a map of the specified style for the whole dataset",
        "operationId" : "getStyledMap",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-map"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-map"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map" : {
      "get" : {
        "tags" : [ "Maps" ],
        "summary" : "Retrieve the default map for the specified collection",
        "operationId" : "getCollectionMap",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-map"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-map"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map" : {
      "get" : {
        "tags" : [ "Maps" ],
        "summary" : "Retrieve a map of the specified collection and style",
        "operationId" : "getCollectionStyledMap",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-map"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-map"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/processes/{processId}/map" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve the results as a map",
        "description" : "Post a workflow to set up deferred execution of it, obtaining a link to a map resource for the results supporting GET methods for all supported Maps API execution/output retrieval mechanisms (equivalent to the modular synchronous Maps API execution end-points supported)",
        "operationId" : "execSyncGetMap",
        "tags" : [ "Maps" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/bbox"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/subset"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-map"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "$ref" : "#/components/responses/content-map"
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/map/tiles" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve the list of all default map tilesets for the whole dataset",
        "operationId" : "listMapTileSets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/map/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a default map tileset of the whole dataset for the specified tiling scheme (tile matrix set)",
        "operationId" : "describeMapTileSet",
        "parameters" : [ {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a default map tile of the whole dataset",
        "operationId" : "getMapTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/collections"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-mapTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-mapTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map/tiles" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve the list of styled map tilesets for the whole dataset ",
        "operationId" : "listStyledMapTileSets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a styled map tileset of the whole dataset for the specified tiling scheme (tile matrix set)",
        "operationId" : "describeStyledMapTileSet",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a styled map tiles",
        "operationId" : "getStyledMapTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/collections"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-mapTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-mapTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map/tiles" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a list of all map tilesets for specified collection.",
        "operationId" : "listCollectionMapTileSets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a map tile set metadata for the specified collection and tiling scheme (tile matrix set)^",
        "operationId" : "describeCollectionMapTileSet",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a map tile from the specified collection",
        "operationId" : "getCollectionMapTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-mapTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-mapTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map/tiles" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a list of styled map tilesets for the specified collection",
        "operationId" : "listCollectionStyledMapTileSets",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of available tilesets.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map/tiles/{tileMatrixSetId}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve the map tileset metadata for the specified collection, style and tiling scheme (tile matrix set).",
        "operationId" : "describeCollectionStyledMapTileSet",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "Description of the tileset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "get" : {
        "tags" : [ "Map Tiles" ],
        "summary" : "Retrieve a map tile for a specified collection and style",
        "operationId" : "getCollectionStyledMapTile",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-mapTile"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-mapTile"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/processes/{processId}/map/tiles" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve the list of resulting map tilesets",
        "operationId" : "execDeferredListMapTileSets",
        "tags" : [ "Map Tiles" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "description" : "Successful, see other for GET-accessible resource",
            "headers" : {
              "Location" : {
                "schema" : {
                  "type" : "string"
                },
                "description" : "GET-accessible path for same result, which can also be used as a replacement to the /processes/{id} portion of the synchronous execution paths using GET, without having to re-submit (POST) the workflow."
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tilesetsList"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/map/tiles/{tileMatrixSetId}" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve the map tileset metadata for a specified tiling scheme (tile matrix set)",
        "description" : "Post a workflow to set up deferred execution of it for the specified supported TileMatrixSet, obtaining the map tileset description resource with templated links to retrieve individual map tiles via GET method, as well as information such as the tile limits for each tile matrix  (equivalent to the capability available through the modular synchronous Tiles API execution)",
        "operationId" : "execDeferredDescribeMapTileSet",
        "tags" : [ "Map Tiles" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "303" : {
            "description" : "Successful, see other for GET-accessible resource",
            "headers" : {
              "Location" : {
                "schema" : {
                  "type" : "string"
                },
                "description" : "GET-accessible path for same result, which can also be used as a replacement to the /processes/{id} portion of the synchronous execution paths using GET, without having to re-submit (POST) the workflow."
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/tileSet"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "410" : {
            "description" : "Resource has expired",
            "headers" : {
              "Cache-Control" : {
                "description" : "410 is cacheable by default, but deferred execution may come back online.",
                "schema" : {
                  "type" : "string",
                  "enum" : [ "no-cache" ]
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/processes/{processId}/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}" : {
      "post" : {
        "summary" : "Submit a workflow for execution and retrieve a map tile of the results",
        "description" : "Post a workflow to synchronously retrieve map tiles using MOAW extension",
        "operationId" : "execSyncGetMapTile",
        "tags" : [ "Map Tiles" ],
        "parameters" : [ {
          "$ref" : "#/components/parameters/processId"
        }, {
          "$ref" : "#/components/parameters/tileMatrixSetId"
        }, {
          "$ref" : "#/components/parameters/tileMatrix"
        }, {
          "$ref" : "#/components/parameters/tileRow"
        }, {
          "$ref" : "#/components/parameters/tileCol"
        }, {
          "$ref" : "#/components/parameters/datetime"
        }, {
          "$ref" : "#/components/parameters/transparent"
        }, {
          "$ref" : "#/components/parameters/bgcolor"
        }, {
          "$ref" : "#/components/parameters/f-mapTile"
        } ],
        "requestBody" : {
          "description" : "Mandatory execute request JSON",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/execute"
              },
              "examples" : {
                "elevationContours" : {
                  "$ref" : "#/components/examples/elevationContours"
                },
                "osmere" : {
                  "$ref" : "#/components/examples/osmere"
                },
                "renderMap" : {
                  "$ref" : "#/components/examples/renderMap"
                },
                "nestedWorkflow" : {
                  "$ref" : "#/components/examples/nestedWorkflow"
                },
                "evis2" : {
                  "$ref" : "#/components/examples/EVISentinel2"
                },
                "evis2-wcps" : {
                  "$ref" : "#/components/examples/EVISentinel2-WCPS"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/content-mapTile"
          },
          "400" : {
            "description" : "Invalid request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "404" : {
            "description" : "The process {id} does not exist.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          }
        }
      }
    },
    "/styles" : {
      "get" : {
        "tags" : [ "Styles" ],
        "summary" : "Retrieve information about the available styles",
        "operationId" : "listStyles",
        "parameters" : [ {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "the set of available styles",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/stylesList"
                }
              }
            }
          },
          "400" : {
            "description" : "invalid or unknown query parameters"
          },
          "406" : {
            "description" : "The media types accepted by the client are not \nsupported for this resource"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/styles/{styleId}" : {
      "get" : {
        "tags" : [ "Styles" ],
        "summary" : "Retrieve a style by id",
        "operationId" : "getStyle",
        "parameters" : [ {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/f-style"
        } ],
        "responses" : {
          "200" : {
            "$ref" : "#/components/responses/response-style"
          },
          "404" : {
            "description" : "style not found"
          },
          "406" : {
            "description" : "The requested style encoding is not supported \nfor this style"
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles" : {
      "get" : {
        "tags" : [ "Styles" ],
        "summary" : "Retrieve a list of styles for the specified collection",
        "operationId" : "listCollectionStyles",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/f-metadata"
        } ],
        "responses" : {
          "200" : {
            "description" : "List of styles for the specified collection.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/stylesList"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    },
    "/collections/{collectionId}/styles/{styleId}" : {
      "get" : {
        "tags" : [ "Styles" ],
        "summary" : "Retrieve the specified style for a particular collection",
        "operationId" : "getCollectionStyle",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionId-all"
        }, {
          "$ref" : "#/components/parameters/styleId"
        }, {
          "$ref" : "#/components/parameters/f-style"
        } ],
        "responses" : {
          "200" : {
             "$ref" : "#/components/responses/response-style"
          },
          "404" : {
            "description" : "The requested URI was not found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/exception"
                }
              }
            }
          },
          "500" : {
            "$ref" : "#/components/responses/ServerError"
          }
        }
      }
    }
  },
  "components" : {
    "examples" : {
      "renderMap" : {
        "summary" : "A sample RenderMap execution (Workflows)",
        "value" : {
          "id" : "SampleRenderMapExecution",
          "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/RenderMap",
          "inputs" : {
            "transparent": false,
            "bgColor" : "002040",
            "layers": [
              { "collection" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/NaturalEarth:physical:bathymetry" },
              { "collection" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/SRTM_ViewFinderPanorama" }
            ]
          }
        }
      },
      "renderMapSync" : {
        "summary" : "A sample RenderMap execution",
        "value" : {
         "process" : "https://maps.ecere.com/processes/RenderMap",
         "inputs" : {
            "background" : "navy",
            "transparent" : false,
            "layers" : [
                  { "href" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/SRTM_ViewFinderPanorama/coverage?subset=Lat(0:45),Lon(0:45)&scaleFactor=128&f=image/tiff" }
            ]
         }
        }
      },
      "elevationContours" : {
        "summary" : "Generate contours from elevation data (Workflows)",
        "value" : {
          "id" : "SampleElevationContoursExecution",
          "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/ElevationContours",
          "inputs" : {
            "data": { "collection" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/SRTM_ViewFinderPanorama" },
            "distance": 1000
          }
        }
      },
      "elevationContoursSync" : {
        "summary" : "Generate contours from elevation data",
        "value" : {
           "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/ElevationContours",
           "inputs" : {
             "data" : { "href" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/SRTM_ViewFinderPanorama/coverage?subset=Lat(0:45),Lon(0:45)&scaleFactor=128&f=image/tiff" },
             "distance" : 1000,
             "minHeight" : -11000,
             "maxHeight" : 9000,
             "geometryType" : "lines"
           }
        }
      },
      "osmere" : {
         "summary" : "Compute a route in Washington D.C.",
         "value" : {
            "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/OSMERE",
            "inputs" : {
               "dataset" : "dc",
               "preference" : "fastest",
               "mode" : "motor",
               "waypoints" : { "value" : {
                  "type" : "MultiPoint",
                  "coordinates" : [
                     [ -77.047712, 38.892346 ],
                     [ -76.99473, 38.902629 ]
                  ]
               } }
            }
         }
      },
      "nestedSync" : {
         "summary" : "Example workflow with nested processing",
         "value" : {
            "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/RenderMap",
            "inputs" : {
               "background" : "gray",
               "transparent" : false,
               "layers" : [
                  { "href" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/osm:dc/map.tif?width=2458" },
                  {
                     "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/OSMERE",
                     "inputs" : {
                        "dataset" : "dc",
                        "preference" : "fastest",
                        "mode" : "motor",
                        "waypoints" : { "value" : {
                           "type" : "MultiPoint",
                           "coordinates" : [
                              [ -77.047712, 38.892346 ],
                              [ -76.99473, 38.902629 ]
                           ]
                        } }
                     }
                  }
               ]
            }
         }
      },
      "nestedWorkflow" : {
        "summary" : "Example workflow with nested processing",
        "value" : {
          "id" : "SampleNestedWorkflow",
          "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/RenderMap",
          "inputs" : {
            "transparent": false,
            "layers": [
               { "collection" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/NaturalEarth:physical:bathymetry" },
               { "collection" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/SRTM_ViewFinderPanorama" },
               {
                  "process" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/ElevationContours",
                  "inputs" : {
                   "data": { "collection" : "https://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/collections/SRTM_ViewFinderPanorama" },
                   "distance": 500
                 }
               }
            ]
          }
        }
      },
      "EVISentinel2" : {
        "summary" : "Enhanced Vegetation Index on sentinel-2 using theoretical CPL",
        "description" : "This workflow calculates an Enhanced Vegetation Index on sentinel-2 data using a theoretical Coverage Processing Language.",
        "value" : {
          "id" : "EVISentinel2",
          "process" : "http://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/CoverageProcessor",
          "inputs" : {
            "data": { "collection" : "http://rasdaman.orghttp://127.0.0.1:8080/fakeogcapi/collections/sentinel-2" },
            "code": "double BLUE = data[bands:'B02'], RED = data[bands:'B04'], NIR = data[bands:'B08']; return min[time](2.5 * (NIR - RED) / (1 + NIR + 6*RED + -7.5*BLUE));"
          }
        }
      },
      "EVISentinel2-WCPS" : {
        "summary" : "EVI S2 - Attempt at integrating WCPS",
        "description" : "This is an attempt at parameterizing WCPS in a way that simple text substitution could enable its use as part of Modular OGC API Workflows.",
        "value" : {
          "id" : "EVISentinel2-WCPS",
          "process" : "http://maps.ecere.comhttp://127.0.0.1:8080/fakeogcapi/processes/wcps",
          "inputs" : {
            "data": { "collection" : "http://rasdaman.orghttp://127.0.0.1:8080/fakeogcapi/collections/sentinel-2" },
            "code": "for $c in ({data})\n  let $blue := $c.b02, $red = $c.b04, $nir = $c.b08\n  return\n    encode(\n      scale(\n        extend(\n          condense min over $c time({timeRange}) values\n            2.5 * ($nir - $red) / (1 + $nir + 6 * $red + -7.5 * $blue),\n          { Lat({latRange}, Long({longRange}) }\n        ),\n        { Long:\"CRS:1\"(0:{right}), Lat:\"CRS:1\"(0:{bottom}) }\n      ),\n      {format}\n    )\n"
          }
        }
      }
    },
    "parameters" : {
      "bbox" : {
        "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\nthe bottom 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" : {
          "type" : "array",
          "minItems" : 4,
          "maxItems" : 6,
          "items" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "style" : "form",
        "explode" : false
      },
      "collectionId-all" : {
        "name" : "collectionId",
        "in" : "path",
        "description" : "Local identifier of a collection",
        "required" : true,
        "allowEmptyValue" : false,
        "schema" : {
          "$ref" : "#/components/schemas/all-collection-list"
        }
      },
      "collectionId-features" : {
        "name" : "collectionId",
        "in" : "path",
        "description" : "Local identifier of a feature collection",
        "required" : true,
        "allowEmptyValue" : false,
        "schema" : {
          "$ref" : "#/components/schemas/feature-collection-list"
        }
      },
      "collectionId-vectorTiles" : {
        "name" : "collectionId",
        "in" : "path",
        "description" : "Local identifier of a vector tile collection",
        "required" : true,
        "allowEmptyValue" : false,
        "schema" : {
          "$ref" : "#/components/schemas/vectorTile-collection-list"
        }
      },
      "collectionId-coverage" : {
        "name" : "collectionId",
        "in" : "path",
        "description" : "Local identifier of a coverage collection",
        "required" : true,
        "allowEmptyValue" : false,
        "schema" : {
          "$ref" : "#/components/schemas/coverage-collection-list"
        },
        "style" : "simple",
        "explode" : false
      },
      "datetime" : {
        "name" : "datetime",
        "in" : "query",
        "description" : "Either a date-time or an interval, open or closed. Date and time expressions\nadhere to RFC 3339. Open intervals are expressed using double-dots.\nExamples:\n* A date-time: \"2018-02-12T23:20:50Z\"\n* A closed interval: \"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z\"\n* Open intervals: \"2018-02-12T00:00:00Z/..\" or \"../2018-03-18T12:31:12Z\"\nOnly features that have a temporal property that intersects the value of\n`datetime` are selected.\nIf a feature has multiple temporal properties, it is the decision of the\nserver whether only a single temporal property is used to determine\nthe extent or all relevant temporal properties.",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "explode" : false
      },
      "featureId" : {
        "name" : "featureId",
        "in" : "path",
        "description" : "Identifier of a feature",
        "required" : true,
        "schema" : {
          "type" : "string"
        }
      },
      "f-vector" : {
        "name" : "f",
        "in" : "query",
        "description" : "The format of the vector data response (e.g. json). Accepted values are 'html', 'json' (GeoJSON) or 'mvt' (Mapbox Vector Tiles).",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "html", "json", "mvt" ]
        },
        "style" : "form",
        "explode" : false
      },
      "f-vectorTile" : {
        "name" : "f",
        "in" : "query",
        "description" : "The format of the vector tile response (e.g. json). Accepted values are 'html', 'json' (GeoJSON), 'mvt' (Mapbox Vector Tiles) or 'gmt' (GNOSIS Map Tiles).",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "html", "json", "mvt", "gmt" ]
        },
        "style" : "form",
        "explode" : false
      },
      "f-coverage" : {
        "name" : "f",
        "in" : "query",
        "description" : "The coverage data format of the response (e.g. tiff). Accepted values are 'tiff' (GeoTIFF), 'png' or 'html'.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "png", "tiff", "html" ]
        },
        "style" : "form",
        "explode" : false
      },
      "f-coverageTile" : {
        "name" : "f",
        "in" : "query",
        "description" : "The format of the coverage tile response (e.g. tiff). Accepted values are 'tiff' (GeoTIFF), 'png', 'gmt' (GNOSIS Map Tiles) or 'html'.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "png", "tiff", "gmt", "html" ]
        },
        "style" : "form",
        "explode" : false
      },
      "f-map" : {
        "name" : "f",
        "in" : "query",
        "description" : "The format of the map data response (e.g. png). Accepted values are 'png', 'jpg', 'tiff' (GeoTIFF), or 'html'.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "png", "jpg", "tiff", "gmt", "html" ]
        },
        "style" : "form",
        "explode" : false
      },
      "f-mapTile" : {
        "name" : "f",
        "in" : "query",
        "description" : "The format of the map tile response (e.g. png). Accepted values are 'png', 'jpg', 'tiff' (GeoTIFF), 'gmt' (GNOSIS Map Tiles) or 'html'.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "png", "jpg", "tiff", "gmt", "html" ]
        },
        "style" : "form",
        "explode" : false
      },
      "f-metadata" : {
        "name" : "f",
        "in" : "query",
        "description" : "The format of the response. If no value is provided, the accept header is used to determine the format. Accepted values are 'json', 'econ' or 'html'.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "json", "econ", "html" ]
        },
        "style" : "form",
        "explode" : false
      },
      "f-style" : {
        "name" : "f",
        "in" : "query",
        "description" : "The format of the style sheet response. If no value is provided, the accept header is used to determine the format. Accepted values are 'mbstyle' (Mapbox GL Styling), 'sld' (OGC Styled Layer Description/Symbology Encoding 1.0), cmss (GNOSIS Cascading Map Style Sheets) or 'html'.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "mbstyle", "sld", "cmss", "html" ]
        },
        "style" : "form",
        "explode" : false
      },
      "collections" : {
        "name" : "collections",
        "in" : "query",
        "style" : "form",
        "description" : "The collections that should be included in the response. The parameter value is a comma-separated list of collection identifiers. If the parameters is missing, some or all collections will be included. The collection will be rendered in the order specified, with the last one showing on top, unless the priority is overridden by styling rules.",
        "required" : false,
        "explode" : false,
        "schema" :
        {
          "type" : "array",
          "items" : {
             "$ref" : "#/components/schemas/all-collection-list"
          }
        }
      },
      "filter" : {
       "name" : "filter",
       "in" : "query",
       "description" : "A query filter supported by this service.",
       "required" : false,
       "schema" : {
         "type" : "string"
       },
       "style" : "form",
       "explode" : true
      },
      "filter-lang" : {
       "name" : "filter-lang",
       "in" : "query",
       "description" : "A query filter-lang supported by this service (only CMSS is currently supported).",
       "required" : false,
       "schema" : {
         "type" : "string",
         "enum" : [ "cmss" ]
       },
       "style" : "form",
       "explode" : true
      },
      "filter-crs" : {
       "name" : "filter-crs",
       "in" : "query",
       "required" : false,
       "schema" : {
         "type" : "string",
         "format" : "uri-reference"
       },
       "style" : "form",
       "explode" : false
      },
      "i" : {
        "name" : "i",
        "in" : "query",
        "description" : "Horizontal (x) coordinate within a map or tile.",
        "required" : true,
        "schema" : {
          "type" : "number"
        }
      },
      "j" : {
        "name" : "j",
        "in" : "query",
        "description" : "Vertical (y) coordinate within a map or tile.",
        "required" : true,
        "schema" : {
          "type" : "number"
        }
      },
      "limit-collections" : {
        "name" : "limit",
        "in" : "query",
        "description" : "Limits the number of collections returned in the response document. Minimum = 1. Maximum = 10000. Default = 10000.",
        "required" : false,
        "schema" : {
          "type" : "integer",
          "minimum" : 1,
          "maximum" : 10000
        },
        "style" : "form",
        "explode" : false
      },
      "limit-items" : {
        "name" : "limit",
        "in" : "query",
        "description" : "Limits the number of features returned in the response document. Minimum = 1. Maximum = 10000. Default = 10.",
        "required" : false,
        "schema" : {
          "type" : "integer",
          "minimum" : 1,
          "maximum" : 10000
        },
        "style" : "form",
        "explode" : false
      },
      "processId" : {
        "name" : "processId",
        "in" : "path",
        "description" : "Local identifier of a process",
        "required" : true,
        "schema" : {
          "$ref" : "#/components/schemas/processes-list"
        }
      },
      "propertyName" : {
        "name" : "propertyName",
        "in" : "query",
        "description" : "A list of feature properties to include in the response.",
        "required" : false,
        "allowEmptyValue" : false,
        "schema" : {
          "type" : "string"
        },
        "style" : "form",
        "explode" : true
      },
      "resultType" : {
        "name" : "resultType",
        "in" : "query",
        "description" : "The possible values for this parameter are \"results\" and \"hits\". If the value of the resultType parameter is set to \"results\" the server shall generate a complete response document containing resources that satisfy the operation. The root element of the response container shall include a count of the number of resources actually presented in the response document. The root element of the response container shall also include a count of the total number of resources that the operations actually found which will always be equal to or greater than the number of resource presented in the response document. If the value of the resultType attribute is set to \"hits\" the server shall generate an empty response document containing no resource instances and the root element of the response container shall contain the count of the total number of resources that the operation found. The value for the number of resources presented in the response document shall be set to zero.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "enum" : [ "hits", "results" ]
        },
        "style" : "form",
        "explode" : true
      },
      "scaleAxes" : {
        "name" : "scaleAxes",
        "in" : "query",
        "description" : "Scale the resulting coverage along one or more axis by a given factor.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string"
        }
      },
      "scaleFactor" : {
        "name" : "scaleFactor",
        "in" : "query",
        "description" : "Scale the resulting coverage along all axis by a given factor.",
        "required" : false,
        "schema" : {
          "type" : "number",
          "format" : "double",
          "minimum" : 0,
          "exclusiveMinimum" : true
        }
      },
      "scaleSize" : {
        "name" : "scaleSize",
        "in" : "query",
        "description" : "Scale the resulting coverage along one or more axis to a given size in data cells/pixels.",
        "required" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "subset" : {
        "name" : "subset",
        "in" : "query",
        "description" : "Get a subset of the data by slicing or trimming along one or more axis.",
        "style" : "form",
        "explode" : false,
        "required" : false,
        "schema" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      },
      "styleId" : {
        "name" : "styleId",
        "in" : "path",
        "description" : "An identifier representing a specific style.",
        "required" : true,
        "schema" : {
          "type" : "string"
        }
      },
      "tileCol" : {
        "name" : "tileCol",
        "in" : "path",
        "description" : "Column index of the tile on the selected TileMatrix. It cannot exceed the MatrixHeight-1 for the selected TileMatrix. For example, Ireland is fully within the Tile at WebMercatorQuad tileMatrix=5, tileRow=10 and tileCol=15.",
        "required" : true,
        "schema" : {
          "minimum" : 0,
          "type" : "integer"
        },
        "example" : 170
      },
      "tileMatrix" : {
        "name" : "tileMatrix",
        "in" : "path",
        "description" : "Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile. For example,\nIreland is fully within the Tile at WebMercatorQuad tileMatrix=5, tileRow=10 and tileCol=15.",
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "example" : "0"
      },
      "tileMatrixSetId" : {
        "name" : "tileMatrixSetId",
        "in" : "path",
        "description" : "Identifier for a supported TileMatrixSet",
        "required" : true,
        "allowEmptyValue" : false,
        "schema" : {
         "$ref" : "#/components/schemas/tile-matrix-list"
        }
      },
      "tileRow" : {
        "name" : "tileRow",
        "in" : "path",
        "description" : "Row index of the tile on the selected TileMatrix. It cannot exceed the MatrixWidth-1 for the selected TileMatrix. For example, Ireland is fully within the Tile at WebMercatorQuad tileMatrix=5, tileRow=10 and tileCol=15.",
        "required" : true,
        "schema" : {
          "minimum" : 0,
          "type" : "integer"
        },
        "example" : "37"
      },
      "transparent" : {
       "name" : "transparent",
       "in" : "query",
       "description" : "Background transparency of map (default=true).",
       "required" : false,
       "style" : "form",
       "explode" : false,
       "schema" : {
         "type" : "boolean",
         "default" : true
       }
      },
      "bgcolor" : {
       "name" : "bgcolor",
       "in" : "query",
       "description" : "Web color name or hexadecimal 0x[AA]RRGGBB color value for the background color (default to 0x9C9C9C gray). If alpha is not specified, full opacity is assumed.",
       "required" : false,
       "style" : "form",
       "explode" : false,
       "schema" : {
         "type" : "string",
         "default" : "0xFFFFFF"
       }
     }
    },
    "schemas" : {
      "additionalParameter" : {
        "type" : "object",
        "required" : [ "name", "value" ],
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "value" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "type" : "string"
              }, {
                "type" : "number"
              }, {
                "type" : "integer"
              }, {
                "type" : "array",
                "items" : { }
              }, {
                "type" : "object"
              } ]
            }
          }
        }
      },
      "allowedValues" : {
        "type" : "array",
        "items" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "$ref" : "#/components/schemas/range"
          } ]
        }
      },
      "anyValue" : {
        "type" : "object",
        "properties" : {
          "anyValue" : {
            "type" : "boolean",
            "default" : true
          }
        }
      },
      "boundingBoxData" : {
        "type" : "object",
        "required" : [ "bbox" ],
        "properties" : {
          "crs" : {
            "type" : "string",
            "format" : "uri"
          },
          "bbox" : {
            "type" : "array",
            "minItems" : 4,
            "maxItems" : 6,
            "items" : {
              "type" : "number"
            }
          }
        }
      },
      "boundingBoxDataType" : {
        "type" : "object",
        "required" : [ "supportedCRS" ],
        "properties" : {
          "supportedCRS" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/supportedCRS"
            }
          }
        }
      },
      "tiles-boundingBox" : {
        "type" : "object",
        "required" : [ "lowerLeft", "upperRight" ],
        "properties" : {
          "lowerLeft" : {
            "type" : "array",
            "minItems" : 2,
            "items" : {
              "type" : "number"
            }
          },
          "upperRight" : {
            "type" : "array",
            "minItems" : 2,
            "items" : {
              "type" : "number"
            }
          }
        }
      },
      "chainedInput" : {
        "type" : "object",
        "required" : [ "input" ],
        "properties" : {
          "input" : {
            "type" : "string"
          }
        }
      },
      "collection" : {
        "type" : "object",
        "required" : [ "id", "links" ],
        "properties" : {
          "id" : {
            "description" : "Identifier of the collection used, for example, in URIs",
            "type" : "string",
            "example" : "address"
          },
          "title" : {
            "description" : "tTtle of the collection",
            "type" : "string",
            "example" : "address"
          },
          "description" : {
            "description" : "A description of the features in the collection",
            "type" : "string",
            "example" : "An address."
          },
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/link"
            },
            "example" : [ {
              "href" : "http://data.example.com/buildings",
              "rel" : "item"
            }, {
              "href" : "http://example.com/concepts/buildings.html",
              "rel" : "describedby",
              "type" : "text/html"
            } ]
          },
          "extent" : {
            "$ref" : "#/components/schemas/extent"
          },
          "itemType" : {
            "description" : "Indicator about the type of the items in the collection.",
            "type" : "string",
            "default" : "feature"
          },
          "layerDataType" : {
            "description" : "Type of data layer.",
            "type" : "string"
          },
          "scaleDenominator" : {
            "description" : "Scale denominator.",
            "type" : "number"
          },
          "crs" : {
            "description" : "The list of coordinate reference systems supported by this service.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "default" : [ "http://www.opengis.net/def/crs/OGC/1.3/CRS84" ],
            "example" : [ "http://www.opengis.net/def/crs/OGC/1.3/CRS84", "http://www.opengis.net/def/crs/EPSG/0/4326" ]
          }
        }
      },
      "collections" : {
        "type" : "object",
        "required" : [ "links", "collections" ],
        "properties" : {
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/link"
            }
          },
          "collections" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/collection"
            }
          }
        }
      },
      "collectionInput" : {
        "type" : "object",
        "required" : [ "collection" ],
        "properties" : {
          "collection" : {
            "type" : "string"
          }
        }
      },
      "complexDataType" : {
        "type" : "object",
        "required" : [ "formats" ],
        "properties" : {
          "formats" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/formatDescription"
            }
          }
        }
      },
      "confClasses" : {
        "type" : "object",
        "required" : [ "conformsTo" ],
        "properties" : {
          "conformsTo" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "formatDescription" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/format"
        }, {
          "type" : "object",
          "properties" : {
            "maximumMegabytes" : {
              "type" : "integer"
            },
            "default" : {
              "type" : "boolean",
              "default" : false
            }
          }
        } ]
      },
      "all-collection-list" : {
        "$ref" : "./api/all-collections"
      },
      "vectorTile-collection-list" : {
        "$ref" : "./api/vectortiles-collections"
      },
      "feature-collection-list" : {
        "$ref" : "./api/feature-collections"
      },
      "coverage-collection-list" : {
        "$ref" : "./api/coverage-collections"
      },
      "tile-matrix-list": {
        "$ref" : "./api/tileMatrixSets"
      },
      "dataDescriptionType" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/descriptionType"
        }, {
          "type" : "object",
          "required" : [ "id" ]
        } ]
      },
      "descriptionType" : {
        "type" : "object",
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "keywords" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "metadata" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/metadata"
            }
          },
          "additionalParameters" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/metadata"
            }, {
              "type" : "object",
              "properties" : {
                "parameters" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/additionalParameter"
                  }
                }
              }
            } ]
          }
        }
      },
      "domainSet-json" : {
        "title" : "Coverage Domain Set Schema (JSON)",
        "type" : "object",
        "properties" : { }
      },
      "execute" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "process" : {
            "type" : "string"
          },
          "inputs" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/input"
            }
          }
        }
      },
      "exception" : {
        "type" : "object",
        "description" : "Information about the exception: an error code plus an optional description.",
        "required" : [ "code" ],
        "properties" : {
          "code" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          }
        }
      },
      "extent" : {
        "type" : "object",
        "description" : "The extent of the features 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.",
        "properties" : {
          "spatial" : {
            "description" : "The spatial extent of the features in the collection.",
            "type" : "object",
            "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* 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 `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\nthe bottom 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.",
                  "type" : "array",
                  "oneOf" : [ {
                    "minItems" : 4,
                    "maxItems" : 4
                  }, {
                    "minItems" : 6,
                    "maxItems" : 6
                  } ],
                  "items" : {
                    "type" : "number"
                  },
                  "example" : [ -180, -90, 180, 90 ]
                }
              },
              "crs" : {
                "description" : "Coordinate reference system of the coordinates in the spatial\nextent (property `spatial`). In the Core, only WGS84 longitude/latitude\nis supported. Extensions may support additional coordinate reference systems.",
                "type" : "string",
                "enum" : [ "http://www.opengis.net/def/crs/OGC/1.3/CRS84" ],
                "default" : "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
              }
            }
          }
        }
      },
      "featureCollectionGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "features" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "FeatureCollection" ]
          },
          "features" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/featureGeoJSON"
            }
          },
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/link"
            }
          },
          "timeStamp" : {
            "$ref" : "#/components/schemas/timeStamp-response"
          },
          "numberMatched" : {
            "$ref" : "#/components/schemas/numberMatched"
          },
          "numberReturned" : {
            "$ref" : "#/components/schemas/numberReturned"
          }
        }
      },
      "featureGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "geometry", "properties" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "Feature" ]
          },
          "geometry" : {
            "$ref" : "#/components/schemas/geometryGeoJSON"
          },
          "properties" : {
            "type" : "object",
            "nullable" : true
          },
          "id" : {
            "oneOf" : [ {
              "type" : "string"
            }, {
              "type" : "integer"
            } ]
          },
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/link"
            }
          }
        }
      },
      "format" : {
        "type" : "object",
        "required" : [ "mediaType" ],
        "properties" : {
          "mimeType" : {
            "type" : "string"
          },
          "schema" : {
            "type" : "string"
          },
          "encoding" : {
            "type" : "string"
          }
        }
      },
      "geometryGeoJSON" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/pointGeoJSON"
        }, {
          "$ref" : "#/components/schemas/multipointGeoJSON"
        }, {
          "$ref" : "#/components/schemas/linestringGeoJSON"
        }, {
          "$ref" : "#/components/schemas/multilinestringGeoJSON"
        }, {
          "$ref" : "#/components/schemas/polygonGeoJSON"
        }, {
          "$ref" : "#/components/schemas/multipolygonGeoJSON"
        }, {
          "$ref" : "#/components/schemas/geometrycollectionGeoJSON"
        } ]
      },
      "geometrycollectionGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "geometries" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "GeometryCollection" ]
          },
          "geometries" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/geometryGeoJSON"
            }
          }
        }
      },
      "inlineOrRefData" : {
        "type" : "object",
        "properties" : {
          "dataType" : {
            "$ref" : "#/components/schemas/nameReferenceType"
          },
          "uom" : {
            "$ref" : "#/components/schemas/nameReferenceType"
          },
          "format" : {
            "$ref" : "#/components/schemas/format"
          },
          "href" : {
            "type" : "string"
          },
          "value" : {
            "oneOf" : [ {
              "type" : "string"
            }, {
              "type" : "number"
            }, {
              "type" : "boolean"
            }, {
              "type" : "object"
            } ]
          }
        },
        "oneOf" : [ {
          "required" : [ "href" ]
        }, {
          "required" : [ "value" ]
        } ]
      },
      "input" : {
        "type" : "object",
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "type" : "string"
          }
        },
        "anyOf" : [ {
          "$ref" : "#/components/schemas/inlineOrRefData"
        }, {
          "$ref" : "#/components/schemas/boundingBoxData"
        }, {
          "$ref" : "#/components/schemas/collectionInput"
        }, {
          "$ref" : "#/components/schemas/processInput"
        }, {
          "$ref" : "#/components/schemas/chainedInput"
        }, {
          "$ref" : "#/components/schemas/listInput"
        } ]
      },
      "inputDescription" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/dataDescriptionType"
        }, {
          "type" : "object",
          "properties" : {
            "input" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/complexDataType"
              }, {
                "$ref" : "#/components/schemas/literalDataType"
              }, {
                "$ref" : "#/components/schemas/boundingBoxDataType"
              } ]
            },
            "minOccurs" : {
              "type" : "integer"
            },
            "maxOccurs" : {
              "oneOf" : [ {
                "type" : "integer"
              }, {
                "type" : "string",
                "enum" : [ "unbounded" ]
              } ]
            }
          }
        } ]
      },
      "jobControlOptions" : {
        "type" : "string",
        "enum" : [ "modular-deferred", "modular-sync" ]
      },
      "landingPage" : {
        "type" : "object",
        "required" : [ "links" ],
        "properties" : {
          "title" : {
            "type" : "string",
            "example" : "Buildings in Bonn"
          },
          "description" : {
            "type" : "string",
            "example" : "Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification."
          },
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/link"
            }
          }
        }
      },
      "keyword" : {
        "required" : [ "keyword" ],
        "type" : "object",
        "nullable" : true,
        "properties" : {
          "keyword" : {
            "type" : "string",
            "example" : "land cover"
          },
          "code" : {
            "type" : "string",
            "example" : "4612"
          },
          "codeSpace" : {
            "type" : "string"
          }
        }
      },
      "layers-array" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "example" : "1"
          },
          "type" : {
            "type" : "string",
            "example" : "fill",
            "enum" : [ "fill", "line", "symbol", "circle", "heatmap", "fill-extrusion", "raster", "hillshade", "background" ]
          },
          "source" : {
            "type" : "string",
            "example" : "daraa"
          },
          "source-layer" : {
            "type" : "string",
            "example" : "vegetationsrf"
          },
          "layout" : {
            "type" : "object"
          },
          "paint" : {
            "type" : "object",
            "properties" : {
              "fill-color" : {
                "type" : "string",
                "example" : "#11083b"
              }
            }
          }
        }
      },
      "linestringGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "coordinates" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "LineString" ]
          },
          "coordinates" : {
            "type" : "array",
            "minItems" : 2,
            "items" : {
              "type" : "array",
              "minItems" : 2,
              "items" : {
                "type" : "number"
              }
            }
          }
        }
      },
      "link" : {
        "type" : "object",
        "required" : [ "href" ],
        "properties" : {
          "href" : {
            "type" : "string",
            "example" : "http://data.example.com/buildings/123"
          },
          "rel" : {
            "type" : "string",
            "example" : "alternate"
          },
          "type" : {
            "type" : "string",
            "example" : "application/geo+json"
          },
          "hreflang" : {
            "type" : "string",
            "example" : "en"
          },
          "title" : {
            "type" : "string",
            "example" : "Trierer Strasse 70, 53115 Bonn"
          },
          "length" : {
            "type" : "integer"
          }
        }
      },
      "listInput" : {
        "type" : "object",
        "required" : [ "list" ],
        "properties" : {
          "list" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/input"
            }
          }
        }
      },
      "literalDataDomain" : {
        "type" : "object",
        "properties" : {
          "valueDefinition" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/allowedValues"
            }, {
              "$ref" : "#/components/schemas/anyValue"
            }, {
              "$ref" : "#/components/schemas/valuesReference"
            } ]
          },
          "defaultValue" : {
            "type" : "string"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/nameReferenceType"
          },
          "uom" : {
            "$ref" : "#/components/schemas/nameReferenceType"
          }
        }
      },
      "literalDataType" : {
        "type" : "object",
        "required" : [ "literalDataDomains" ],
        "properties" : {
          "literalDataDomains" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/literalDataDomain"
            }
          }
        }
      },
      "mb-style" : {
        "required" : [ "layers", "sources", "version" ],
        "type" : "object",
        "properties" : {
          "version" : {
            "type" : "number",
            "example" : 8
          },
          "name" : {
            "type" : "string",
            "example" : "night"
          },
          "sources" : {
            "type" : "object",
            "properties" : {
              "daraa" : {
                "type" : "object",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "example" : "vector"
                  },
                  "url" : {
                    "type" : "string",
                    "example" : "https://services.interactive-instruments.de/vtp/daraa/tiles/default/{z}/{y}/{x}?f=mvt"
                  }
                }
              }
            }
          },
          "sprite" : {
            "type" : "string",
            "example" : "http://vtp2018.s3-eu-west-1.amazonaws.com/static/mapstorestyle/sprites/sprites"
          },
          "glyphs" : {
            "type" : "string",
            "example" : "http://fonts.openmaptiles.org/{fontstack}/{range}.pbf"
          },
          "layers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/layers-array"
            }
          }
        }
      },
      "metadata" : {
        "type" : "object",
        "properties" : {
          "title" : {
            "type" : "string"
          },
          "role" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          }
        }
      },
      "multilinestringGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "coordinates" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "MultiLineString" ]
          },
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "minItems" : 2,
              "items" : {
                "type" : "array",
                "minItems" : 2,
                "items" : {
                  "type" : "number"
                }
              }
            }
          }
        }
      },
      "multipointGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "coordinates" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "MultiPoint" ]
          },
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "minItems" : 2,
              "items" : {
                "type" : "number"
              }
            }
          }
        }
      },
      "multipolygonGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "coordinates" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "MultiPolygon" ]
          },
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "items" : {
                "type" : "array",
                "minItems" : 4,
                "items" : {
                  "type" : "array",
                  "minItems" : 2,
                  "items" : {
                    "type" : "number"
                  }
                }
              }
            }
          }
        }
      },
      "numberMatched" : {
        "description" : "The number of features of the feature type that match the selection\nparameters like `bbox`.",
        "type" : "integer",
        "minimum" : 0,
        "example" : 127
      },
      "numberReturned" : {
        "description" : "The number of features in the feature collection.\nA server may omit this information in a response, if the information\nabout the number of features is not known or difficult to compute.\nIf the value is provided, the value shall be identical to the number\nof items in the \"features\" array.",
        "type" : "integer",
        "minimum" : 0,
        "example" : 10
      },
      "nameReferenceType" : {
        "type" : "object",
        "required" : [ "name" ],
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "reference" : {
            "type" : "string",
            "format" : "uri"
          }
        }
      },
      "outputDescription" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/dataDescriptionType"
        }, {
          "type" : "object",
          "properties" : {
            "output" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/complexDataType"
              }, {
                "$ref" : "#/components/schemas/literalDataType"
              }, {
                "$ref" : "#/components/schemas/boundingBoxDataType"
              } ]
            }
          }
        } ]
      },
      "pointGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "coordinates" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "Point" ]
          },
          "coordinates" : {
            "type" : "array",
            "minItems" : 2,
            "items" : {
              "type" : "number"
            }
          }
        }
      },
      "polygonGeoJSON" : {
        "type" : "object",
        "required" : [ "type", "coordinates" ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "Polygon" ]
          },
          "coordinates" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "minItems" : 4,
              "items" : {
                "type" : "array",
                "minItems" : 2,
                "items" : {
                  "type" : "number"
                }
              }
            }
          }
        }
      },
      "process" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/processSummary"
        }, {
          "type" : "object",
          "properties" : {
            "inputs" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/inputDescription"
              }
            },
            "outputs" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/outputDescription"
              }
            },
            "links" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/link"
              }
            }
          }
        } ]
      },
      "processes-list" : {
        "$ref" : "./api/processes-list"
      },
      "processInput" : {
        "type" : "object",
        "required" : [ "process" ],
        "properties" : {
          "process" : {
            "type" : "string"
          },
          "inputs" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/input"
            }
          }
        }
      },
      "processList" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/processSummary"
        }
      },
      "processSummary" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/descriptionType"
        }, {
          "type" : "object",
          "required" : [ "id", "version" ],
          "properties" : {
            "id" : {
              "type" : "string"
            },
            "version" : {
              "type" : "string"
            },
            "jobControlOptions" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/jobControlOptions"
              }
            },
            "outputTransmission" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/transmissionMode"
              }
            },
            "links" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/link"
              }
            }
          }
        } ]
      },
      "range" : {
        "type" : "object",
        "properties" : {
          "minimumValue" : {
            "type" : "string"
          },
          "maximumValue" : {
            "type" : "string"
          },
          "spacing" : {
            "type" : "string"
          },
          "rangeClosure" : {
            "type" : "string",
            "enum" : [ "closed", "open", "open-closed", "closed-open" ]
          }
        }
      },
      "rangeType-json" : {
        "title" : "Coverage Range Type Schema (JSON)",
        "type" : "object",
        "properties" : { }
      },
      "supportedCRS" : {
        "type" : "object",
        "properties" : {
          "crs" : {
            "type" : "string"
          },
          "default" : {
            "type" : "boolean",
            "default" : false
          }
        }
      },
      "stylesList" : {
        "type" : "object",
        "required" : [ "styles" ],
        "properties" : {
          "styles" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "$ref" : "#/components/schemas/style"
            },
            "example" : [ {
              "id" : "night",
              "title" : "Topographic night style",
              "links" : [ {
                "href" : "https://example.com/api/1.0/styles/night?f=mapbox",
                "type" : "application/vnd.mapbox.style+json",
                "rel" : "stylesheet"
              }, {
                "href" : "https://example.com/api/1.0/styles/night?f=sld10",
                "type" : "application/vnd.ogc.sld+xml;version=1.0",
                "rel" : "stylesheet"
              }, {
                "href" : "https://example.com/api/1.0/styles/night/metadata?f=json",
                "type" : "application/json",
                "rel" : "describedBy"
              } ]
            }, {
              "id" : "topographic",
              "title" : "Regular topographic style",
              "links" : [ {
                "href" : "https://example.com/api/1.0/styles/topographic?f=mapbox",
                "type" : "application/vnd.mapbox.style+json",
                "rel" : "stylesheet"
              }, {
                "href" : "https://example.com/api/1.0/styles/topographic?f=sld10",
                "type" : "application/vnd.ogc.sld+xml;version=1.0",
                "rel" : "stylesheet"
              }, {
                "href" : "https://example.com/api/1.0/styles/topographic/metadata?f=json",
                "type" : "application/json",
                "rel" : "describedBy"
              } ]
            } ]
          }
        }
      },
      "style" : {
        "type" : "object",
        "nullable" : true,
        "required" : [ "id", "links" ],
        "properties" : {
          "id" : {
            "type" : "string",
            "nullable" : true
          },
          "title" : {
            "type" : "string",
            "nullable" : true
          },
          "links" : {
            "type" : "array",
            "nullable" : true,
            "minItems" : 1,
            "items" : {
              "$ref" : "#/components/schemas/link"
            }
          }
        }
      },
      "tileMatrixSet" : {
        "description" : "A definition of a tile matrix following the 2D Tile Matrix Set standard. For tileset metadata, this property is only required for offline use, as an alternative to tileMatrixSetURI and tileMatrixSetDefinition.",
        "required" : [ "identifier" ],
        "type" : "object",
        "properties" : {
          "uri" : {
            "type" : "string",
            "description" : "URI for a tile matrix set registered with OGC Naming Authority",
            "example" : "http://www.opengis.net/def/tilematrixset/OGC/1.0/GNOSISGlobalGrid"
          },
          "title" : {
            "type" : "string",
            "description" : "Title of this tile matrix set, normally used for display to a human",
            "example" : "Google Maps Compatible for the World"
          },
          "description" : {
            "type" : "string",
            "description" : "Brief narrative description of this tile matrix set, normally available for display to a human",
            "example" : "The GNOSIS Global Grid is based on WGS84 and is (almost) a quad-tree roughly approximating equal area by adjusting the number of tiles per row in polar zones."
          },
          "keywords" : {
            "type" : "array",
            "description" : "Unordered list of one or more commonly used or formalized word(s) or phrase(s) used to describe this dataset",
            "items" : {
              "$ref" : "#/components/schemas/keyword"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Tile matrix set identifier,",
            "example" : "WebMercatorQuad"
          },
          "crs" : {
            "type" : "string",
            "description" : "Reference to one coordinate reference system (CRS)",
            "format" : "uri"
          },
          "orderedAxes": {
            "type": "array",
            "minItems": 1,
            "items": {
               "type": "string"
            }
          },
          "wellKnownScaleSet" : {
            "type" : "string",
            "description" : "Reference to a well-known scale set"
          },
          "tileMatrices" : {
            "type" : "array",
            "description" : "Describes a scale level and its tile matrix",
            "items" : {
              "$ref" : "#/components/schemas/tileMatrix"
            }
          }
        }
      },
      "tileMatrix" : {
        "required" : [ "identifier", "matrixHeight", "matrixWidth", "scaleDenominator", "cellSize", "tileHeight", "tileWidth", "pointOfOrigin" ],
        "type" : "object",
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Title of this tile matrix, normally used for display to a human",
            "example" : "Google Maps Compatible for the World zoom level 3"
          },
          "abstract" : {
            "type" : "string",
            "description" : "Brief narrative description of this tile matrix, normally available for display to a human",
            "example" : "Google Maps Compatible zoom level 3 that is equivalent to a scale of 1:69885283.00358972 and has 19567.87924100512 meters of pixel size in the equator"
          },
          "keywords" : {
            "type" : "array",
            "description" : "keywords about the elements in the collection",
            "items" : {
              "$ref" : "#/components/schemas/keyword"
            }
          },
          "identifier" : {
            "type" : "string",
            "description" : "Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile.",
            "example" : "15"
          },
          "scaleDenominator" : {
            "type" : "number",
            "description" : "Scale denominator of this tile matrix",
            "example" : 4265.4591676995678
          },
          "cellSize": {
            "description": "Cell size of this tile matrix",
            "type": "number",
            "example": 0.0000107288361
          },
          "pointOfOrigin" : {
            "type" : "array",
            "description" : "Position in CRS coordinates of the corner of origin for this tile matrix.",
            "example" : [ 90, -180 ],
            "items" : {
              "type" : "number",
              "format" : "double"
            }
          },
          "cornerOfOrigin": {
            "description": "Corner of the tile matrix used as the origin for numbering tile rows and columns.",
            "type": "string",
            "enum": ["topLeft", "bottomLeft"],
            "default": "topLeft"
          },
          "tileWidth" : {
            "minimum" : 1,
            "type" : "number",
            "description" : "Width of each tile of this tile matrix in pixels",
            "format" : "integer",
            "example" : 256
          },
          "tileHeight" : {
            "minimum" : 1,
            "type" : "number",
            "description" : "Height of each tile of this tile matrix in pixels",
            "format" : "integer",
            "example" : 256
          },
          "matrixHeight" : {
            "minimum" : 1,
            "type" : "number",
            "description" : "Width of the matrix (number of tiles in width)",
            "format" : "integer",
            "example" : 65536
          },
          "matrixWidth" : {
            "minimum" : 1,
            "type" : "number",
            "description" : "Height of the matrix (number of tiles in height)",
            "format" : "integer",
            "example" : 131072
          },
          "variableMatrixWidths": {
             "description": "Describes the rows that has variable matrix width",
             "type": "array",
             "items": {
               "description": "Variable Matrix Width data structure",
               "type": "object",
               "required": ["coalesce", "minTileRow", "maxTileRow"],
               "properties":
               {
                  "coalesce" : {
                  "description": "Coalescence factor",
                     "type": "number",
                     "format" : "integer",
                     "minimum": 2,
                     "multipleOf" : 1
                  },
                  "minTileRow": {
                     "description": "First tile row where the coalescence factor applies on this tilematrix",
                     "type": "number",
                     "format" : "integer",
                     "minimum": 0,
                     "multipleOf" : 1
                  },
                  "maxTileRow": {
                     "description": "Last tile row where the coalescence factor applies on this tilematrix",
                     "type": "number",
                     "format" : "integer",
                     "minimum": 0,
                     "multipleOf" : 1
                  }
               }
             }
          }
        }
      },
      "tileMatrixSetLimits" : {
        "type" : "array",
        "minItems" : 1,
        "items" : {
           "type" : "object",
           "required" : [ "tileMatrix", "minTileRow", "maxTileRow", "minTileCol", "maxTileCol" ],
           "properties" : {
             "tileMatrix" : {
               "type" : "string",
               "format" : "uri",
               "example" : "5"
             },
             "minTileRow" : {
               "type" : "number",
               "format" : "integer",
               "minimum" : 0,
               "example" : 0
             },
             "maxTileRow" : {
               "type" : "number",
               "format" : "integer",
               "minimum" : 0,
               "example" : 1
             },
             "minTileCol" : {
               "type" : "number",
               "format" : "integer",
               "minimum" : 0,
               "example" : 3
             },
             "maxTileCol" : {
               "type" : "number",
               "format" : "integer",
               "minimum" : 0,
               "example" : 4
             }
           }
        }
      },
      "tiles-links" :
      {
         "type" : "array",
         "example" : [ {
           "href" : "http://data.example.com/collections/buildings/map/tiles/WorldMercatorWGS84Quad",
           "rel" : "self",
           "type" : "application/json"
         }, {
           "href" : "http://data.example.com/collections/buildings/map/tiles/WorldMercatorWGS84Quad/{tileMatrix}/{tileRow}/{tileCol}",
           "templated" : true,
           "rel" : "item",
           "type" : "image/png"
         } ],
         "items" : {
           "$ref" : "#/components/schemas/link"
         }
      },
      "tileSet" : {
        "description" : "A resource describing a tileset based on the OGC TileSet Metadata Standard",
        "anyOf" :
        [
            {
               "required" : [ "tileMatrixSetDefinition", "links" ],
               "properties" :
               {
                   "tileMatrixSetDefinition" : {
                     "type" : "string",
                     "example" : "http://data.example.com/tileMatrixSets/WorldMercatorWGS84Quad",
                     "description" : "Reference to a tile matrix set definition following the 2D Tile Matrix Set Standard. Required for custom Tile Matrix Sets."
                   },
                   "links" : {
                      "$ref" : "#/components/schemas/tiles-links"
                   }
               }
            },
            {
               "required" : [ "tileMatrixSet", "mediaType" ],
               "properties" :
               {
                   "tileMatrixSet" : {
                     "$ref" : "#/components/schemas/tileMatrixSet"
                   },
                   "mediaType" : {
                     "type" : "string",
                     "description" : "Media type of individual tiles (for offline tilesets only -- the supported media types are specified in links for online tiles)"
                   },
                   "links" : {
                      "$ref" : "#/components/schemas/tiles-links"
                   }
               }
            }
        ],
        "type" : "object",
        "required" : [ "dataType" ],
        "properties" : {
          "tileMatrixSetURI" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Reference to a Tile Matrix Set on the OGC definitions server (http://www.opengis.net/def/tms/). Required if the tile matrix set is registered on the definition server.",
            "example" : "http://www.opengis.net/def/tilematrixset/OGC/1.0/GNOSISGlobalGrid"
          },
          "tileMatrixSetLimits" : {
              "$ref" : "#/components/schemas/tileMatrixSetLimits"
          },
          "title" : {
            "type" : "string",
            "description" : "A title for this tileset"
          },
          "abstract" : {
            "type" : "string",
            "description" : "Brief narrative description of this tile set"
          },
            "dataType": {
					"description": "Type of data represented in the tileset",
               "type" : "string",
               "enum" : [ "imagery", "vector", "coverage" ]
				},
            "crs": {
               "description": "Coordinate Reference System (CRS)",
				   "type": "string"
            },
            "orderedAxes": {
               "type": "array",
               "minItems": 1,
               "items": {
                  "type": "string"
               }
            },
            "epoch": {
            "description": "Epoch of the Coordinate Reference System (CRS)",
            "type": "number"
          },
          "keywords" : {
            "type" : "array",
            "description" : "keywords about this tileset",
            "items" : {
              "$ref" : "#/components/schemas/keyword"
            }
          },
          "layers" : {
            "type" : "array",
            "items" : {
               "$ref" : "#/components/schemas/layerDescription"
            }
          },
          "boundingBox" :
          {
             "$ref" : "#/components/schemas/tiles-boundingBox"
          },
          "centerPoint" :
          {
             "$ref" : "#/components/schemas/tilePoint"
          },
          "created" :
          {
             "$ref" : "#/components/schemas/timeStamp"
          },
          "updated" :
          {
             "$ref" : "#/components/schemas/timeStamp"
          },
          "version" : { "type" : "string" },
          "pointOfContact" : { "type" : "string" },
          "accessConstraints" : {
             "$ref" : "#/components/schemas/classificationCode"
          }
        }
      },
      "layerDescription" :
      {
         "type" : "object",
         "required" : [ "identifier", "dataType" ],
         "properties" :
         {
            "identifier" : { "type" : "string" },
            "dataType" :
            {
               "type" : "string",
               "enum" : [ "imagery", "vector", "coverage" ]
            },
            "geometryType" :
            {
               "type" : "string",
               "enum" : [ "points", "lines", "polygons" ]
            },
            "featureType" : { "type" : "string" },
            "propertiesSchema" :
            {
               "type" : "object",
               "required" : [ "type", "properties" ],
               "properties" :
               {
                  "type" :
                  {
                     "type" : "string",
                     "enum" : [ "object" ]
                  },
                  "properties" :
                  {
                     "type" : "array",
                     "items" :
                     {
                        "type" : "object"
                     }
                  }
               }
            },
            "pointOfContact" : { "type" : "string" },
            "publisher" : { "type" : "string" },
            "theme" : { "type" : "string" },
            "supportedCRS" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/supportedCRS"
              }
            },
            "style" :
            {
               "$ref" : "#/components/schemas/layerStyle"
            },
            "links" :
            {
               "$ref" : "#/components/schemas/layers-links"
            },
            "created" :
            {
               "$ref" : "#/components/schemas/timeStamp"
            },
            "updated" :
            {
               "$ref" : "#/components/schemas/timeStamp"
            },
            "boundingBox" :
            {
               "$ref" : "#/components/schemas/tiles-boundingBox"
            },
            "geoDataClass" : { "type" : "string" },
            "minTileMatrix" : { "type" : "string" },
            "maxTileMatrix" : { "type" : "string" },
            "maxCellSize" : { "type" : "number" },
            "minCellSize" : { "type" : "number" },
            "minScaleDenominator" : { "type" : "number" },
            "maxScaleDenominator" : { "type" : "number" }
         }
      },
      "layers-links" :
      {
         "type" : "array",
         "items" :
         {
            "$ref" : "#/components/schemas/link"
         }
      },
      "layerStyle" :
      {
         "type" : "object",
         "required" : [ "id" ],
         "properties" :
         {
            "id" : { "type" : "string" },
            "links" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/link" } }
         }
      },

      "tilePoint" :
      {
         "type" : "object",
         "required" : [ "coordinates", "tileMatrix" ],
         "properties" :
         {
            "coordinates" :
            {
               "type" : "array",
               "minItems" : 2,
               "items" : { "type" : "number" }
            },
            "tileMatrix" : { "type" : "string" },
            "scaleDenominator" : { "type" : "number" },
            "cellSize" : { "type" : "number" }
         }
      },
      "classificationCode" :
      {
         "type" : "string",
         "enum" : [ "unclassified", "confidential", "restricted", "secret", "topSecret" ]
      },
      "tilesetsList" : {
        "description" : "A list of tilesets available through the Tiles API for one or more data type, style and Tile Matrix Set, as well as potentially links to other related tilesets for the same data (e.g. of different dataType and  style) available.",
        "type" : "object",
        "properties" : {
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/link"
            }
          },
          "tilesets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/tileSet"
            }
          }
        }
      },
      "timeStamp-response" : {
        "description" : "This property indicates the time and date when the response was generated.",
        "type" : "string",
        "format" : "date-time",
        "example" : "2017-08-17T08:05:32Z"
      },
      "timeStamp" : {
        "type" : "string",
        "format" : "date-time",
        "example" : "2017-08-17T08:05:32Z"
      },
      "transmissionMode" : {
        "type" : "string",
        "enum" : [ "value", "reference" ]
      },
      "valuesReference" : {
        "type" : "string",
        "format" : "uri"
      }
    },
    "responses" : {
      "LandingPage" : {
        "description" : "The landing page provides links to the API definition\n(link relations to\nthe Conformance declaration (path `/conformance`,\nlink relation `conformance`), and the Feature\nCollections (path `/collections`, link relation\n`data`).",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/landingPage"
            },
            "example" : {
              "title" : "Buildings in Bonn",
              "description" : "Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.",
              "links" : [ {
                "href" : "http://data.example.org/",
                "rel" : "self",
                "type" : "application/json",
                "title" : "this document"
              }, {
                "href" : "http://data.example.org/api",
                "rel" : "service-desc",
                "type" : "application/vnd.oai.openapi+json;version=3.0",
                "title" : "the API definition"
              }, {
                "href" : "http://data.example.org/api.html",
                "rel" : "service-doc",
                "type" : "text/html",
                "title" : "the API documentation"
              }, {
                "href" : "http://data.example.org/conformance",
                "rel" : "conformance",
                "type" : "application/json",
                "title" : "OGC API conformance classes implemented by this service"
              }, {
                "href" : "http://data.example.org/collections",
                "rel" : "data",
                "type" : "application/json",
                "title" : "Information about the feature collections"
              } ]
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "ConformanceDeclaration" : {
        "description" : "The URIs of all conformance classes supported by the server.\nTo support \"generic\" clients that want to access multiple\nOGC API Features implementations - and not \"just\" the specified\nAPI / server, the server declares the conformance\nclasses it implements and conforms to.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/confClasses"
            },
            "example" : {
              "conformsTo" : [ "http://www.opengis.net/spechttp://127.0.0.1:8080/fakeogcapi-features-1/1.0/conf/core", "http://www.opengis.net/spechttp://127.0.0.1:8080/fakeogcapi-features-1/1.0/conf/oas30", "http://www.opengis.net/spechttp://127.0.0.1:8080/fakeogcapi-features-1/1.0/conf/html", "http://www.opengis.net/spechttp://127.0.0.1:8080/fakeogcapi-features-1/1.0/conf/geojson" ]
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "collectionsList" : {
        "description" : "The collections of (mostly geospatial) data available from this API. The dataset contains one or more collections. This resource provides information about and access to the collections. The response contains the list of collections. Each collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is provided, with the corresponding relation type, as well as key information about the collection. This information includes:\n* a local identifier for the collection that is unique for the dataset;\n* a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* an optional title and description for the collection;\n* an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/collections"
            },
            "example" : {
              "links" : [ {
                "href" : "http://data.example.org/collections.json",
                "rel" : "self",
                "type" : "application/json",
                "title" : "this document"
              }, {
                "href" : "http://data.example.org/collections.html",
                "rel" : "alternate",
                "type" : "text/html",
                "title" : "this document as HTML"
              }, {
                "href" : "http://schemas.example.org/1.0/buildings.xsd",
                "rel" : "describedby",
                "type" : "application/xml",
                "title" : "GML application schema for Acme Corporation building data"
              }, {
                "href" : "http://download.example.org/buildings.gpkg",
                "rel" : "enclosure",
                "type" : "application/geopackage+sqlite3",
                "title" : "Bulk download (GeoPackage)",
                "length" : 472546
              } ],
              "collections" : [ {
                "id" : "buildings",
                "title" : "Buildings",
                "description" : "Buildings in the city of Bonn.",
                "extent" : {
                  "spatial" : {
                    "bbox" : [ [ 7.01, 50.63, 7.22, 50.78 ] ]
                  },
                  "temporal" : {
                    "interval" : [ [ "2010-02-15T12:34:56Z", null ] ]
                  }
                },
                "links" : [ {
                  "href" : "http://data.example.org/collections/buildings/items",
                  "rel" : "items",
                  "type" : "application/geo+json",
                  "title" : "Buildings"
                }, {
                  "href" : "http://data.example.org/collections/buildings/items.html",
                  "rel" : "items",
                  "type" : "text/html",
                  "title" : "Buildings"
                }, {
                  "href" : "https://creativecommons.org/publicdomain/zero/1.0/",
                  "rel" : "license",
                  "type" : "text/html",
                  "title" : "CC0-1.0"
                }, {
                  "href" : "https://creativecommons.org/publicdomain/zero/1.0/rdf",
                  "rel" : "license",
                  "type" : "application/rdf+xml",
                  "title" : "CC0-1.0"
                } ]
              } ]
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "Collection" : {
        "description" : "Information about the collection of (mostly geospatial) data available from this API. The collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is contained in the response, with the corresponding relation type, as well as key information about the collection. This information includes:\n* a local identifier for the collection that is unique for the dataset;\n* a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* an optional title and description for the collection;\n* an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/collection"
            },
            "example" : {
              "id" : "buildings",
              "title" : "Buildings",
              "description" : "Buildings in the city of Bonn.",
              "extent" : {
                "spatial" : {
                  "bbox" : [ [ 7.01, 50.63, 7.22, 50.78 ] ]
                },
                "temporal" : {
                  "interval" : [ [ "2010-02-15T12:34:56Z", null ] ]
                }
              },
              "links" : [ {
                "href" : "http://data.example.org/collections/buildings/items",
                "rel" : "items",
                "type" : "application/geo+json",
                "title" : "Buildings"
              }, {
                "href" : "http://data.example.org/collections/buildings/items.html",
                "rel" : "items",
                "type" : "text/html",
                "title" : "Buildings"
              }, {
                "href" : "https://creativecommons.org/publicdomain/zero/1.0/",
                "rel" : "license",
                "type" : "text/html",
                "title" : "CC0-1.0"
              }, {
                "href" : "https://creativecommons.org/publicdomain/zero/1.0/rdf",
                "rel" : "license",
                "type" : "application/rdf+xml",
                "title" : "CC0-1.0"
              } ]
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "DomainSet" : {
        "description" : "The domain set of a coverage.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/domainSet-json"
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "Features" : {
        "description" : "The response is a document consisting of features in the collection.\nThe features included in the response are determined by the server\nbased on the query parameters of the request. To support access to\nlarger collections without overloading the client, the API supports\npaged access with links to the next page, if more features are selected\nthat the page size.\nThe `bbox` and `datetime` parameter can be used to select only a\nsubset of the features in the collection (the features that are in the\nbounding box or time interval). The `bbox` parameter matches all features\nin the collection that are not associated with a location, too. The\n`datetime` parameter matches all features in the collection that are\nnot associated with a time stamp or interval, too.\nThe `limit` parameter may be used to control the subset of the\nselected features that should be returned in the response, the page size.\nEach page may include information about the number of selected and\nreturned features (`numberMatched` and `numberReturned`) as well as\nlinks to support paging (link relation `next`).",
        "content" : {
          "application/geo+json" : {
            "schema" : {
              "$ref" : "#/components/schemas/featureCollectionGeoJSON"
            },
            "example" : {
              "type" : "FeatureCollection",
              "links" : [ {
                "href" : "http://data.example.com/collections/buildings/items.json",
                "rel" : "self",
                "type" : "application/geo+json",
                "title" : "this document"
              }, {
                "href" : "http://data.example.com/collections/buildings/items.html",
                "rel" : "alternate",
                "type" : "text/html",
                "title" : "this document as HTML"
              }, {
                "href" : "http://data.example.com/collections/buildings/items.json&offset=10&limit=2",
                "rel" : "next",
                "type" : "application/geo+json",
                "title" : "next page"
              } ],
              "timeStamp" : "2018-04-03T14:52:23Z",
              "numberMatched" : 123,
              "numberReturned" : 2,
              "features" : [ {
                "type" : "Feature",
                "id" : "123",
                "geometry" : {
                  "type" : "Polygon",
                  "coordinates" : [ "..." ]
                },
                "properties" : {
                  "function" : "residential",
                  "floors" : "2",
                  "lastUpdate" : "2015-08-01T12:34:56Z"
                }
              }, {
                "type" : "Feature",
                "id" : "132",
                "geometry" : {
                  "type" : "Polygon",
                  "coordinates" : [ "..." ]
                },
                "properties" : {
                  "function" : "public use",
                  "floors" : "10",
                  "lastUpdate" : "2013-12-03T10:15:37Z"
                }
              } ]
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "Feature" : {
        "description" : "fetch the feature with id `featureId` in the feature collection\nwith id `collectionId`",
        "content" : {
          "application/geo+json" : {
            "schema" : {
              "$ref" : "#/components/schemas/featureGeoJSON"
            },
            "example" : {
              "type" : "Feature",
              "links" : [ {
                "href" : "http://data.example.com/id/building/123",
                "rel" : "canonical",
                "title" : "canonical URI of the building"
              }, {
                "href" : "http://data.example.com/collections/buildings/items/123.json",
                "rel" : "self",
                "type" : "application/geo+json",
                "title" : "this document"
              }, {
                "href" : "http://data.example.com/collections/buildings/items/123.html",
                "rel" : "alternate",
                "type" : "text/html",
                "title" : "this document as HTML"
              }, {
                "href" : "http://data.example.com/collections/buildings",
                "rel" : "collection",
                "type" : "application/geo+json",
                "title" : "the collection document"
              } ],
              "id" : "123",
              "geometry" : {
                "type" : "Polygon",
                "coordinates" : [ "..." ]
              },
              "properties" : {
                "function" : "residential",
                "floors" : "2",
                "lastUpdate" : "2015-08-01T12:34:56Z"
              }
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "content-coverage" : {
        "description" : "A coverage returned as a response.",
        "content" : {
          "image/png" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/jpeg" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/tiff; application=geotiff" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "content-coverageTile" : {
        "description" : "A coverage returned as a response.",
        "content" : {
          "image/png" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/jpeg" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/tiff; application=geotiff" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "application/vnd.gnosis-map-tile" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "content-process-results" : {
        "description" : "Processing results returned as a response.",
        "content" : {
          "application/geo+json" : {
            "schema" : {
              "$ref" : "#/components/schemas/featureCollectionGeoJSON"
            }
          },
          "image/png" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/jpeg" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/tiff; application=geotiff" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          }
        }
      },
      "content-vector" : {
        "description" : "Vector features returned as a response.",
        "content" : {
          "application/geo+json" : {
            "schema" : {
              "$ref" : "#/components/schemas/featureCollectionGeoJSON"
            }
          },
          "application/vnd.mapbox-vector-tile" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "text/mapml" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "content-vectorTile" : {
        "description" : "A vector tile returned as a response.",
        "content" : {
           "application/geo+json" : {
             "schema" : {
               "type" : "string",
               "format" : "binary"
             }
           },
           "application/vnd.mapbox-vector-tile" : {
             "schema" : {
               "type" : "string",
               "format" : "binary"
             }
           },
           "application/vnd.gnosis-map-tile" : {
             "schema" : {
               "type" : "string",
               "format" : "binary"
             }
           },
           "text/mapml" : {
             "schema" : {
               "type" : "string",
               "format" : "binary"
             }
           }
        }
      },
      "content-map" : {
        "description" : "A map image returned as a response.",
        "content" : {
          "image/png" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/jpeg" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/tiff; application=geotiff" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          }
        }
      },
      "content-mapTile" : {
        "description" : "A map image returned as a response.",
        "content" : {
          "image/png" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/jpeg" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "image/tiff; application=geotiff" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          },
          "application/vnd.gnosis.map-tile" : {
            "schema" : {
              "type" : "string",
              "format" : "binary"
            }
          }
        }
      },
      "RangeType" : {
        "description" : "The range type of a coverage.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/rangeType-json"
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "InvalidParameter" : {
        "description" : "A query parameter has an invalid value.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/exception"
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "response-style" :
      {
         "description" : "A cartographic style sheet to be applied to vector features and/or raster coverages",
         "content" : {
           "application/vnd.gnosis.cmss+eccss" : {
             "schema" : {
               "type" : "string"
             }
           },
           "application/vnd.ogc.sld+xml;version=1.0" : {
             "schema" : {
               "type" : "string"
             }
           },
           "application/vnd.mapbox.style+json" : {
             "schema" : {
               "$ref" : "#/components/schemas/mb-style"
             }
           }
         }
      },
      "NotFound" : {
        "description" : "The requested resource does not exist on the server. For example, a path parameter had an incorrect value."
      },
      "NotAcceptable" : {
        "description" : "Content negotiation failed. For example, the `Accept` header submitted in the request did not support any of the media types supported by the server for the requested resource."
      },
      "ServerError" : {
        "description" : "A server error occurred.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/exception"
            }
          },
          "text/html" : {
            "schema" : {
              "type" : "string"
            }
          }
        }
      }
    }
  },
  "servers" : [ {
    "description" : "GNOSIS Map Server",
    "url" : "http://127.0.0.1:8080/fakeogcapi"
  } ]
}
