openapi: 3.0.3 info: title: OGC API version: 0.1.0 description: |- This is an OpenAPI definition of various OGC API specifications as well as the SpatioTemporal Asset Catalog (STAC) API specification. contact: name: "GeoRust `ogcapi` project on GitHub" url: "https://github.com/georust/ogcapi" license: name: CC-BY 4.0 license url: https://creativecommons.org/licenses/by/4.0/ servers: - url: http://localhost:8484 description: "Development server" tags: - name: server - name: Capabilities description: essential characteristics of this API - name: Data description: access to data (features) - name: Tiling Schemes - name: Vector Tiles - name: Processes description: OGC API Processes. - name: Jobs description: OGC API Processes (Jobs). paths: /: get: description: >- The landing page provides links to the API definition and the conformance statements for this API. operationId: getLandingPage responses: "200": $ref: "#/components/responses/LandingPage" "400": $ref: "#/components/responses/BadRequest" "500": $ref: "#/components/responses/ServerError" summary: Landing page tags: - server /api: get: description: This document responses: "200": $ref: "#/components/responses/Success" "400": $ref: "#/components/responses/BadRequest" default: $ref: "#/components/responses/ServerError" summary: This document tags: - server /conformance: get: description: >- A list of all conformance classes specified in a standard that the server conforms to. operationId: getConformanceDeclaration responses: "200": $ref: "#/components/responses/ConformanceDeclaration" "400": $ref: "#/components/responses/BadRequest" "500": $ref: "#/components/responses/ServerError" summary: API conformance definition tags: - server /collections: get: tags: - Capabilities summary: the feature collections in the dataset operationId: getCollections responses: "200": $ref: "#/components/schemas/collections" "500": $ref: "#/components/responses/ServerError" /collections/{collectionId}: get: tags: - Capabilities summary: describe the feature collection with id `collectionId` operationId: describeCollection parameters: - $ref: "#/components/parameters/collectionId" responses: "200": $ref: "#/components/schemas/collectionDesc" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/ServerError" /collections/{collectionId}/items: get: tags: - Data summary: fetch features description: |- Fetch features of the feature collection with id `collectionId`. Every feature in a dataset belongs to a collection. A dataset may consist of multiple feature collections. A feature collection is often a collection of features of a similar type, based on a common schema. Use content negotiation to request HTML or GeoJSON. operationId: getFeatures parameters: - $ref: "#/components/parameters/collectionId" - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/bbox" - $ref: "#/components/parameters/bbox-crs" - $ref: "#/components/parameters/datetime" - $ref: "#/components/parameters/crs" responses: "200": $ref: "#/components/responses/FeatureCollection" "400": $ref: "#/components/responses/BadRequest" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/ServerError" /collections/{collectionId}/items/{featureId}: get: tags: - Data summary: fetch a single feature description: |- Fetch the feature with id `featureId` in the feature collection with id `collectionId`. Use content negotiation to request HTML or GeoJSON. operationId: getFeature parameters: - $ref: "#/components/parameters/collectionId" - $ref: "#/components/parameters/featureId" - $ref: "#/components/parameters/crs" responses: "200": $ref: "#/components/responses/Feature" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/ServerError" # Shared Tile Matrix Set definitions /tileMatrixSets: get: tags: - Tiling Schemes summary: Retrieve the list of available tiling schemes (tile matrix sets) operationId: getTileMatrixSetsList # parameters: # - $ref: "#/components/parameters/f-metadata" responses: "200": $ref: "#/components/responses/TileMatrixSetsList" "406": $ref: "#/components/responses/NotAcceptable" "500": $ref: "#/components/responses/ServerError" /tileMatrixSets/{tileMatrixSetId}: get: tags: - Tiling Schemes summary: Retrieve the definition of the specified tiling scheme (tile matrix set) operationId: getTileMatrixSet parameters: - $ref: "#/components/parameters/tileMatrixSetId" # - $ref: "#/components/parameters/f-metadata" responses: "200": $ref: "#/components/responses/TileMatrixSet" "404": description: The requested tile matrix set id was not found content: application/json: schema: $ref: "#/components/schemas/exception" "406": $ref: "#/components/responses/NotAcceptable" "500": $ref: "#/components/responses/ServerError" # Vector Tiles: Data Set Tile Sets /tiles: get: tags: - Vector Tiles summary: Retrieve a list of available vector tilesets for the dataset operationId: .dataset.vector.getTileSetsList # parameters: # - $ref: "#/components/parameters/f-metadata" responses: "200": $ref: "#/components/responses/TileSetsList" "404": $ref: "#/components/responses/NotFound" "406": $ref: "#/components/responses/NotAcceptable" "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: .dataset.vector.getTileSet parameters: - $ref: "#/components/parameters/collections" - $ref: "#/components/parameters/tileMatrixSetId" # - $ref: "#/components/parameters/f-metadata" responses: "200": $ref: "#/components/responses/TileSet" "404": $ref: "#/components/responses/NotFound" "406": $ref: "#/components/responses/NotAcceptable" "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: .dataset.vector.getTile parameters: - $ref: "#/components/parameters/tileMatrix" - $ref: "#/components/parameters/tileRow" - $ref: "#/components/parameters/tileCol" - $ref: "#/components/parameters/datetime" - $ref: "#/components/parameters/collections" # - $ref: "#/components/parameters/subset" - $ref: "#/components/parameters/crs" # - $ref: "#/components/parameters/subset-crs" - $ref: "#/components/parameters/tileMatrixSetId" # - $ref: "#/components/parameters/f-vectorTile" responses: "200": $ref: "#/components/responses/VectorTile" "204": $ref: "#/components/responses/Empty" "404": $ref: "#/components/responses/NotFound" "406": $ref: "#/components/responses/NotAcceptable" "500": $ref: "#/components/responses/ServerError" # Vector Tiles: Collection Tile Sets /collections/{collectionId}/tiles: get: tags: - Vector Tiles summary: Retrieve a list of available vector tilesets for the specified collection. operationId: .collection.vector.getTileSetsList parameters: - $ref: "#/components/parameters/collectionId" # - $ref: "#/components/parameters/f-metadata" responses: "200": $ref: "#/components/responses/TileSetsList" "404": $ref: "#/components/responses/NotFound" "406": $ref: "#/components/responses/NotAcceptable" "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: .collection.vector.getTileSet parameters: - $ref: "#/components/parameters/collectionId" - $ref: "#/components/parameters/collections" - $ref: "#/components/parameters/tileMatrixSetId" # - $ref: "#/components/parameters/f-metadata" responses: "200": $ref: "#/components/responses/TileSet" "404": $ref: "#/components/responses/NotFound" "406": $ref: "#/components/responses/NotAcceptable" "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: .collection.vector.getTile parameters: - $ref: "#/components/parameters/tileMatrix" - $ref: "#/components/parameters/tileRow" - $ref: "#/components/parameters/tileCol" - $ref: "#/components/parameters/datetime" - $ref: "#/components/parameters/collectionId" - $ref: "#/components/parameters/collections" # - $ref: "#/components/parameters/subset" - $ref: "#/components/parameters/crs" # - $ref: "#/components/parameters/subset-crs" - $ref: "#/components/parameters/tileMatrixSetId" # - $ref: "#/components/parameters/f-vectorTile" responses: "200": $ref: "#/components/responses/VectorTile" "204": $ref: "#/components/responses/Empty" "404": $ref: "#/components/responses/NotFound" "406": $ref: "#/components/responses/NotAcceptable" "500": $ref: "#/components/responses/ServerError" # OGC API - Processes - Part 1: Core /processes: get: summary: retrieve the list of available processes description: | The list of processes contains a summary of each process the OGC API - Processes offers, including the link to a more detailed description of the process. For more information, see [Section 7.7]https://docs.ogc.org/is/18-062r2/18-062r2.html#sc_process_list). operationId: getProcesses tags: - Processes responses: "200": $ref: "#/components/responses/ProcessList" /processes/{processID}: get: summary: retrieve a process description description: | The process description contains information about inputs and outputs and a link to the execution-endpoint for the process. The Core does not mandate the use of a specific process description to specify the interface of a process. That said, the Core requirements class makes the following recommendation: Implementations SHOULD consider supporting the OGC process description. For more information, see [Section 7.8](https://docs.ogc.org/is/18-062r2/18-062r2.html#sc_process_description). operationId: getProcessDescription tags: - Processes parameters: - $ref: "#/components/parameters/processID-path" responses: "200": $ref: "#/components/responses/ProcessDescription" "404": $ref: "#/components/responses/NotFound" /processes/{processID}/execution: post: summary: execute a process. description: | Executes a process (this may result in the creation of a job resource e.g., for _asynchronous execution_). For more information, see [Section 7.9](https://docs.ogc.org/is/18-062r2/18-062r2.html#sc_create_job). operationId: execute tags: - Processes parameters: - $ref: "#/components/parameters/processID-path" - $ref: "#/components/parameters/prefer-header-execution" requestBody: description: |- An execution request specifying any inputs for the process to execute, and optionally to select specific outputs. With support for _Part 3: Workflows and chaining_, this execution request may specify a complex processing workflow e.g., including nested processes and OGC API collections as inputs. required: true content: application/json: schema: $ref: "#/components/schemas/execute" responses: "200": $ref: "#/components/responses/ExecuteSync" "201": $ref: "#/components/responses/ExecuteAsync" "204": $ref: "#/components/responses/Empty" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/ServerError" # callbacks: # jobCompleted: # "{$request.body#/subscriber/successUri}": # post: # requestBody: # content: # application/json: # schema: # $ref: "#/components/schemas/results" # responses: # "200": # description: Results received successfully # OGC API - Processes - Part 1: Core (Jobs, required for Async execution) /jobs: get: summary: retrieve the list of jobs. description: | Lists available jobs. For more information, see [Section 12](https://docs.ogc.org/is/18-062r2/18-062r2.html#Job_list). operationId: getJobs tags: - Jobs parameters: - $ref: "#/components/parameters/limit" - $ref: "#/components/parameters/type" - $ref: "#/components/parameters/processID-query" - $ref: "#/components/parameters/status" - $ref: "#/components/parameters/datetime" - $ref: "#/components/parameters/minDuration" - $ref: "#/components/parameters/maxDuration" responses: "200": $ref: "#/components/responses/JobList" "404": $ref: "#/components/responses/NotFound" /jobs/{jobID}: get: summary: retrieve the status of a job description: | Shows the status of a job. For more information, see [Section 7.10](https://docs.ogc.org/is/18-062r2/18-062r2.html#sc_retrieve_status_info). operationId: getStatus tags: - Jobs parameters: - $ref: "#/components/parameters/jobID" responses: "200": $ref: "#/components/responses/Status" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/ServerError" delete: summary: cancel a job execution, remove a finished job description: | Cancel a job execution and remove it from the jobs list. For more information, see [Section 14]https://docs.ogc.org/is/18-062r2/18-062r2.html#Dismiss). operationId: dismiss tags: - Jobs parameters: - $ref: "#/components/parameters/jobID" responses: "200": $ref: "#/components/responses/Status" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/ServerError" /jobs/{jobID}/results: get: summary: retrieve the result(s) of a job description: | Lists available results of a job. In case of a failure, lists exceptions instead. For more information, see [Section 7.11](https://docs.ogc.org/is/18-062r2/18-062r2.html#sc_retrieve_job_results). operationId: getResult tags: - Jobs parameters: - $ref: "#/components/parameters/jobID" - $ref: "#/components/parameters/prefer-header-results" responses: "200": $ref: "#/components/responses/Results" "404": $ref: "#/components/responses/NotFound" "500": $ref: "#/components/responses/ServerError" components: headers: Content-Crs: description: a URI, in angular brackets, identifying the coordinate reference system used in the content / payload schema: type: string example: "" parameters: bbox: name: bbox in: query description: >- Only resources that have a geometry that intersects the bounding box are selected. The bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (elevation or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Lower left corner, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Upper right corner, coordinate axis 3 (optional) If the value consists of four numbers, the coordinate reference system is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter `bbox-crs`. If the value consists of six numbers, the coordinate reference system is WGS 84 longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h) unless a different coordinate reference system is specified in a parameter `bbox-crs`. For WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box. If a resource has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the extent or all relevant geometries. required: false schema: type: array minItems: 4 maxItems: 6 items: type: number style: form explode: false bbox-crs: name: bbox-crs description: |- Asserts the CRS used for the coordinate values of the bbox parameter. The default is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) for a value with 4 numbers and WGS 84 longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h) for a value with 6 numbers. in: query required: false schema: type: string format: uri style: form explode: false collectionId: name: collectionId in: path description: local identifier of a collection required: true schema: type: string crs: name: crs description: |- If the parameter is specified, then the coordinates of all geometry-valued properties in the response document are in the requested CRS. Otherwise the coordinates are in the default CRS, that is http://www.opengis.net/def/crs/OGC/1.3/CRS84 for coordinates without height and http://www.opengis.net/def/crs/OGC/0/CRS84h for coordinates with ellipsoidal height. in: query required: false schema: type: string format: uri style: form explode: false datetime: name: datetime in: query description: >- Either a date-time or an interval, open or closed. Date and time expressions adhere to RFC 3339. Open intervals are expressed using double-dots. Examples: * A date-time: "2018-02-12T23:20:50Z" * A closed interval: "2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" * Open intervals: "2018-02-12T00:00:00Z/.." or "../2018-03-18T12:31:12Z" Only features that have a temporal property that intersects the value of `datetime` are selected. If a feature has multiple temporal properties, it is the decision of the server whether only a single temporal property is used to determine the extent or all relevant temporal properties. required: false schema: type: string style: form explode: false featureId: name: featureId in: path description: local identifier of a feature required: true schema: type: string limit: name: limit in: query description: |- The optional limit parameter limits the number of items that are presented in the response document. Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted. Minimum = 1. Maximum = 10000. Default = 10. required: false schema: type: integer minimum: 1 maximum: 10000 default: 10 style: form explode: false tileMatrixSetId: name: tileMatrixSetId in: path description: Identifier for a supported TileMatrixSet required: true allowEmptyValue: false schema: type: string enum: - "WebMercatorQuad" - "WorldCRS84Quad" - "GNOSISGlobalGrid" - "WorldMercatorWGS84Quad" 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: type: string tileMatrix: name: tileMatrix in: path description: |- Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile. For example, Ireland is fully within the Tile at WebMercatorQuad tileMatrix=5, tileRow=10 and tileCol=15. required: true schema: type: string example: "5" 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: 10 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: 15 processID-path: name: processID in: path required: true schema: type: string prefer-header-execution: in: header description: |- Indicates client preferences, including whether the client is capable of asynchronous processing. A `respond-async` preference indicates a preference for asynchronous processing. A `wait: s` preference indicates that the client prefers to wait up to x seconds to receive a reponse synchronously before the server falls back to asynchronous processing. name: Prefer schema: type: string processID-query: name: processID in: query required: false schema: type: array items: type: string type: name: type in: query required: false schema: type: array items: type: string enum: - process status: name: status in: query required: false schema: type: array items: $ref: "#/components/schemas/statusCode" minDuration: name: minDuration in: query required: false schema: type: integer maxDuration: name: maxDuration in: query required: false schema: type: integer jobID: name: jobID in: path description: local identifier of a job required: true schema: type: string prefer-header-results: in: header description: |- Indicates client preferences, such as whether the client wishes a self-contained or minimal response. A `return=minimal` preference indicates that the client would prefer that links be returned to larger object to minimize the response payload. A `return=representation` indicates that the client would prefer if the server can return a self-contained response. name: Prefer schema: type: string responses: LandingPage: description: |- The landing page provides links to the API definition (link relations `service-desc` and `service-doc`), and the Conformance declaration (path `/conformance`, link relation `conformance`). content: application/json: schema: $ref: "#/components/schemas/landingPage" text/html: schema: type: string ConformanceDeclaration: description: |- The URIs of all conformance classes supported by the server. To support "generic" clients that want to access multiple OGC API Features implementations - and not "just" a specific API / server, the server declares the conformance classes it implements and conforms to. content: application/json: schema: $ref: "#/components/schemas/confClasses" example: conformsTo: - "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core" - "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/landingPage" - "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/oas30" - "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/html" - "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/json" text/html: schema: type: string FeatureCollection: description: Paginated GeoJSON feature collection headers: Content-Crs: $ref: "#/components/headers/Content-Crs" content: application/geo+json: schema: $ref: "#/components/schemas/featureCollectionGeoJSON" Feature: description: GeoJSON feature of a collection headers: Content-Crs: $ref: "#/components/headers/Content-Crs" content: application/geo+json: schema: $ref: "#/components/schemas/featureGeoJSON" TileMatrixSetsList: description: List of tile matrix sets (tiling schemes). content: application/json: schema: type: object properties: tileMatrixSets: type: array items: $ref: "#/components/schemas/tileMatrixSet-item" text/html: schema: type: string TileMatrixSet: description: tile matrix set content: application/json: schema: $ref: "#/components/schemas/tileMatrixSet" TileSetsList: description: List of available tilesets. content: application/json: schema: type: object required: - tilesets properties: links: type: array items: $ref: "#/components/schemas/link" tilesets: type: array items: $ref: "#/components/schemas/tileSet-item" text/html: schema: type: string TileSet: description: Description of the tileset content: application/json: schema: $ref: "#/components/schemas/tileSet" text/html: schema: type: string VectorTile: description: A vector tile returned as a response. content: application/vnd.mapbox-vector-tile: schema: type: string format: binary application/geo+json: schema: allOf: - format: geojson-feature-collection # JSON Schema not supported in OpenAPI 3.0 # - $ref: https://geojson.org/schema/FeatureCollection.json - $ref: "#/components/schemas/featureCollectionGeoJSON" ProcessList: description: Information about the available processes content: application/json: schema: $ref: "#/components/schemas/processList" ProcessDescription: description: A process description. content: application/json: schema: $ref: "#/components/schemas/process" ExecuteSync: description: Result of synchronous execution content: application/json: schema: oneOf: - type: string - type: number - type: integer - type: object nullable: true - type: array items: {} - type: boolean - type: string format: binary - $ref: "#/components/schemas/results" image/png: schema: type: string format: binary image/jpeg: schema: type: string format: binary image/tiff; application=geotiff: schema: type: string format: binary application/geo+json: schema: allOf: - format: geojson-feature-collection # JSON Schema not supported in OpenAPI 3.0 # - $ref: https://geojson.org/schema/FeatureCollection.json - $ref: "#/components/schemas/featureCollectionGeoJSON" ExecuteAsync: description: Started asynchronous execution. Created job. headers: Location: schema: type: string description: URL to check the status of the execution/job. Preference-Applied: schema: type: string description: The preference applied to execute the process asynchronously (see. RFC 2740). content: application/json: schema: $ref: "#/components/schemas/statusInfo" Empty: description: successful operation (no response body) JobList: description: A list of jobs for this process. content: application/json: schema: $ref: "#/components/schemas/jobList" Status: description: The status of a job. content: application/json: schema: $ref: "#/components/schemas/statusInfo" Results: description: The processing results of a job. content: application/json: schema: $ref: "#/components/schemas/results" Success: description: General Success response. BadRequest: description: Bad Request. content: application/json: schema: $ref: "#/components/schemas/exception" text/html: schema: type: string NotFound: description: The requested resource does not exist on the server. For example, a path parameter had an incorrect value. content: application/json: schema: $ref: "#/components/schemas/exception" text/html: schema: type: string 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. content: application/json: schema: $ref: "#/components/schemas/exception" text/html: schema: type: string ServerError: description: A server error occurred. content: application/json: schema: $ref: "#/components/schemas/exception" text/html: schema: type: string schemas: collectionDesc: type: object required: - id - links properties: id: description: identifier of the collection used, for example, in URIs type: string example: address title: description: human readable title of the collection type: string example: address description: description: a description of the features in the collection type: string example: An address attribution: type: string title: attribution for the collection links: type: array items: $ref: "#/components/schemas/link" extent: $ref: "#/components/schemas/extent" itemType: description: An indicator about the type of the items in the collection type: string crs: description: |- the list of coordinate reference systems supported by the API; the first item is the default coordinate reference system 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 storageCrs: description: |- the CRS identifier, from the list of supported CRS identifiers, that may be used to retrieve features from a collection without the need to apply a CRS transformation type: string format: uri storageCrsCoordinateEpoch: description: |- point in time at which coordinates in the spatial feature collection are referenced to the dynamic coordinate reference system in `storageCrs`, that may be used to retrieve features from a collection without the need to apply a change of coordinate epoch. It is expressed as a decimal year in the Gregorian calendar type: number example: "2017-03-25 in the Gregorian calendar is epoch 2017.23" collections: type: object required: - links - collections properties: links: type: array items: $ref: "#/components/schemas/link" timeStamp: type: string format: date-time numberMatched: type: integer minimum: 0 numberReturned: type: integer minimum: 0 crs: description: |- a global list of CRS identifiers that are supported by spatial feature collections offered by the service type: array items: type: string format: uri collections: type: array items: $ref: "#/components/schemas/collectionDesc" confClasses: type: object required: - conformsTo properties: conformsTo: type: array items: type: string example: http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core exception: title: Exception Schema description: JSON schema for exceptions based on RFC 7807 type: object required: - type properties: type: type: string title: type: string status: type: integer detail: type: string instance: type: string extent: description: |- The extent of the features in the collection. In the Core only spatial and temporal extents are specified. Extensions may add additional members to represent other extents, for example, thermal or pressure ranges. The first item in the array describes the overall extent of the data. All subsequent items describe more precise extents, e.g., to identify clusters of data. Clients only interested in the overall extent will only need to access the first item in each array. type: object 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. In the Core only a single bounding box is supported. Extensions may support additional areas. The first bounding box describes the overall spatial extent of the data. All subsequent bounding boxes describe more precise bounding boxes, e.g., to identify clusters of data. Clients only interested in the overall spatial extent will only need to access the first item in each array. type: array minItems: 1 items: description: |- Each bounding box is provided as four or six numbers, depending on whether the coordinate reference system includes a vertical axis (height or depth): * Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Minimum value, coordinate axis 3 (optional) * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2 * Maximum value, coordinate axis 3 (optional) If the value consists of four numbers, the coordinate reference system is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in a parameter `bbox-crs`. If the value consists of six numbers, the coordinate reference system is WGS 84 longitude/latitude/height (http://www.opengis.net/def/crs/OGC/0/CRS84h) unless a different coordinate reference system is specified in a parameter `bbox-crs`. For WGS 84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge). If the vertical axis is included, the third and the sixth number are the bottom and the top of the 3-dimensional bounding box. If a feature has multiple spatial geometry properties, it is the decision of the server whether only a single spatial geometry property is used to determine the 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 extent (property `bbox`). The default reference system is WGS 84 longitude/latitude. In the Core the only other supported coordinate reference system is WGS 84 longitude/latitude/height for coordinates with height. Extensions may support additional coordinate reference systems and add additional enum values. type: string enum: - "http://www.opengis.net/def/crs/OGC/1.3/CRS84" - "http://www.opengis.net/def/crs/OGC/0/CRS84h" default: "http://www.opengis.net/def/crs/OGC/1.3/CRS84" temporal: description: |- The temporal extent of the features in the collection. type: object properties: interval: description: |- One or more time intervals that describe the temporal extent of the dataset. In the Core only a single time interval is supported. Extensions may support multiple intervals. The first time interval describes the overall temporal extent of the data. All subsequent time intervals describe more precise time intervals, e.g., to identify clusters of data. Clients only interested in the overall extent will only need to access the first item in each array. type: array minItems: 1 items: description: |- Begin and end times of the time interval. The timestamps are in the temporal coordinate reference system specified in `trs`. By default this is the Gregorian calendar. The value `null` is supported and indicates an open time interval. type: array minItems: 2 maxItems: 2 items: type: string format: date-time nullable: true example: - "2011-11-11T12:22:11Z" - null trs: description: |- Coordinate reference system of the coordinates in the temporal extent (property `interval`). The default reference system is the Gregorian calendar. In the Core this is the only supported temporal coordinate reference system. Extensions may support additional temporal coordinate reference systems and add additional enum values. type: string enum: - "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian" default: "http://www.opengis.net/def/uom/ISO-8601/0/Gregorian" 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: type: string format: date-time numberMatched: type: integer minimum: 0 numberReturned: type: integer minimum: 0 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" 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" landingPage: type: object required: - links properties: title: type: string title: The title of the API. description: While a title is not required, implementers are strongly advised to include one. 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 Common specification. attribution: type: string title: attribution for the API description: The `attribution` should be short and intended for presentation to a user, for example, in a corner of a map. Parts of the text can be links to other resources if additional information is needed. The string can include HTML markup. links: type: array items: $ref: "#/components/schemas/link" 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 - rel properties: href: type: string description: Supplies the URI to a remote resource (or resource fragment). example: http://data.example.com/buildings/123 rel: type: string description: The type or semantics of the relation. example: alternate type: type: string description: A hint indicating what the media type of the result of dereferencing the link should be. example: application/geo+json hreflang: type: string description: A hint indicating what the language of the result of dereferencing the link should be. example: en title: type: string description: Used to label the destination of a link such that it can be used as a human-readable identifier. example: Trierer Strasse 70, 53115 Bonn length: type: integer 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 parameters like `bbox`. type: integer minimum: 0 example: 127 numberReturned: description: |- The number of features in the feature collection. A server may omit this information in a response, if the information about the number of features is not known or difficult to compute. If the value is provided, the value shall be identical to the number of items in the "features" array. type: integer minimum: 0 example: 10 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 timeStamp: description: This property indicates the time and date when the response was generated. type: string format: date-time example: "2017-08-17T08:05:32Z" dataType: # This list may be extended (e.g. point clouds, meshes) anyOf: - type: string - type: string enum: - map - vector - coverage tileMatrixSet-item: title: Tile Matrix Set Item description: A minimal tile matrix set element for use within a list of tile matrix sets linking to a full definition. type: object required: - links properties: id: description: Optional local tile matrix set identifier, e.g. for use as unspecified `{tileMatrixSetId}` parameter. Implementation of 'identifier' type: string title: description: Title of this tile matrix set, normally used for display to a human type: string uri: description: Reference to an official source for this tileMatrixSet type: string format: uri crs: allOf: - description: Coordinate Reference System (CRS) - $ref: "#/components/schemas/crs" links: description: Links to related resources. A 'self' link to the tile matrix set definition is required. type: array items: $ref: "#/components/schemas/link" tileMatrixSet: title: Tile Matrix Set Definition description: A definition of a tile matrix set following the Tile Matrix Set standard. For tileset metadata, such a description (in `tileMatrixSet` property) is only required for offline use, as an alternative to a link with a `http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme` relation type. type: object required: - crs - tileMatrices properties: title: description: Title of this tile matrix set, normally used for display to a human type: string description: description: Brief narrative description of this tile matrix set, normally available for display to a human type: string keywords: description: Unordered list of one or more commonly used or formalized word(s) or phrase(s) used to describe this tile matrix set type: array items: type: string id: description: Tile matrix set identifier. Implementation of 'identifier' type: string uri: description: Reference to an official source for this tileMatrixSet type: string format: uri orderedAxes: type: array minItems: 1 items: type: string crs: allOf: - description: Coordinate Reference System (CRS) - $ref: "#/components/schemas/crs" wellKnownScaleSet: description: Reference to a well-known scale set type: string format: uri boundingBox: allOf: - description: Minimum bounding rectangle surrounding the tile matrix set, in the supported CRS - $ref: "#/components/schemas/2DBoundingBox" tileMatrices: type: array description: Describes scale levels and its tile matrices items: $ref: "#/components/schemas/tileMatrix" tileMatrix: description: "A tile matrix, usually corresponding to a particular zoom level of a TileMatrixSet." type: object required: - id - scaleDenominator - cellSize - pointOfOrigin - tileWidth - tileHeight - matrixWidth - matrixHeight properties: title: description: Title of this tile matrix, normally used for display to a human type: string description: description: Brief narrative description of this tile matrix set, normally available for display to a human type: string keywords: description: Unordered list of one or more commonly used or formalized word(s) or phrase(s) used to describe this dataset type: array items: type: string id: description: Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile. Implementation of 'identifier' type: string scaleDenominator: description: Scale denominator of this tile matrix type: number cellSize: description: Cell size of this tile matrix type: number cornerOfOrigin: description: The corner of the tile matrix (_topLeft_ or _bottomLeft_) used as the origin for numbering tile rows and columns. This corner is also a corner of the (0, 0) tile. type: string enum: - topLeft - bottomLeft default: topLeft pointOfOrigin: allOf: - description: Precise position in CRS coordinates of the corner of origin (e.g. the top-left corner) for this tile matrix. This position is also a corner of the (0, 0) tile. In previous version, this was 'topLeftCorner' and 'cornerOfOrigin' did not exist. - description: A 2D Point in the CRS indicated elsewhere type: array minItems: 2 maxItems: 2 items: type: number tileWidth: type: number description: Width of each tile of this tile matrix in pixels format: integer minimum: 1 multipleOf: 1 tileHeight: type: number description: Height of each tile of this tile matrix in pixels format: integer minimum: 1 multipleOf: 1 matrixHeight: type: number description: Width of the matrix (number of tiles in width) format: integer minimum: 1 multipleOf: 1 matrixWidth: type: number description: Height of the matrix (number of tiles in height) format: integer minimum: 1 multipleOf: 1 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: Number of tiles in width that coalesce in a single tile for these rows type: number format: integer minimum: 2 multipleOf: 1 minTileRow: description: First tile row where the coalescence factor applies for this tilematrix type: number format: integer minimum: 0 multipleOf: 1 maxTileRow: description: Last tile row where the coalescence factor applies for this tilematrix type: number format: integer minimum: 0 multipleOf: 1 tileSet-item: title: Tile Set Metadata item description: A minimal tileset element for use within a list of tilesets linking to full description of those tilesets. type: object required: - dataType - links - crs properties: title: description: A title for this tileset type: string dataType: allOf: - description: Type of data represented in the tileset - $ref: "#/components/schemas/dataType" crs: allOf: - description: Coordinate Reference System (CRS) - $ref: "#/components/schemas/crs" tileMatrixSetURI: description: Reference to a Tile Matrix Set on an offical source for Tile Matrix Sets such as the OGC NA definition server (http://www.opengis.net/def/tms/). Required if the tile matrix set is registered on an open official source. type: string format: uri links: description: Links to related resources. A 'self' link to the tileset as well as a 'http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme' link to a definition of the TileMatrixSet are required. type: array items: $ref: "#/components/schemas/link" tileSet: title: Tile Set Metadata description: A resource describing a tileset based on the OGC TileSet Metadata Standard. At least one of the 'TileMatrixSet', or a link with 'rel' http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme type: object required: [dataType, crs, links] properties: title: description: A title for this tileset type: string description: description: Brief narrative description of this tile set type: string dataType: allOf: - description: Type of data represented in the tileset - $ref: "#/components/schemas/dataType" crs: allOf: - description: Coordinate Reference System (CRS) - $ref: "#/components/schemas/crs" tileMatrixSetURI: description: Reference to a Tile Matrix Set on an offical source for Tile Matrix Sets such as the OGC NA definition server (http://www.opengis.net/def/tms/). Required if the tile matrix set is registered on an open official source. type: string format: uri links: description: "Links to related resources. Possible link 'rel' values are: 'http://www.opengis.net/def/rel/ogc/1.0/dataset' for a URL pointing to the dataset, 'item' for a URL template to get a tile; 'alternate' for a URL pointing to another representation of the TileSetMetadata (e.g a TileJSON file); 'http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme' for a definition of the TileMatrixSet; 'http://www.opengis.net/def/rel/ogc/1.0/geodata' for pointing to a single collection (if the tileset represents a single collection)" type: array items: $ref: "#/components/schemas/link" tileMatrixSetLimits: description: Limits for the TileRow and TileCol values for each TileMatrix in the tileMatrixSet. If missing, there are no limits other that the ones imposed by the TileMatrixSet. If present the TileMatrices listed are limited and the rest not available at all type: array items: title: TileMatrixLimits description: The limits for an individual tile matrix of a TileSet's TileMatrixSet, as defined in the OGC 2D TileMatrixSet and TileSet Metadata Standard type: object required: - tileMatrix - minTileRow - maxTileRow - minTileCol - maxTileCol properties: tileMatrix: type: string minTileRow: type: integer minimum: 0 maxTileRow: type: integer minimum: 0 minTileCol: type: integer minimum: 0 maxTileCol: type: integer minimum: 0 epoch: description: Epoch of the Coordinate Reference System (CRS) type: number layers: minItems: 1 type: array items: $ref: "#/components/schemas/geospatialData" boundingBox: allOf: - description: Minimum bounding rectangle surrounding the tile matrix set, in the supported CRS - $ref: "#/components/schemas/2DBoundingBox" centerPoint: allOf: - description: Location of a tile that nicely represents the tileset. Implementations may use this center value to set the default location or to present a representative tile in a user interface - type: object required: - coordinates properties: coordinates: type: array minItems: 2 maxItems: 2 items: type: number crs: allOf: - description: Coordinate Reference System (CRS) of the coordinates - $ref: "#/components/schemas/crs" tileMatrix: description: TileMatrix identifier associated with the scaleDenominator type: string scaleDenominator: description: Scale denominator of the tile matrix selected type: number cellSize: description: Cell size of the tile matrix selected type: number style: allOf: - description: Style involving all layers used to generate the tileset - $ref: "#/components/schemas/style" attribution: description: Short reference to recognize the author or provider type: string license: description: License applicable to the tiles type: string accessConstraints: description: Restrictions on the availability of the Tile Set that the user needs to be aware of before using or redistributing the Tile Set type: string default: unclassified enum: - unclassified - restricted - confidential - secret - topSecret keywords: description: keywords about this tileset type: array items: type: string version: description: Version of the Tile Set. Changes if the data behind the tiles has been changed type: string created: allOf: - description: When the Tile Set was first produced - $ref: "#/components/schemas/timeStamp" updated: allOf: - description: Last Tile Set change/revision - $ref: "#/components/schemas/timeStamp" pointOfContact: description: Useful information to contact the authors or custodians for the Tile Set type: string mediaTypes: description: Media types available for the tiles type: array items: type: string geospatialData: type: object required: - id - dataType properties: title: description: Title of this tile matrix set, normally used for display to a human type: string description: description: Brief narrative description of this tile matrix set, normally available for display to a human type: string keywords: description: Unordered list of one or more commonly used or formalized word(s) or phrase(s) used to describe this layer type: string id: description: Unique identifier of the Layer. Implementation of 'identifier' type: string dataType: allOf: - description: Type of data represented in the layer - $ref: "#/components/schemas/dataType" geometryDimension: description: "The geometry dimension of the features shown in this layer (0: points, 1: curves, 2: surfaces, 3: solids), unspecified: mixed or unknown" type: integer minimum: 0 maximum: 3 featureType: description: Feature type identifier. Only applicable to layers of datatype 'geometries' type: string attribution: description: Short reference to recognize the author or provider type: string license: description: License applicable to the tiles type: string pointOfContact: description: Useful information to contact the authors or custodians for the layer (e.g. e-mail address, a physical address, phone numbers, etc) type: string publisher: description: Organization or individual responsible for making the layer available type: string theme: description: Category where the layer can be grouped type: string crs: allOf: - description: Coordinate Reference System (CRS) - $ref: "#/components/schemas/crs" epoch: description: Epoch of the Coordinate Reference System (CRS) type: number minScaleDenominator: description: Minimum scale denominator for usage of the layer type: number maxScaleDenominator: description: Maximum scale denominator for usage of the layer type: number minCellSize: description: Minimum cell size for usage of the layer type: number maxCellSize: description: Maximum cell size for usage of the layer type: number maxTileMatrix: description: TileMatrix identifier associated with the minScaleDenominator type: string minTileMatrix: description: TileMatrix identifier associated with the maxScaleDenominator type: string boundingBox: allOf: - description: Minimum bounding rectangle surrounding the layer - $ref: "#/components/schemas/2DBoundingBox" created: allOf: - description: When the layer was first produced - $ref: "#/components/schemas/timeStamp" updated: allOf: - description: Last layer change/revision - $ref: "#/components/schemas/timeStamp" style: allOf: - description: Style used to generate the layer in the tileset - $ref: "#/components/schemas/style" geoDataClasses: description: URI identifying a class of data contained in this layer (useful to determine compatibility with styles or processes) type: array items: type: string propertiesSchema: allOf: - description: Properties represented by the features in this layer. Can be the attributes of a feature dataset (datatype=geometries) or the rangeType of a coverage (datatype=coverage) - $ref: "#/components/schemas/propertiesSchema" links: description: "Links related to this layer. Possible link 'rel' values are: 'geodata' for a URL pointing to the collection of geospatial data." type: array minItems: 1 items: $ref: "#/components/schemas/link" style: type: object required: - id properties: id: description: An identifier for this style. Implementation of 'identifier' type: string title: description: A title for this style type: string description: description: Brief narrative description of this style type: string keywords: description: keywords about this style type: array items: type: string links: description: "Links to style related resources. Possible link 'rel' values are: 'style' for a URL pointing to the style description, 'styleSpec' for a URL pointing to the specification or standard used to define the style." type: array minItems: 1 items: $ref: "#/components/schemas/link" propertiesSchema: description: Attributes of the features or rangetypes of a coverage. Defined by a subset of the JSON Schema for the properties of a feature type: object required: - type - properties properties: type: type: string enum: - object required: description: "Implements 'multiplicity' by citing property 'name' defined as 'additionalProperties'" type: array minItems: 1 items: type: string properties: type: object default: {} additionalProperties: description: "No property names are defined but any property name they should be described by JSON Schema. So 'additionalProperties' implements 'name'." type: object properties: title: type: string description: description: "Implements 'description'" type: string type: type: string enum: - array - boolean - integer - "null" - number - object - string enum: description: "Implements 'acceptedValues'" type: array minItems: 1 items: {} uniqueItems: true format: description: "Complements implementation of 'type'" type: string contentMediaType: description: "Implements 'mediaType'" type: string maximum: description: "Implements 'range'" type: number exclusiveMaximum: description: "Implements 'range'" type: number minimum: description: "Implements 'range'" type: number exclusiveMinimum: description: "Implements 'range'" type: number pattern: type: string format: regex maxItems: description: "Implements 'upperMultiplicity'" type: integer minimum: 0 minItems: description: "Implements 'lowerMultiplicity'" type: integer default: 0 minimum: 0 observedProperty: type: string observedPropertyURI: type: string format: uri uom: type: string uomURI: type: string format: uri 2DBoundingBox: description: Minimum bounding rectangle surrounding a 2D resource in the CRS indicated elsewhere type: object required: - lowerLeft - upperRight properties: lowerLeft: $ref: "#/components/schemas/2DPoint" upperRight: $ref: "#/components/schemas/2DPoint" crs: $ref: "#/components/schemas/crs" orderedAxes: type: array minItems: 2 maxItems: 2 items: type: string 2DPoint: description: A 2D Point in the CRS indicated elsewhere type: array minItems: 2 maxItems: 2 items: type: number crs: title: CRS oneOf: - description: Simplification of the object into a url if the other properties are not present type: string - type: object oneOf: - required: - uri properties: uri: description: Reference to one coordinate reference system (CRS) type: string format: uri - required: - wkt properties: wkt: allOf: - description: An object defining the CRS using the JSON encoding for Well-known text representation of coordinate reference systems 2.0 - type: object # - $ref: 'projJSON.yaml' - required: - referenceSystem properties: referenceSystem: description: A reference system data structure as defined in the MD_ReferenceSystem of the ISO 19115 type: object processList: type: object required: - processes - links properties: processes: type: array items: $ref: "#/components/schemas/processSummary" links: type: array items: $ref: "#/components/schemas/link" 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" links: type: array items: $ref: "#/components/schemas/link" descriptionType: type: object properties: title: type: string description: type: string keywords: type: array items: type: string metadata: type: array items: $ref: "#/components/schemas/metadata" metadata: oneOf: - allOf: - $ref: "#/components/schemas/link" - type: object properties: role: type: string - type: object properties: role: type: string title: type: string lang: type: string value: oneOf: - type: string - type: object jobControlOptions: type: string enum: - sync-execute - async-execute - dismiss process: allOf: - $ref: "#/components/schemas/processSummary" - type: object properties: inputs: additionalProperties: $ref: "#/components/schemas/inputDescription" outputs: additionalProperties: $ref: "#/components/schemas/outputDescription" inputDescription: allOf: - $ref: "#/components/schemas/descriptionType" - $ref: "#/components/schemas/dataClasses" - $ref: "#/components/schemas/dataAccessApis" - $ref: "#/components/schemas/executionUnitRequirements" - type: object required: - schema properties: schema: $ref: "https://json-schema.org/draft/2020-12/schema" minOccurs: type: integer default: 1 maxOccurs: oneOf: - type: integer default: 1 - type: string enum: - "unbounded" valuePassing: type: array items: type: string enum: - "byValue" - "byReference" default: ["byValue", "byReference"] dataClasses: type: object properties: dataClasses: type: array items: type: string format: uri dataAccessApis: type: object properties: dataAccessAPIs: type: array items: $ref: "#/components/schemas/apis" apis: description: |- A non-exhaustive list of OGC and other data access APIs. This list can be extended as required. type: string enum: - ogc-api-features - ogc-api-coverages - ogc-api-edr - ogc-api-tiles - ogc-api-moving-features - ogc-api-sensor-things - ogc-api-records - ogc-api-dggs - stac-api executionUnitRequirements: type: object propreties: executionUnitRequirements: type: object properties: remote-access: type: boolean staging: type: string enum: - local-file - remote-access outputDescription: allOf: - $ref: "#/components/schemas/descriptionType" - $ref: "#/components/schemas/dataClasses" - $ref: "#/components/schemas/dataAccessApis" - type: object required: - schema properties: schema: $ref: "https://json-schema.org/draft/2020-12/schema" execute: type: object properties: processID: type: string format: uri inputs: additionalProperties: $ref: "#/components/schemas/input" outputs: additionalProperties: $ref: "#/components/schemas/output" subscriber: $ref: "#/components/schemas/subscriber" input: oneOf: - $ref: "#/components/schemas/inlineOrRefValue" - type: array items: $ref: "#/components/schemas/inlineOrRefValue" inlineOrRefValue: oneOf: - $ref: "#/components/schemas/valueNoObject" - $ref: "#/components/schemas/qualifiedValue" - $ref: "#/components/schemas/link" valueNoObject: anyOf: - type: string - type: number - type: integer - type: boolean - type: array items: oneOf: - $ref: "#/components/schemas/inputValue" - $ref: "#/components/schemas/qualifiedValue" - $ref: "#/components/schemas/binaryValue" - $ref: "#/components/schemas/bbox" # - $ref: "collectionValue" qualifiedValue: allOf: - $ref: "#/components/schemas/format" - type: object required: - value properties: value: $ref: "#/components/schemas/inputValue" format: type: object properties: mediaType: type: string encoding: type: string schema: oneOf: - type: string format: url - type: object inputValue: anyOf: - $ref: "#/components/schemas/valueNoObject" - type: object binaryValue: type: string format: byte bbox: type: object required: - bbox properties: bbox: type: array oneOf: - minItems: 4 maxItems: 4 - minItems: 6 maxItems: 6 items: type: number crs: $ref: "#/components/schemas/bbox-def-crs" bbox-def-crs: anyOf: - type: string format: uri enum: - "http://www.opengis.net/def/crs/OGC/1.3/CRS84" - "http://www.opengis.net/def/crs/OGC/0/CRS84h" default: "http://www.opengis.net/def/crs/OGC/1.3/CRS84" - type: string format: uri default: "http://www.opengis.net/def/crs/OGC/1.3/CRS84" output: type: object properties: format: $ref: "#/components/schemas/format" subscriber: description: |- Optional URIs for callbacks for this job. Support for this parameter is not required and the parameter may be removed from the API definition, if conformance class **'callback'** is not listed in the conformance declaration under `/conformance`. type: object properties: successUri: type: string format: uri inProgressUri: type: string format: uri failedUri: type: string format: uri results: additionalProperties: $ref: "#/components/schemas/inlineOrRefValue" jobList: type: object required: - jobs - links properties: jobs: type: array items: $ref: "#/components/schemas/statusInfo" links: type: array items: $ref: "#/components/schemas/link" statusInfo: allOf: - $ref: "#/components/schemas/descriptionType" - type: object required: - id - status - processingEntityType properties: id: type: string processID: type: string format: uri processingEntityType: description: |- The type of entity that created the job and is doing the processing. This includes all the data access apis listed in "apis.yaml" plus the processing APIs of OGC API Processes and OpenEO. anyOf: - $ref: "#/components/schemas/apis" - type: string enum: - ogc-api-processes - openeo profileEntityType: description: |- The type of entity requesting this status information. This may be differernt than the processing entity. For example, the processing entity may be OGC API Processes but the status information is requested via the OpenEO API. anyOf: - $ref: "#/components/schemas/apis" - type: string enum: - ogc-api-processes - openeo request: oneOf: - type: string - type: object - $ref: "#/components/schemas/link" status: $ref: "#/components/schemas/statusCode" message: type: string exception: $ref: "#/components/schemas/exception" created: type: string format: date-time started: type: string format: date-time finished: type: string format: date-time updated: type: string format: date-time progress: type: integer minimum: 0 maximum: 100 links: type: array items: $ref: "#/components/schemas/link" statusCode: type: string nullable: false enum: - accepted - running - successful - failed - dismissed