From 5d78fda95641160faa8780c33d9bcfe3b282dffe Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Mon, 24 Nov 2025 17:50:32 +0100 Subject: [PATCH 01/15] update openapi-client --- .generation/input/openapi.json | 11469 +--------------- python/README.md | 9 +- .../api/ogcwfs_api.py | 589 +- .../geoengine_openapi_client/configuration.py | 10 +- python/test/test_ogcwfs_api.py | 13 +- typescript/README.md | 7 +- typescript/dist/apis/OGCWFSApi.d.ts | 50 +- typescript/dist/apis/OGCWFSApi.js | 139 +- typescript/dist/esm/apis/OGCWFSApi.d.ts | 50 +- typescript/dist/esm/apis/OGCWFSApi.js | 137 +- typescript/dist/esm/runtime.js | 2 +- typescript/dist/runtime.js | 2 +- typescript/docs/DatasetsApi.md | 2 +- typescript/docs/GeneralApi.md | 2 +- typescript/docs/LayersApi.md | 2 +- typescript/docs/MLApi.md | 2 +- typescript/docs/OGCWCSApi.md | 2 +- typescript/docs/OGCWFSApi.md | 143 +- typescript/docs/OGCWMSApi.md | 2 +- typescript/docs/PermissionsApi.md | 2 +- typescript/docs/PlotQueryRectangle.md | 39 + typescript/docs/PlotsApi.md | 2 +- typescript/docs/ProjectsApi.md | 2 +- typescript/docs/RasterQueryRectangle.md | 39 + typescript/docs/SessionApi.md | 2 +- typescript/docs/SpatialReferencesApi.md | 2 +- typescript/docs/StacBand.md | 38 + typescript/docs/StacZone.md | 36 + typescript/docs/TasksApi.md | 2 +- typescript/docs/UploadsApi.md | 2 +- typescript/docs/UserApi.md | 2 +- typescript/docs/VectorQueryRectangle.md | 39 + typescript/docs/WorkflowsApi.md | 2 +- typescript/src/apis/OGCWFSApi.ts | 191 +- typescript/src/runtime.ts | 2 +- util/ui-dev-update.sh | 4 +- 36 files changed, 589 insertions(+), 12449 deletions(-) create mode 100644 typescript/docs/PlotQueryRectangle.md create mode 100644 typescript/docs/RasterQueryRectangle.md create mode 100644 typescript/docs/StacBand.md create mode 100644 typescript/docs/StacZone.md create mode 100644 typescript/docs/VectorQueryRectangle.md diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index b9b55e4b..4384ce15 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1,11468 +1 @@ -{ - "openapi": "3.1.0", - "info": { - "title": "Geo Engine API", - "description": "", - "contact": { - "name": "Geo Engine Developers", - "email": "dev@geoengine.de" - }, - "license": { - "name": "Apache-2.0", - "url": "https://github.com/geo-engine/geoengine/blob/main/LICENSE" - }, - "version": "0.9.0" - }, - "servers": [ - { - "url": "{server}/api", - "variables": { - "server": { - "default": "https://geoengine.io" - } - } - } - ], - "paths": { - "/anonymous": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates session for anonymous user. The session's id serves as a Bearer token for requests.", - "operationId": "anonymous_handler", - "responses": { - "200": { - "description": "The created session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": null, - "realName": null - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null, - "roles": [ - "8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a", - "fd8e87bf-515c-4f36-8da6-1a53702ff102" - ] - } - } - } - } - } - } - }, - "/available": { - "get": { - "tags": [ - "General" - ], - "summary": "Server availablity check.", - "operationId": "available_handler", - "responses": { - "204": { - "description": "Server availablity check" - } - } - } - }, - "/dataset": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.", - "operationId": "create_dataset_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DatasetNameResponse" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/auto": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.", - "operationId": "auto_create_dataset_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoCreateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DatasetNameResponse" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Body is invalid json": { - "value": { - "error": "BodyDeserializeError", - "message": "expected `,` or `}` at line 13 column 7" - } - }, - "Dataset has no auto-importable layer": { - "value": { - "error": "DatasetHasNoAutoImportableLayer", - "message": "Dataset has no auto importable layer" - } - }, - "Dataset name is empty": { - "value": { - "error": "InvalidDatasetName", - "message": "Invalid dataset name" - } - }, - "Failed to read body": { - "value": { - "error": "Payload", - "message": "Error that occur during reading payload: Can not decode content-encoding." - } - }, - "File does not exist": { - "value": { - "error": "GdalError", - "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" - } - }, - "Referenced an unknown upload": { - "value": { - "error": "UnknownUploadId", - "message": "Unknown upload id" - } - }, - "Upload filename is invalid": { - "value": { - "error": "InvalidUploadFileName", - "message": "Invalid upload file name" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - }, - "413": { - "$ref": "#/components/responses/PayloadTooLargeResponse" - }, - "415": { - "$ref": "#/components/responses/UnsupportedMediaTypeForJsonResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/suggest": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.", - "operationId": "suggest_meta_data_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SuggestMetaData" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetaDataSuggestion" - }, - "example": { - "mainFile": "germany_polygon.gpkg", - "metaData": { - "type": "OgrMetaData", - "loadingInfo": { - "fileName": "upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg", - "layerName": "test_germany", - "dataType": "MultiPolygon", - "time": { - "type": "none" - }, - "defaultGeometry": null, - "columns": { - "formatSpecifics": null, - "x": "", - "y": null, - "int": [], - "float": [], - "text": [], - "bool": [], - "datetime": [], - "rename": null - }, - "forceOgrTimeFilter": false, - "forceOgrSpatialFilter": false, - "onError": "ignore", - "sqlQuery": null, - "attributeQuery": null - }, - "resultDescriptor": { - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326", - "columns": {}, - "time": null, - "bbox": null - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Dataset has no auto-importable layer": { - "value": { - "error": "DatasetHasNoAutoImportableLayer", - "message": "Dataset has no auto importable layer" - } - }, - "File does not exist": { - "value": { - "error": "GdalError", - "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" - } - }, - "Missing field in query string": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: missing field `offset`" - } - }, - "No suitable mainfile found": { - "value": { - "error": "NoMainFileCandidateFound", - "message": "No main file candidate found" - } - }, - "Number in query string contains letters": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: invalid digit found in string" - } - }, - "Referenced an unknown upload": { - "value": { - "error": "UnknownUploadId", - "message": "Unknown upload id" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/volumes": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Lists available volumes.", - "operationId": "list_volumes_handler", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "example": [ - { - "name": "test_data", - "path": "./test_data/" - } - ] - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedAdminResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/volumes/{volume_name}/files/{file_name}/layers": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "List the layers of a file in a volume.", - "operationId": "list_volume_file_layers_handler", - "parameters": [ - { - "name": "volume_name", - "in": "path", - "description": "Volume name", - "required": true, - "schema": { - "$ref": "#/components/schemas/VolumeName" - } - }, - { - "name": "file_name", - "in": "path", - "description": "File name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeFileLayersResponse" - }, - "example": { - "layers": [ - "layer1", - "layer2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Retrieves details about a dataset using the internal name.", - "operationId": "get_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Dataset" - }, - "example": { - "id": { - "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" - }, - "name": "Germany", - "description": "Boundaries of Germany", - "resultDescriptor": { - "vector": { - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326", - "columns": {} - } - }, - "sourceOperator": "OgrSource" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Referenced an unknown dataset": { - "value": { - "error": "CannotLoadDataset", - "message": "CannotLoadDataset: UnknownDatasetName" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "Datasets" - ], - "summary": "Update details about a dataset using the internal name.", - "operationId": "update_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Referenced an unknown dataset": { - "value": { - "error": "CannotLoadDataset", - "message": "CannotLoadDataset: UnknownDatasetName" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Datasets" - ], - "summary": "Delete a dataset", - "operationId": "delete_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Given dataset can only be deleted by owner": { - "value": { - "error": "OperationRequiresOwnerPermission", - "message": "Operation requires owner permission" - } - }, - "Referenced an unknown dataset": { - "value": { - "error": "UnknownDatasetName", - "message": "Unknown dataset name" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/loadingInfo": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Retrieves the loading information of a dataset", - "operationId": "get_loading_info_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetaDataDefinition" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "put": { - "tags": [ - "Datasets" - ], - "summary": "Updates the dataset's loading info", - "operationId": "update_loading_info_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetaDataDefinition" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/provenance": { - "put": { - "tags": [ - "Datasets" - ], - "operationId": "update_dataset_provenance_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Provenances" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/symbology": { - "put": { - "tags": [ - "Datasets" - ], - "summary": "Updates the dataset's symbology", - "operationId": "update_dataset_symbology_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Symbology" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/tiles": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Add a tile to a gdal dataset.", - "operationId": "add_dataset_tiles_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoCreateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/datasetFromWorkflow/{id}": { - "post": { - "tags": [ - "Workflows" - ], - "summary": "Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task", - "operationId": "dataset_from_workflow_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RasterDatasetFromWorkflow" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Id of created task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskResponse" - }, - "example": { - "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/datasets": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Lists available datasets.", - "operationId": "list_datasets_handler", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "Germany" - }, - { - "name": "order", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/OrderBy" - }, - "example": "NameAsc" - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 2 - }, - { - "name": "tags", - "in": "query", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "example": "['tag1', 'tag2']" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DatasetListing" - } - }, - "example": [ - { - "id": { - "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" - }, - "name": "Germany", - "description": "Boundaries of Germany", - "tags": [], - "sourceOperator": "OgrSource", - "resultDescriptor": { - "vector": { - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326", - "columns": {} - } - } - } - ] - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequestQueryResponse" - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/info": { - "get": { - "tags": [ - "General" - ], - "summary": "Shows information about the server software version.", - "operationId": "server_info_handler", - "responses": { - "200": { - "description": "Server software information", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerInfo" - }, - "example": { - "buildDate": "2022-09-29", - "commitHash": "555dc6d84d3682c37490a145d53c5097d0b81b27", - "version": "0.7.0", - "features": "default" - } - } - } - } - } - } - }, - "/layerDb/collections/{collection}": { - "put": { - "tags": [ - "Layers" - ], - "summary": "Update a collection", - "operationId": "update_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateLayerCollection" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a collection", - "operationId": "remove_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/collections": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new collection to an existing collection", - "operationId": "add_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddLayerCollection" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/layers": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new layer to a collection", - "operationId": "add_layer", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddLayer" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/layers/{layer}": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add an existing layer to a collection", - "operationId": "add_existing_layer_to_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a layer from a collection", - "operationId": "remove_layer_from_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{parent}/collections/{collection}": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add an existing collection to a collection", - "operationId": "add_existing_collection_to_collection", - "parameters": [ - { - "name": "parent", - "in": "path", - "description": "Parent layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Delete a collection from a collection", - "operationId": "remove_collection_from_collection", - "parameters": [ - { - "name": "parent", - "in": "path", - "description": "Parent layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/layers/{layer}": { - "put": { - "tags": [ - "Layers" - ], - "summary": "Update a layer", - "operationId": "update_layer", - "parameters": [ - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateLayer" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a collection", - "operationId": "remove_layer", - "parameters": [ - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/providers": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List all providers", - "operationId": "list_providers", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LayerProviderListing" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new provider", - "operationId": "add_provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedDataProviderDefinition" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/providers/{provider}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Get an existing provider's definition", - "operationId": "get_provider_definition", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Layer provider id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedDataProviderDefinition" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "put": { - "tags": [ - "Layers" - ], - "summary": "Update an existing provider's definition", - "operationId": "update_provider_definition", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Layer provider id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedDataProviderDefinition" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Delete an existing provider", - "operationId": "delete_provider", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Layer provider id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List all layer collections", - "operationId": "list_root_collections_handler", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "id": { - "providerId": "1c3b8042-300b-485c-95b5-0147d9dc068d", - "collectionId": "f2424474-ef24-4c18-ab84-68592e12ce48" - }, - "name": "Layer Providers", - "description": "All available Geo Engine layer providers", - "items": [ - { - "type": "collection", - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" - }, - "name": "Datasets", - "description": "Basic Layers for all Datasets" - }, - { - "type": "collection", - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - "name": "Layers", - "description": "All available Geo Engine layers" - } - ], - "entryLabel": null, - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections/search/autocomplete/{provider}/{collection}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Autocompletes the search on the contents of the collection of the given provider", - "operationId": "autocomplete_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - }, - "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "searchType", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SearchType" - }, - "example": "fulltext" - }, - { - "name": "searchString", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "test" - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "20" - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "0" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "example": [ - "An empty collection", - "Ports in Germany" - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections/search/{provider}/{collection}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Searches the contents of the collection of the given provider", - "operationId": "search_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - }, - "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "searchType", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SearchType" - }, - "example": "fulltext" - }, - { - "name": "searchString", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "test" - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "20" - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "0" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - "name": "Layers", - "description": "All available Geo Engine layers", - "items": [ - { - "type": "collection", - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "collectionId": "a29f77cc-51ce-466b-86ef-d0ab2170bc0a" - }, - "name": "An empty collection", - "description": "There is nothing here", - "properties": [] - }, - { - "type": "layer", - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "layerId": "b75db46e-2b9a-4a86-b33f-bc06a73cd711" - }, - "name": "Ports in Germany", - "description": "Natural Earth Ports point filtered with Germany polygon", - "properties": [] - } - ], - "entryLabel": null, - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections/{provider}/{collection}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List the contents of the collection of the given provider", - "operationId": "list_collection_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" - }, - "name": "Datasets", - "description": "Basic Layers for all Datasets", - "items": [ - { - "type": "layer", - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" - }, - "name": "Land Cover", - "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover" - }, - { - "type": "layer", - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "layerId": "36574dc3-560a-4b09-9d22-d5945f2b8093" - }, - "name": "NDVI", - "description": "NDVI data from MODIS" - } - ], - "entryLabel": null, - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/capabilities": { - "get": { - "tags": [ - "Layers" - ], - "operationId": "provider_capabilities_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProviderCapabilities" - }, - "example": { - "listing": true, - "search": { - "search_types": { - "fulltext": true, - "prefix": true - }, - "autocomplete": true, - "filters": [] - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Retrieves the layer of the given provider", - "operationId": "layer_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Layer" - }, - "example": { - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" - }, - "name": "Land Cover", - "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover", - "workflow": { - "type": "Raster", - "operator": { - "type": "GdalSource", - "params": { - "data": { - "type": "internal", - "datasetId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" - } - } - } - }, - "symbology": { - "type": "raster", - "opacity": 1, - "colorizer": { - "type": "palette", - "colors": { - "0": [ - 134, - 201, - 227, - 255 - ], - "1": [ - 30, - 129, - 62, - 255 - ], - "2": [ - 59, - 194, - 212, - 255 - ], - "3": [ - 157, - 194, - 63, - 255 - ], - "4": [ - 159, - 225, - 127, - 255 - ], - "5": [ - 125, - 194, - 127, - 255 - ], - "6": [ - 195, - 127, - 126, - 255 - ], - "7": [ - 188, - 221, - 190, - 255 - ], - "8": [ - 224, - 223, - 133, - 255 - ], - "9": [ - 226, - 221, - 7, - 255 - ], - "10": [ - 223, - 192, - 125, - 255 - ], - "11": [ - 66, - 128, - 189, - 255 - ], - "12": [ - 225, - 222, - 127, - 255 - ], - "13": [ - 253, - 2, - 0, - 255 - ], - "14": [ - 162, - 159, - 66, - 255 - ], - "15": [ - 255, - 255, - 255, - 255 - ], - "16": [ - 192, - 192, - 192, - 255 - ] - }, - "noDataColor": [ - 0, - 0, - 0, - 0 - ], - "defaultColor": [ - 0, - 0, - 0, - 0 - ] - } - }, - "properties": [], - "metadata": {} - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}/dataset": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Persist a raster layer from a provider as a dataset.", - "operationId": "layer_to_dataset", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "Id of created task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskResponse" - }, - "example": { - "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}/workflowId": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Registers a layer from a provider as a workflow and returns the workflow id", - "operationId": "layer_to_workflow_id_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/login": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.", - "operationId": "login_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserCredentials" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The created session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": "foo@example.com", - "realName": "Foo Bar" - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null, - "roles": [ - "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "4e8081b6-8aa6-4275-af0c-2fa2da557d28" - ] - } - } - } - } - } - } - }, - "/logout": { - "post": { - "tags": [ - "Session" - ], - "summary": "Ends a session.", - "operationId": "logout_handler", - "responses": { - "200": { - "description": "The Session was deleted." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/ml/models": { - "get": { - "tags": [ - "ML" - ], - "summary": "List ml models.", - "operationId": "list_ml_models", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MlModel" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "ML" - ], - "summary": "Create a new ml model.", - "operationId": "add_ml_model", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MlModel" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MlModelNameResponse" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/ml/models/{model_name}": { - "get": { - "tags": [ - "ML" - ], - "summary": "Get ml model by name.", - "operationId": "get_ml_model", - "parameters": [ - { - "name": "model_name", - "in": "path", - "description": "Ml Model Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/MlModelName" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MlModel" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/oidcInit": { - "post": { - "tags": [ - "Session" - ], - "summary": "Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.", - "description": "# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n", - "operationId": "oidc_init", - "parameters": [ - { - "name": "redirectUri", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthCodeRequestURL" - }, - "example": { - "url": "http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256" - } - } - } - } - } - } - }, - "/oidcLogin": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.", - "description": "# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n", - "operationId": "oidc_login", - "parameters": [ - { - "name": "redirectUri", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthCodeResponse" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": "foo@bar.de", - "realName": "Foo Bar" - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null - } - } - } - } - } - } - }, - "/permissions": { - "put": { - "tags": [ - "Permissions" - ], - "summary": "Adds a new permission.", - "operationId": "add_permission_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionRequest" - }, - "example": { - "resource": { - "type": "layer", - "id": "00000000-0000-0000-0000-000000000000" - }, - "roleId": "00000000-0000-0000-0000-000000000000", - "permission": "Read" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Permissions" - ], - "summary": "Removes an existing permission.", - "operationId": "remove_permission_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionRequest" - }, - "example": { - "resource": { - "type": "layer", - "id": "00000000-0000-0000-0000-000000000000" - }, - "roleId": "00000000-0000-0000-0000-000000000000", - "permission": "Read" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/permissions/resources/{resource_type}/{resource_id}": { - "get": { - "tags": [ - "Permissions" - ], - "summary": "Lists permission for a given resource.", - "operationId": "get_resource_permissions_handler", - "parameters": [ - { - "name": "resource_type", - "in": "path", - "description": "Resource Type", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "resource_id", - "in": "path", - "description": "Resource Id", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "List of permission", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PermissionListing" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/plot/{id}": { - "get": { - "tags": [ - "Plots" - ], - "summary": "Generates a plot.", - "description": "# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.", - "operationId": "get_plot_handler", - "parameters": [ - { - "name": "bbox", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "0,-0.3,0.2,0" - }, - { - "name": "crs", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - }, - "example": "EPSG:4326" - }, - { - "name": "time", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "2020-01-01T00:00:00.0Z" - }, - { - "name": "spatialResolution", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "0.1,0.1" - }, - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WrappedPlotOutput" - }, - "example": { - "outputFormat": "JsonPlain", - "plotType": "Statistics", - "data": { - "a": { - "max": 2.0, - "mean": 1.5, - "min": 1.0, - "stddev": 0.5, - "validCount": 2, - "valueCount": 2 - } - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project": { - "post": { - "tags": [ - "Projects" - ], - "summary": "Create a new project for the user.", - "operationId": "create_project_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProject" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Retrieves details about the latest version of a project.", - "operationId": "load_project_latest_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "Project loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Project" - }, - "example": { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "version": { - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", - "changed": "2021-04-26T14:05:39.677390600Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - }, - "name": "Test", - "description": "Foo", - "layers": [], - "plots": [], - "bounds": { - "spatialReference": "EPSG:4326", - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0.0, - "y": 0.0 - }, - "upperRightCoordinate": { - "x": 1.0, - "y": 1.0 - } - }, - "timeInterval": { - "start": 0, - "end": 1 - } - }, - "timeStep": { - "granularity": "months", - "step": 1 - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Projects" - ], - "summary": "Deletes a project.", - "operationId": "delete_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "patch": { - "tags": [ - "Projects" - ], - "summary": "Updates a project.\nThis will create a new version.", - "operationId": "update_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProject" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}/versions": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Lists all available versions of a project.", - "operationId": "project_versions_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectVersion" - } - }, - "example": [ - { - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", - "changed": "2021-04-26T14:05:39.677390600Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - }, - { - "id": "ced041c7-4b1d-4d13-b076-94596be6a36a", - "changed": "2021-04-26T14:13:10.901912700Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}/{version}": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Retrieves details about the given version of a project.", - "operationId": "load_project_version_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - }, - { - "name": "version", - "in": "path", - "description": "Version id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectVersionId" - } - } - ], - "responses": { - "200": { - "description": "Project loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Project" - }, - "example": { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "version": { - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", - "changed": "2021-04-26T14:05:39.677390600Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - }, - "name": "Test", - "description": "Foo", - "layers": [], - "plots": [], - "bounds": { - "spatialReference": "EPSG:4326", - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0.0, - "y": 0.0 - }, - "upperRightCoordinate": { - "x": 1.0, - "y": 1.0 - } - }, - "timeInterval": { - "start": 0, - "end": 1 - } - }, - "timeStep": { - "granularity": "months", - "step": 1 - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/projects": { - "get": { - "tags": [ - "Projects" - ], - "summary": "List all projects accessible to the user that match the selected criteria.", - "operationId": "list_projects_handler", - "parameters": [ - { - "name": "order", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/OrderBy" - }, - "example": "NameAsc" - }, - { - "name": "offset", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 2 - } - ], - "responses": { - "200": { - "description": "List of projects the user can access", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectListing" - } - }, - "example": [ - { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "name": "Test", - "description": "Foo", - "layerNames": [], - "plotNames": [], - "changed": "2021-04-26T14:03:51.984537900Z" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the available and used quota of the current user.", - "operationId": "quota_handler", - "responses": { - "200": { - "description": "The available and used quota of the user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Quota" - }, - "example": { - "available": 4321, - "used": 1234 - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/computations": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the quota used by computations", - "operationId": "computations_quota_handler", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "The quota used by computations", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ComputationQuota" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/computations/{computation}": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the quota used by computation with the given computation id", - "operationId": "computation_quota_handler", - "parameters": [ - { - "name": "computation", - "in": "path", - "description": "Computation id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "The quota used by computation", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OperatorQuota" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/dataUsage": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the data usage", - "operationId": "data_usage_handler", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "The quota used on data", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataUsage" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/dataUsage/summary": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the data usage summary", - "operationId": "data_usage_summary_handler", - "parameters": [ - { - "name": "granularity", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/UsageSummaryGranularity" - } - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - }, - { - "name": "dataset", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - } - ], - "responses": { - "200": { - "description": "The quota used on data", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataUsageSummary" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quotas/{user}": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the available and used quota of a specific user.", - "operationId": "get_user_quota_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - } - ], - "responses": { - "200": { - "description": "The available and used quota of the user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Quota" - }, - "example": { - "available": 4321, - "used": 1234 - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "User" - ], - "summary": "Update the available quota of a specific user.", - "operationId": "update_user_quota_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateQuota" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Quota was updated" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles": { - "put": { - "tags": [ - "User" - ], - "summary": "Add a new role. Requires admin privilige.", - "operationId": "add_role_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddRole" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Role was added", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RoleId" - }, - "example": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles/byName/{name}": { - "get": { - "tags": [ - "User" - ], - "summary": "Get role by name", - "operationId": "get_role_by_name_handler", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Role Name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles/{role}": { - "delete": { - "tags": [ - "User" - ], - "summary": "Remove a role. Requires admin privilige.", - "operationId": "remove_role_handler", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was removed" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/session": { - "get": { - "tags": [ - "Session" - ], - "summary": "Retrieves details about the current session.", - "operationId": "session_handler", - "responses": { - "200": { - "description": "The current session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": "foo@example.com", - "realName": "Foo Bar" - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null, - "roles": [ - "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "4e8081b6-8aa6-4275-af0c-2fa2da557d28" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/session/project/{project}": { - "post": { - "tags": [ - "Session" - ], - "summary": "Sets the active project of the session.", - "operationId": "session_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "The project of the session was updated." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/session/view": { - "post": { - "tags": [ - "Session" - ], - "operationId": "session_view_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/STRectangle" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The view of the session was updated." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/spatialReferenceSpecification/{srsString}": { - "get": { - "tags": [ - "Spatial References" - ], - "operationId": "get_spatial_reference_specification_handler", - "parameters": [ - { - "name": "srsString", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "EPSG:4326" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SpatialReferenceSpecification" - }, - "example": { - "name": "WGS 84", - "spatialReference": "EPSG:4326", - "projString": "+proj=longlat +datum=WGS84 +no_defs +type=crs", - "extent": { - "lowerLeftCoordinate": { - "x": -180.0, - "y": -90.0 - }, - "upperRightCoordinate": { - "x": 180.0, - "y": 90.0 - } - }, - "axisLabels": [ - "Geodetic longitude", - "Geodetic latitude" - ], - "axisOrder": "northEast" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/list": { - "get": { - "tags": [ - "Tasks" - ], - "summary": "Retrieve the status of all tasks.", - "operationId": "list_handler", - "parameters": [ - { - "name": "filter", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TaskFilter" - } - ] - } - }, - { - "name": "offset", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "Status of all tasks", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TaskStatusWithId" - } - }, - "example": [ - { - "taskId": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", - "status": "completed", - "taskType": "dummy-task", - "description": "Demo", - "info": null, - "timeTotal": "00:00:30", - "timeStarted": "2023-02-16T15:25:45.390Z" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/{id}": { - "delete": { - "tags": [ - "Tasks" - ], - "summary": "Abort a running task.", - "description": "# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.", - "operationId": "abort_handler", - "parameters": [ - { - "name": "force", - "in": "query", - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "id", - "in": "path", - "description": "Task id", - "required": true, - "schema": { - "$ref": "#/components/schemas/TaskId" - } - } - ], - "responses": { - "202": { - "description": "Task will be aborted." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/{id}/status": { - "get": { - "tags": [ - "Tasks" - ], - "summary": "Retrieve the status of a task.", - "operationId": "status_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Task id", - "required": true, - "schema": { - "$ref": "#/components/schemas/TaskId" - } - } - ], - "responses": { - "200": { - "description": "Status of the task (running)", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskStatus" - }, - "example": { - "status": "running", - "taskType": "dummy-task", - "description": "Demo", - "pctComplete": "0.00%", - "timeStarted": "2023-02-16T15:25:45.390Z", - "estimatedTimeRemaining": "? (± ?)", - "info": null - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/upload": { - "post": { - "tags": [ - "Uploads" - ], - "summary": "Uploads files.", - "operationId": "upload_handler", - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "required": [ - "files[]" - ], - "properties": { - "files[]": { - "type": "array", - "items": { - "type": "string", - "format": "binary" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/uploads/{upload_id}/files": { - "get": { - "tags": [ - "Uploads" - ], - "summary": "List the files of on upload.", - "operationId": "list_upload_files_handler", - "parameters": [ - { - "name": "upload_id", - "in": "path", - "description": "Upload id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UploadId" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadFilesResponse" - }, - "example": { - "files": [ - "file1", - "file2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/uploads/{upload_id}/files/{file_name}/layers": { - "get": { - "tags": [ - "Uploads" - ], - "summary": "List the layers of on uploaded file.", - "operationId": "list_upload_file_layers_handler", - "parameters": [ - { - "name": "upload_id", - "in": "path", - "description": "Upload id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UploadId" - } - }, - { - "name": "file_name", - "in": "path", - "description": "File name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadFileLayersResponse" - }, - "example": { - "layers": [ - "layer1", - "layer2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/user": { - "post": { - "tags": [ - "Session" - ], - "summary": "Registers a user.", - "operationId": "register_user_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserRegistration" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The id of the created user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserId" - }, - "example": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - } - } - } - } - } - }, - "/user/roles/descriptions": { - "get": { - "tags": [ - "User" - ], - "summary": "Query roles for the current user.", - "operationId": "get_role_descriptions", - "responses": { - "200": { - "description": "The description for roles of the current user", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RoleDescription" - } - }, - "example": [ - { - "role": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "name": "foo@example.com" - }, - "individual": true - }, - { - "role": { - "id": "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "name": "Example role" - }, - "individual": false - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/users/{user}/roles/{role}": { - "post": { - "tags": [ - "User" - ], - "summary": "Assign a role to a user. Requires admin privilige.", - "operationId": "assign_role_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - }, - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was assigned" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "User" - ], - "summary": "Revoke a role from a user. Requires admin privilige.", - "operationId": "revoke_role_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - }, - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was revoked" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wcs/{workflow}?request=DescribeCoverage": { - "get": { - "tags": [ - "OGC WCS" - ], - "summary": "Get WCS Coverage Description", - "operationId": "wcs_describe_coverage_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsVersion" - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/DescribeCoverageRequest" - } - }, - { - "name": "identifiers", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wcs/{workflow}?request=GetCapabilities": { - "get": { - "tags": [ - "OGC WCS" - ], - "summary": "Get WCS Capabilities", - "operationId": "wcs_capabilities_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WcsVersion" - } - ] - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCapabilitiesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wcs/{workflow}?request=GetCoverage": { - "get": { - "tags": [ - "OGC WCS" - ], - "summary": "Get WCS Coverage", - "operationId": "wcs_get_coverage_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsVersion" - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WcsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCoverageRequest" - } - }, - { - "name": "format", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCoverageFormat" - } - }, - { - "name": "identifier", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - }, - { - "name": "boundingbox", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "-90,-180,90,180,urn:ogc:def:crs:EPSG::4326" - }, - { - "name": "gridbasecrs", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "urn:ogc:def:crs:EPSG::4326" - }, - { - "name": "gridorigin", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "90,-180" - }, - { - "name": "gridoffsets", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "-0.1,0.1" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "resx", - "in": "query", - "required": false, - "schema": { - "type": [ - "number", - "null" - ], - "format": "double" - } - }, - { - "name": "resy", - "in": "query", - "required": false, - "schema": { - "type": [ - "number", - "null" - ], - "format": "double" - } - }, - { - "name": "nodatavalue", - "in": "query", - "required": false, - "schema": { - "type": [ - "number", - "null" - ], - "format": "double" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/PngResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wfs/{workflow}?request=GetCapabilities": { - "get": { - "tags": [ - "OGC WFS" - ], - "summary": "Get WFS Capabilities", - "operationId": "wfs_capabilities_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WfsVersion" - } - ] - } - }, - { - "name": "service", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/WfsService" - } - }, - { - "name": "request", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCapabilitiesRequest" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wfs/{workflow}?request=GetFeature": { - "get": { - "tags": [ - "OGC WFS" - ], - "summary": "Get WCS Features", - "operationId": "wfs_feature_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WfsVersion" - } - ] - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WfsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetFeatureRequest" - } - }, - { - "name": "typeNames", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/TypeNames" - }, - "example": "" - }, - { - "name": "bbox", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/OgcBoundingBox" - }, - "example": "-90,-180,90,180" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "2014-04-01T12:00:00.000Z" - }, - { - "name": "srsName", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - }, - "example": "EPSG:4326" - }, - { - "name": "namespaces", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "count", - "in": "query", - "required": false, - "schema": { - "type": [ - "integer", - "null" - ], - "format": "int64", - "minimum": 0 - } - }, - { - "name": "sortBy", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "resultType", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "filter", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "propertyName", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "queryResolution", - "in": "query", - "description": "Vendor parameter for specifying a spatial query resolution", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WfsResolution" - } - ] - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GeoJson" - }, - "example": { - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 0.0, - 0.1 - ] - }, - "properties": { - "foo": 0 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 1.0, - 1.1 - ] - }, - "properties": { - "foo": null - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 2.0, - 3.1 - ] - }, - "properties": { - "foo": 2 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 3.0, - 3.1 - ] - }, - "properties": { - "foo": 3 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 4.0, - 4.1 - ] - }, - "properties": { - "foo": 4 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - } - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wms/{workflow}?request=GetCapabilities": { - "get": { - "tags": [ - "OGC WMS" - ], - "summary": "Get WMS Capabilities", - "operationId": "wms_capabilities_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WmsVersion" - } - ] - } - }, - { - "name": "service", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsService" - } - }, - { - "name": "request", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetCapabilitiesRequest" - } - }, - { - "name": "format", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/GetCapabilitiesFormat" - } - ] - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wms/{workflow}?request=GetLegendGraphic": { - "get": { - "tags": [ - "OGC WMS" - ], - "summary": "Get WMS Legend Graphic", - "operationId": "wms_legend_graphic_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsVersion" - } - }, - { - "name": "service", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsService" - } - }, - { - "name": "request", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetLegendGraphicRequest" - } - }, - { - "name": "layer", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - } - ], - "responses": { - "501": { - "description": "Not implemented" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wms/{workflow}?request=GetMap": { - "get": { - "tags": [ - "OGC WMS" - ], - "summary": "Get WMS Map", - "operationId": "wms_map_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "version", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsVersion" - } - }, - { - "name": "service", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/WmsService" - } - }, - { - "name": "request", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetMapRequest" - } - }, - { - "name": "width", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 512 - }, - { - "name": "height", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 256 - }, - { - "name": "bbox", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/OgcBoundingBox" - }, - "example": "-90,-180,90,180" - }, - { - "name": "format", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/GetMapFormat" - } - }, - { - "name": "layers", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "" - }, - { - "name": "crs", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - }, - "example": "EPSG:4326" - }, - { - "name": "styles", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "2014-04-01T12:00:00.000Z" - }, - { - "name": "transparent", - "in": "query", - "required": false, - "schema": { - "type": [ - "boolean", - "null" - ] - } - }, - { - "name": "bgcolor", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "sld", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "sld_body", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "elevation", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "exceptions", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/GetMapExceptionFormat" - } - ] - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/PngResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow": { - "post": { - "tags": [ - "Workflows" - ], - "summary": "Registers a new Workflow.", - "operationId": "register_workflow_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workflow" - }, - "examples": { - "MockPointSource": { - "value": { - "type": "Vector", - "operator": { - "type": "MockPointSource", - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - } - } - } - }, - "Statistics Plot": { - "value": { - "type": "Plot", - "operator": { - "type": "Statistics", - "params": {}, - "sources": { - "source": { - "type": "OgrSource", - "params": { - "data": "ne_10m_ports", - "attributeProjection": null, - "attributeFilters": null - } - } - } - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Retrieves an existing Workflow.", - "operationId": "load_workflow_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Workflow loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workflow" - }, - "example": { - "type": "Vector", - "operator": { - "type": "MockPointSource", - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - } - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/allMetadata/zip": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets a ZIP archive of the worklow, its provenance and the output metadata.", - "operationId": "get_workflow_all_metadata_zip_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/ZipResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/metadata": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets the metadata of a workflow", - "operationId": "get_workflow_metadata_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Metadata of loaded workflow", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "example": { - "type": "vector", - "dataType": "MultiPoint", - "spatialReference": "EPSG:4326", - "columns": {} - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/provenance": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets the provenance of all datasets used in a workflow.", - "operationId": "get_workflow_provenance_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Provenance of used datasets", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProvenanceEntry" - } - }, - "example": [ - { - "dataset": { - "type": "internal", - "datasetId": "846a823a-6859-4b94-ab0a-c1de80f593d8" - }, - "provenance": { - "citation": "Author, Dataset Tile", - "license": "Some license", - "uri": "http://example.org/" - } - }, - { - "dataset": { - "type": "internal", - "datasetId": "453cd398-f271-437b-9c3d-7f42213ea30a" - }, - "provenance": { - "citation": "Another Author, Another Dataset Tile", - "license": "Some other license", - "uri": "http://example.org/" - } - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/rasterStream": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Query a workflow raster result as a stream of tiles via a websocket connection.", - "operationId": "raster_stream_websocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "spatialBounds", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SpatialPartition2D" - } - }, - { - "name": "timeInterval", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "attributes", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "resultType", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/RasterStreamWebsocketResultType" - } - } - ], - "responses": { - "101": { - "description": "Upgrade to websocket connection" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - } - }, - "components": { - "schemas": { - "AddDataset": { - "type": "object", - "required": [ - "displayName", - "description", - "sourceOperator" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "name": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/DatasetName" - } - ] - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "tags": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - } - } - }, - "AddDatasetTile": { - "type": "object", - "required": [ - "time", - "spatial_partition", - "band", - "z_index", - "params" - ], - "properties": { - "band": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "spatial_partition": { - "$ref": "#/components/schemas/SpatialPartition2D" - }, - "time": { - "$ref": "#/components/schemas/TimeInterval" - }, - "z_index": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "AddLayer": { - "type": "object", - "required": [ - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string", - "example": "Example layer description" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "name": { - "type": "string", - "example": "Example Layer" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "AddLayerCollection": { - "type": "object", - "required": [ - "name", - "description" - ], - "properties": { - "description": { - "type": "string", - "example": "A description for an example collection" - }, - "name": { - "type": "string", - "example": "Example Collection" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "AddRole": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - } - } - }, - "ArunaDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description", - "apiUrl", - "projectId", - "apiToken", - "filterLabel" - ], - "properties": { - "apiToken": { - "type": "string" - }, - "apiUrl": { - "type": "string" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "filterLabel": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "projectId": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Aruna" - ] - } - } - }, - "AuthCodeRequestURL": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "type": "string", - "format": "uri" - } - } - }, - "AuthCodeResponse": { - "type": "object", - "required": [ - "sessionState", - "code", - "state" - ], - "properties": { - "code": { - "type": "string" - }, - "sessionState": { - "type": "string" - }, - "state": { - "type": "string" - } - } - }, - "AutoCreateDataset": { - "type": "object", - "required": [ - "upload", - "datasetName", - "datasetDescription", - "mainFile" - ], - "properties": { - "datasetDescription": { - "type": "string" - }, - "datasetName": { - "type": "string" - }, - "layerName": { - "type": [ - "string", - "null" - ] - }, - "mainFile": { - "type": "string" - }, - "tags": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - }, - "example": { - "upload": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", - "datasetName": "Germany Border (auto)", - "datasetDescription": "The Outline of Germany (auto detected format)", - "mainFile": "germany_polygon.gpkg", - "tags": [ - "area" - ] - } - }, - "AxisOrder": { - "type": "string", - "enum": [ - "northEast", - "eastNorth" - ] - }, - "BandSelection": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0 - } - }, - "BoundingBox2D": { - "type": "object", - "description": "A bounding box that includes all border points.\nNote: may degenerate to a point!", - "required": [ - "lowerLeftCoordinate", - "upperRightCoordinate" - ], - "properties": { - "lowerLeftCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "upperRightCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - }, - "Breakpoint": { - "type": "object", - "required": [ - "value", - "color" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/RgbaColor" - }, - "value": { - "type": "number" - } - } - }, - "CacheTtlSeconds": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "ClassificationMeasurement": { - "type": "object", - "required": [ - "type", - "measurement", - "classes" - ], - "properties": { - "classes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - }, - "measurement": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "classification" - ] - } - } - }, - "CollectionItem": { - "oneOf": [ - { - "$ref": "#/components/schemas/LayerCollectionListing" - }, - { - "$ref": "#/components/schemas/LayerListing" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "collection": "#/components/schemas/LayerCollectionListing", - "layer": "#/components/schemas/LayerListing" - } - } - }, - "CollectionType": { - "type": "string", - "enum": [ - "FeatureCollection" - ] - }, - "ColorParam": { - "oneOf": [ - { - "$ref": "#/components/schemas/StaticColor" - }, - { - "$ref": "#/components/schemas/DerivedColor" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "derived": "#/components/schemas/DerivedColor", - "static": "#/components/schemas/StaticColor" - } - } - }, - "Colorizer": { - "oneOf": [ - { - "$ref": "#/components/schemas/LinearGradient" - }, - { - "$ref": "#/components/schemas/LogarithmicGradient" - }, - { - "$ref": "#/components/schemas/PaletteColorizer" - } - ], - "description": "A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.", - "discriminator": { - "propertyName": "type", - "mapping": { - "linearGradient": "#/components/schemas/LinearGradient", - "logarithmicGradient": "#/components/schemas/LogarithmicGradient", - "palette": "#/components/schemas/PaletteColorizer" - } - } - }, - "ComputationQuota": { - "type": "object", - "required": [ - "timestamp", - "computationId", - "workflowId", - "count" - ], - "properties": { - "computationId": { - "type": "string", - "format": "uuid" - }, - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "workflowId": { - "type": "string", - "format": "uuid" - } - } - }, - "ContinuousMeasurement": { - "type": "object", - "required": [ - "type", - "measurement" - ], - "properties": { - "measurement": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "continuous" - ] - }, - "unit": { - "type": [ - "string", - "null" - ] - } - } - }, - "Coordinate2D": { - "type": "object", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - } - } - }, - "CopernicusDataspaceDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "id", - "stacUrl", - "s3Url", - "s3AccessKey", - "s3SecretKey", - "gdalConfig" - ], - "properties": { - "description": { - "type": "string" - }, - "gdalConfig": { - "type": "array", - "items": { - "$ref": "#/components/schemas/StringPair" - } - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "s3AccessKey": { - "type": "string" - }, - "s3SecretKey": { - "type": "string" - }, - "s3Url": { - "type": "string" - }, - "stacUrl": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "CopernicusDataspace" - ] - } - } - }, - "CreateDataset": { - "type": "object", - "required": [ - "dataPath", - "definition" - ], - "properties": { - "dataPath": { - "$ref": "#/components/schemas/DataPath" - }, - "definition": { - "$ref": "#/components/schemas/DatasetDefinition" - } - } - }, - "CreateProject": { - "type": "object", - "required": [ - "name", - "description", - "bounds" - ], - "properties": { - "bounds": { - "$ref": "#/components/schemas/STRectangle" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "timeStep": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeStep" - } - ] - } - }, - "example": { - "name": "Test", - "description": "Foo", - "bounds": { - "spatialReference": "EPSG:4326", - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0, - "y": 0 - }, - "upperRightCoordinate": { - "x": 1, - "y": 1 - } - }, - "timeInterval": { - "start": 0, - "end": 1 - } - }, - "timeStep": { - "step": 1, - "granularity": "months" - } - } - }, - "CsvHeader": { - "type": "string", - "enum": [ - "yes", - "no", - "auto" - ] - }, - "DataId": { - "oneOf": [ - { - "$ref": "#/components/schemas/InternalDataId" - }, - { - "$ref": "#/components/schemas/ExternalDataId" - } - ], - "description": "The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.", - "discriminator": { - "propertyName": "type", - "mapping": { - "external": "#/components/schemas/ExternalDataId", - "internal": "#/components/schemas/InternalDataId" - } - } - }, - "DataPath": { - "oneOf": [ - { - "type": "object", - "required": [ - "volume" - ], - "properties": { - "volume": { - "$ref": "#/components/schemas/VolumeName" - } - } - }, - { - "type": "object", - "required": [ - "upload" - ], - "properties": { - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - } - ] - }, - "DataProviderId": { - "type": "string", - "format": "uuid" - }, - "DataProviderResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "type": { - "type": "string", - "enum": [ - "provider" - ] - } - } - }, - "DataUsage": { - "type": "object", - "required": [ - "timestamp", - "userId", - "computationId", - "data", - "count" - ], - "properties": { - "computationId": { - "type": "string", - "format": "uuid" - }, - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "data": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "userId": { - "type": "string", - "format": "uuid" - } - } - }, - "DataUsageSummary": { - "type": "object", - "required": [ - "timestamp", - "data", - "count" - ], - "properties": { - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "data": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - } - }, - "DatabaseConnectionConfig": { - "type": "object", - "required": [ - "host", - "port", - "database", - "schema", - "user", - "password" - ], - "properties": { - "database": { - "type": "string" - }, - "host": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "schema": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "Dataset": { - "type": "object", - "required": [ - "id", - "name", - "displayName", - "description", - "resultDescriptor", - "sourceOperator" - ], - "properties": { - "dataPath": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/DataPath" - } - ] - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DatasetId" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - }, - "resultDescriptor": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "tags": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - } - } - }, - "DatasetDefinition": { - "type": "object", - "required": [ - "properties", - "metaData" - ], - "properties": { - "metaData": { - "$ref": "#/components/schemas/MetaDataDefinition" - }, - "properties": { - "$ref": "#/components/schemas/AddDataset" - } - } - }, - "DatasetId": { - "type": "string", - "format": "uuid" - }, - "DatasetLayerListingCollection": { - "type": "object", - "required": [ - "name", - "description", - "tags" - ], - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DatasetLayerListingProviderDefinition": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description", - "collections" - ], - "properties": { - "collections": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DatasetLayerListingCollection" - } - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "DatasetLayerListing" - ] - } - } - }, - "DatasetListing": { - "type": "object", - "required": [ - "id", - "name", - "displayName", - "description", - "tags", - "sourceOperator", - "resultDescriptor" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DatasetId" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DatasetName": { - "type": "string", - "examples": [ - "ns:name" - ] - }, - "DatasetNameResponse": { - "type": "object", - "title": "Dataset Name Response", - "required": [ - "datasetName" - ], - "properties": { - "datasetName": { - "$ref": "#/components/schemas/DatasetName" - } - } - }, - "DatasetResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DatasetName" - }, - "type": { - "type": "string", - "enum": [ - "dataset" - ] - } - } - }, - "DateTimeParseFormat": { - "type": "string" - }, - "DateTimeString": { - "type": "string" - }, - "DerivedColor": { - "type": "object", - "required": [ - "type", - "attribute", - "colorizer" - ], - "properties": { - "attribute": { - "type": "string" - }, - "colorizer": { - "$ref": "#/components/schemas/Colorizer" - }, - "type": { - "type": "string", - "enum": [ - "derived" - ] - } - } - }, - "DerivedNumber": { - "type": "object", - "required": [ - "type", - "attribute", - "factor", - "defaultValue" - ], - "properties": { - "attribute": { - "type": "string" - }, - "defaultValue": { - "type": "number", - "format": "double" - }, - "factor": { - "type": "number", - "format": "double" - }, - "type": { - "type": "string", - "enum": [ - "derived" - ] - } - } - }, - "DescribeCoverageRequest": { - "type": "string", - "enum": [ - "DescribeCoverage" - ] - }, - "EbvPortalDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "baseUrl", - "data", - "overviews" - ], - "properties": { - "baseUrl": { - "type": "string", - "format": "uri" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "data": { - "type": "string", - "description": "Path were the `NetCDF` data can be found" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "overviews": { - "type": "string", - "description": "Path were overview files are stored" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "EbvPortal" - ] - } - } - }, - "EdrDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "id", - "baseUrl" - ], - "properties": { - "baseUrl": { - "type": "string", - "format": "uri" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "discreteVrs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of vertical reference systems with a discrete scale" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - }, - "type": { - "type": "string", - "enum": [ - "Edr" - ] - }, - "vectorSpec": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/EdrVectorSpec" - } - ] - } - } - }, - "EdrVectorSpec": { - "type": "object", - "required": [ - "x", - "time" - ], - "properties": { - "time": { - "type": "string" - }, - "x": { - "type": "string" - }, - "y": { - "type": [ - "string", - "null" - ] - } - } - }, - "ErrorResponse": { - "type": "object", - "required": [ - "error", - "message" - ], - "properties": { - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "ExternalDataId": { - "type": "object", - "required": [ - "type", - "providerId", - "layerId" - ], - "properties": { - "layerId": { - "$ref": "#/components/schemas/LayerId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - }, - "type": { - "type": "string", - "enum": [ - "external" - ] - } - } - }, - "FeatureDataType": { - "type": "string", - "enum": [ - "category", - "int", - "float", - "text", - "bool", - "dateTime" - ] - }, - "FileNotFoundHandling": { - "type": "string", - "enum": [ - "NoData", - "Error" - ] - }, - "FormatSpecifics": { - "oneOf": [ - { - "type": "object", - "required": [ - "csv" - ], - "properties": { - "csv": { - "type": "object", - "required": [ - "header" - ], - "properties": { - "header": { - "$ref": "#/components/schemas/CsvHeader" - } - } - } - } - } - ] - }, - "GbifDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "dbConfig", - "autocompleteTimeout", - "columns" - ], - "properties": { - "autocompleteTimeout": { - "type": "integer", - "format": "int32" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "columns": { - "type": "array", - "items": { - "type": "string" - } - }, - "dbConfig": { - "$ref": "#/components/schemas/DatabaseConnectionConfig" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "Gbif" - ] - } - } - }, - "GdalDatasetGeoTransform": { - "type": "object", - "required": [ - "originCoordinate", - "xPixelSize", - "yPixelSize" - ], - "properties": { - "originCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "xPixelSize": { - "type": "number", - "format": "double" - }, - "yPixelSize": { - "type": "number", - "format": "double" - } - } - }, - "GdalDatasetParameters": { - "type": "object", - "description": "Parameters for loading data using Gdal", - "required": [ - "filePath", - "rasterbandChannel", - "geoTransform", - "width", - "height", - "fileNotFoundHandling" - ], - "properties": { - "allowAlphabandAsMask": { - "type": "boolean" - }, - "fileNotFoundHandling": { - "$ref": "#/components/schemas/FileNotFoundHandling" - }, - "filePath": { - "type": "string" - }, - "gdalConfigOptions": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/StringPair" - } - }, - "gdalOpenOptions": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - }, - "geoTransform": { - "$ref": "#/components/schemas/GdalDatasetGeoTransform" - }, - "height": { - "type": "integer", - "minimum": 0 - }, - "noDataValue": { - "type": [ - "number", - "null" - ], - "format": "double" - }, - "propertiesMapping": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/GdalMetadataMapping" - } - }, - "rasterbandChannel": { - "type": "integer", - "minimum": 0 - }, - "width": { - "type": "integer", - "minimum": 0 - } - } - }, - "GdalLoadingInfoTemporalSlice": { - "type": "object", - "description": "one temporal slice of the dataset that requires reading from exactly one Gdal dataset", - "required": [ - "time" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "params": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/GdalDatasetParameters" - } - ] - }, - "time": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "GdalMetaDataList": { - "type": "object", - "required": [ - "type", - "resultDescriptor", - "params" - ], - "properties": { - "params": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GdalLoadingInfoTemporalSlice" - } - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataList" - ] - } - } - }, - "GdalMetaDataRegular": { - "type": "object", - "required": [ - "type", - "resultDescriptor", - "params", - "timePlaceholders", - "dataTime", - "step" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "dataTime": { - "$ref": "#/components/schemas/TimeInterval" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - }, - "timePlaceholders": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GdalSourceTimePlaceholder" - }, - "propertyNames": { - "type": "string" - } - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataRegular" - ] - } - } - }, - "GdalMetaDataStatic": { - "type": "object", - "required": [ - "type", - "params", - "resultDescriptor" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "time": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "GdalStatic" - ] - } - } - }, - "GdalMetadataMapping": { - "type": "object", - "required": [ - "source_key", - "target_key", - "target_type" - ], - "properties": { - "source_key": { - "$ref": "#/components/schemas/RasterPropertiesKey" - }, - "target_key": { - "$ref": "#/components/schemas/RasterPropertiesKey" - }, - "target_type": { - "$ref": "#/components/schemas/RasterPropertiesEntryType" - } - } - }, - "GdalMetadataNetCdfCf": { - "type": "object", - "description": "Meta data for 4D `NetCDF` CF datasets", - "required": [ - "type", - "resultDescriptor", - "params", - "start", - "end", - "step", - "bandOffset" - ], - "properties": { - "bandOffset": { - "type": "integer", - "description": "A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.", - "minimum": 0 - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "end": { - "$ref": "#/components/schemas/TimeInstance", - "description": "We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future." - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "start": { - "$ref": "#/components/schemas/TimeInstance" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataNetCdfCf" - ] - } - } - }, - "GdalMultiBand": { - "type": "object", - "required": [ - "type", - "resultDescriptor" - ], - "properties": { - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "GdalMultiBand" - ] - } - } - }, - "GdalSourceTimePlaceholder": { - "type": "object", - "required": [ - "format", - "reference" - ], - "properties": { - "format": { - "$ref": "#/components/schemas/DateTimeParseFormat" - }, - "reference": { - "$ref": "#/components/schemas/TimeReference" - } - } - }, - "GeoJson": { - "type": "object", - "required": [ - "type", - "features" - ], - "properties": { - "features": { - "type": "array", - "items": {} - }, - "type": { - "$ref": "#/components/schemas/CollectionType" - } - } - }, - "GeoTransform": { - "type": "object", - "required": [ - "originCoordinate", - "xPixelSize", - "yPixelSize" - ], - "properties": { - "originCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "xPixelSize": { - "type": "number", - "format": "double" - }, - "yPixelSize": { - "type": "number", - "format": "double" - } - } - }, - "GetCapabilitiesFormat": { - "type": "string", - "enum": [ - "text/xml" - ] - }, - "GetCapabilitiesRequest": { - "type": "string", - "enum": [ - "GetCapabilities" - ] - }, - "GetCoverageFormat": { - "type": "string", - "enum": [ - "image/tiff" - ] - }, - "GetCoverageRequest": { - "type": "string", - "enum": [ - "GetCoverage" - ] - }, - "GetFeatureRequest": { - "type": "string", - "enum": [ - "GetFeature" - ] - }, - "GetLegendGraphicRequest": { - "type": "string", - "enum": [ - "GetLegendGraphic" - ] - }, - "GetMapExceptionFormat": { - "type": "string", - "enum": [ - "XML", - "JSON" - ] - }, - "GetMapFormat": { - "type": "string", - "enum": [ - "image/png" - ] - }, - "GetMapRequest": { - "type": "string", - "enum": [ - "GetMap" - ] - }, - "GfbioAbcdDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "dbConfig" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "dbConfig": { - "$ref": "#/components/schemas/DatabaseConnectionConfig" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "GfbioAbcd" - ] - } - } - }, - "GfbioCollectionsDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "collectionApiUrl", - "collectionApiAuthToken", - "abcdDbConfig", - "pangaeaUrl" - ], - "properties": { - "abcdDbConfig": { - "$ref": "#/components/schemas/DatabaseConnectionConfig" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "collectionApiAuthToken": { - "type": "string" - }, - "collectionApiUrl": { - "type": "string", - "format": "uri" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "pangaeaUrl": { - "type": "string", - "format": "uri" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "GfbioCollections" - ] - } - } - }, - "GridBoundingBox2D": { - "type": "object", - "required": [ - "topLeftIdx", - "bottomRightIdx" - ], - "properties": { - "bottomRightIdx": { - "$ref": "#/components/schemas/GridIdx2D" - }, - "topLeftIdx": { - "$ref": "#/components/schemas/GridIdx2D" - } - } - }, - "GridIdx2D": { - "type": "object", - "required": [ - "yIdx", - "xIdx" - ], - "properties": { - "xIdx": { - "type": "integer" - }, - "yIdx": { - "type": "integer" - } - } - }, - "InternalDataId": { - "type": "object", - "required": [ - "type", - "datasetId" - ], - "properties": { - "datasetId": { - "$ref": "#/components/schemas/DatasetId" - }, - "type": { - "type": "string", - "enum": [ - "internal" - ] - } - } - }, - "Layer": { - "type": "object", - "required": [ - "id", - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "LayerCollection": { - "type": "object", - "required": [ - "id", - "name", - "description", - "items", - "properties" - ], - "properties": { - "description": { - "type": "string" - }, - "entryLabel": { - "type": [ - "string", - "null" - ], - "description": "a common label for the collection's entries, if there is any" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerCollectionId" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CollectionItem" - } - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "LayerCollectionId": { - "type": "string" - }, - "LayerCollectionListing": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerCollectionId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - }, - "type": { - "type": "string", - "enum": [ - "collection" - ] - } - } - }, - "LayerCollectionResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "type": { - "type": "string", - "enum": [ - "layerCollection" - ] - } - } - }, - "LayerId": { - "type": "string" - }, - "LayerListing": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "type": { - "type": "string", - "enum": [ - "layer" - ] - } - } - }, - "LayerProviderListing": { - "type": "object", - "required": [ - "id", - "name", - "priority" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": "integer", - "format": "int32" - } - } - }, - "LayerResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerId" - }, - "type": { - "type": "string", - "enum": [ - "layer" - ] - } - } - }, - "LayerVisibility": { - "type": "object", - "required": [ - "data", - "legend" - ], - "properties": { - "data": { - "type": "boolean" - }, - "legend": { - "type": "boolean" - } - } - }, - "LineSymbology": { - "type": "object", - "required": [ - "type", - "stroke", - "autoSimplified" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TextSymbology" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "line" - ] - } - } - }, - "LinearGradient": { - "type": "object", - "required": [ - "type", - "breakpoints", - "noDataColor", - "overColor", - "underColor" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "linearGradient" - ] - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "LogarithmicGradient": { - "type": "object", - "required": [ - "type", - "breakpoints", - "noDataColor", - "overColor", - "underColor" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "logarithmicGradient" - ] - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "Measurement": { - "oneOf": [ - { - "$ref": "#/components/schemas/UnitlessMeasurement" - }, - { - "$ref": "#/components/schemas/ContinuousMeasurement" - }, - { - "$ref": "#/components/schemas/ClassificationMeasurement" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "classification": "#/components/schemas/ClassificationMeasurement", - "continuous": "#/components/schemas/ContinuousMeasurement", - "unitless": "#/components/schemas/UnitlessMeasurement" - } - } - }, - "MetaDataDefinition": { - "oneOf": [ - { - "$ref": "#/components/schemas/MockMetaData" - }, - { - "$ref": "#/components/schemas/OgrMetaData" - }, - { - "$ref": "#/components/schemas/GdalMetaDataRegular" - }, - { - "$ref": "#/components/schemas/GdalMetaDataStatic" - }, - { - "$ref": "#/components/schemas/GdalMetadataNetCdfCf" - }, - { - "$ref": "#/components/schemas/GdalMetaDataList" - }, - { - "$ref": "#/components/schemas/GdalMultiBand" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "GdalMetaDataList": "#/components/schemas/GdalMetaDataList", - "GdalMetaDataNetCdfCf": "#/components/schemas/GdalMetadataNetCdfCf", - "GdalMetaDataRegular": "#/components/schemas/GdalMetaDataRegular", - "GdalMultiBand": "#/components/schemas/GdalMultiBand", - "GdalStatic": "#/components/schemas/GdalMetaDataStatic", - "MockMetaData": "#/components/schemas/MockMetaData", - "OgrMetaData": "#/components/schemas/OgrMetaData" - } - } - }, - "MetaDataSuggestion": { - "type": "object", - "required": [ - "mainFile", - "layerName", - "metaData" - ], - "properties": { - "layerName": { - "type": "string" - }, - "mainFile": { - "type": "string" - }, - "metaData": { - "$ref": "#/components/schemas/MetaDataDefinition" - } - } - }, - "MlModel": { - "type": "object", - "required": [ - "name", - "displayName", - "description", - "upload", - "metadata", - "fileName" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/MlModelMetadata" - }, - "name": { - "$ref": "#/components/schemas/MlModelName" - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - }, - "MlModelId": { - "type": "string", - "format": "uuid" - }, - "MlModelInputNoDataHandling": { - "type": "object", - "required": [ - "variant" - ], - "properties": { - "noDataValue": { - "type": [ - "number", - "null" - ], - "format": "float" - }, - "variant": { - "$ref": "#/components/schemas/MlModelInputNoDataHandlingVariant" - } - } - }, - "MlModelInputNoDataHandlingVariant": { - "type": "string", - "enum": [ - "encodedNoData", - "skipIfNoData" - ] - }, - "MlModelMetadata": { - "type": "object", - "required": [ - "inputType", - "outputType", - "inputShape", - "outputShape", - "inputNoDataHandling", - "outputNoDataHandling" - ], - "properties": { - "inputNoDataHandling": { - "$ref": "#/components/schemas/MlModelInputNoDataHandling" - }, - "inputShape": { - "$ref": "#/components/schemas/MlTensorShape3D" - }, - "inputType": { - "$ref": "#/components/schemas/RasterDataType" - }, - "outputNoDataHandling": { - "$ref": "#/components/schemas/MlModelOutputNoDataHandling" - }, - "outputShape": { - "$ref": "#/components/schemas/MlTensorShape3D" - }, - "outputType": { - "$ref": "#/components/schemas/RasterDataType" - } - } - }, - "MlModelName": { - "type": "string" - }, - "MlModelNameResponse": { - "type": "object", - "required": [ - "mlModelName" - ], - "properties": { - "mlModelName": { - "$ref": "#/components/schemas/MlModelName" - } - } - }, - "MlModelOutputNoDataHandling": { - "type": "object", - "required": [ - "variant" - ], - "properties": { - "noDataValue": { - "type": [ - "number", - "null" - ], - "format": "float" - }, - "variant": { - "$ref": "#/components/schemas/MlModelOutputNoDataHandlingVariant" - } - } - }, - "MlModelOutputNoDataHandlingVariant": { - "type": "string", - "enum": [ - "encodedNoData", - "nanIsNoData" - ] - }, - "MlModelResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mlModel" - ] - } - } - }, - "MlTensorShape3D": { - "type": "object", - "description": "A struct describing tensor shape for `MlModelMetadata`", - "required": [ - "y", - "x", - "bands" - ], - "properties": { - "bands": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "x": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "y": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "MockDatasetDataSourceLoadingInfo": { - "type": "object", - "required": [ - "points" - ], - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - }, - "MockMetaData": { - "type": "object", - "required": [ - "type", - "loadingInfo", - "resultDescriptor" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/MockDatasetDataSourceLoadingInfo" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "MockMetaData" - ] - } - } - }, - "MultiBandRasterColorizer": { - "type": "object", - "required": [ - "type", - "redBand", - "redMin", - "redMax", - "greenBand", - "greenMin", - "greenMax", - "blueBand", - "blueMin", - "blueMax" - ], - "properties": { - "blueBand": { - "type": "integer", - "format": "int32", - "description": "The band index of the blue channel.", - "minimum": 0 - }, - "blueMax": { - "type": "number", - "format": "double", - "description": "The maximum value for the red channel." - }, - "blueMin": { - "type": "number", - "format": "double", - "description": "The minimum value for the red channel." - }, - "blueScale": { - "type": "number", - "format": "double", - "description": "A scaling factor for the blue channel between 0 and 1." - }, - "greenBand": { - "type": "integer", - "format": "int32", - "description": "The band index of the green channel.", - "minimum": 0 - }, - "greenMax": { - "type": "number", - "format": "double", - "description": "The maximum value for the red channel." - }, - "greenMin": { - "type": "number", - "format": "double", - "description": "The minimum value for the red channel." - }, - "greenScale": { - "type": "number", - "format": "double", - "description": "A scaling factor for the green channel between 0 and 1." - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor", - "description": "The color to use for no data values.\nIf not specified, the no data values will be transparent." - }, - "redBand": { - "type": "integer", - "format": "int32", - "description": "The band index of the red channel.", - "minimum": 0 - }, - "redMax": { - "type": "number", - "format": "double", - "description": "The maximum value for the red channel." - }, - "redMin": { - "type": "number", - "format": "double", - "description": "The minimum value for the red channel." - }, - "redScale": { - "type": "number", - "format": "double", - "description": "A scaling factor for the red channel between 0 and 1." - }, - "type": { - "type": "string", - "enum": [ - "multiBand" - ] - } - } - }, - "MultiLineString": { - "type": "object", - "required": [ - "coordinates" - ], - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - } - }, - "MultiPoint": { - "type": "object", - "required": [ - "coordinates" - ], - "properties": { - "coordinates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - }, - "MultiPolygon": { - "type": "object", - "required": [ - "polygons" - ], - "properties": { - "polygons": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - } - } - }, - "NamedData": { - "type": "string" - }, - "NetCdfCfDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "data", - "overviews" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "data": { - "type": "string", - "description": "Path were the `NetCDF` data can be found" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "overviews": { - "type": "string", - "description": "Path were overview files are stored" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "NetCdfCf" - ] - } - } - }, - "NoGeometry": { - "default": null - }, - "NumberParam": { - "oneOf": [ - { - "$ref": "#/components/schemas/StaticNumber" - }, - { - "$ref": "#/components/schemas/DerivedNumber" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "derived": "#/components/schemas/DerivedNumber", - "static": "#/components/schemas/StaticNumber" - } - } - }, - "OgcBoundingBox": { - "type": "string" - }, - "OgrMetaData": { - "type": "object", - "required": [ - "type", - "loadingInfo", - "resultDescriptor" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/OgrSourceDataset" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "OgrMetaData" - ] - } - } - }, - "OgrSourceColumnSpec": { - "type": "object", - "required": [ - "x" - ], - "properties": { - "bool": { - "type": "array", - "items": { - "type": "string" - } - }, - "datetime": { - "type": "array", - "items": { - "type": "string" - } - }, - "float": { - "type": "array", - "items": { - "type": "string" - } - }, - "formatSpecifics": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/FormatSpecifics" - } - ] - }, - "int": { - "type": "array", - "items": { - "type": "string" - } - }, - "rename": { - "type": [ - "object", - "null" - ], - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "text": { - "type": "array", - "items": { - "type": "string" - } - }, - "x": { - "type": "string" - }, - "y": { - "type": [ - "string", - "null" - ] - } - } - }, - "OgrSourceDataset": { - "type": "object", - "required": [ - "fileName", - "layerName", - "onError" - ], - "properties": { - "attributeQuery": { - "type": [ - "string", - "null" - ] - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "columns": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/OgrSourceColumnSpec" - } - ] - }, - "dataType": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/VectorDataType" - } - ] - }, - "defaultGeometry": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TypedGeometry" - } - ] - }, - "fileName": { - "type": "string" - }, - "forceOgrSpatialFilter": { - "type": "boolean" - }, - "forceOgrTimeFilter": { - "type": "boolean" - }, - "layerName": { - "type": "string" - }, - "onError": { - "$ref": "#/components/schemas/OgrSourceErrorSpec" - }, - "sqlQuery": { - "type": [ - "string", - "null" - ] - }, - "time": { - "$ref": "#/components/schemas/OgrSourceDatasetTimeType" - } - } - }, - "OgrSourceDatasetTimeType": { - "oneOf": [ - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeNone" - }, - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStart" - }, - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" - }, - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "none": "#/components/schemas/OgrSourceDatasetTimeTypeNone", - "start": "#/components/schemas/OgrSourceDatasetTimeTypeStart", - "start+duration": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration", - "start+end": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" - } - } - }, - "OgrSourceDatasetTimeTypeNone": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "none" - ] - } - } - }, - "OgrSourceDatasetTimeTypeStart": { - "type": "object", - "required": [ - "type", - "startField", - "startFormat", - "duration" - ], - "properties": { - "duration": { - "$ref": "#/components/schemas/OgrSourceDurationSpec" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "start" - ] - } - } - }, - "OgrSourceDatasetTimeTypeStartDuration": { - "type": "object", - "required": [ - "type", - "startField", - "startFormat", - "durationField" - ], - "properties": { - "durationField": { - "type": "string" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "start+duration" - ] - } - } - }, - "OgrSourceDatasetTimeTypeStartEnd": { - "type": "object", - "required": [ - "type", - "startField", - "startFormat", - "endField", - "endFormat" - ], - "properties": { - "endField": { - "type": "string" - }, - "endFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "start+end" - ] - } - } - }, - "OgrSourceDurationSpec": { - "oneOf": [ - { - "$ref": "#/components/schemas/OgrSourceDurationSpecInfinite" - }, - { - "$ref": "#/components/schemas/OgrSourceDurationSpecZero" - }, - { - "$ref": "#/components/schemas/OgrSourceDurationSpecValue" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "infinite": "#/components/schemas/OgrSourceDurationSpecInfinite", - "value": "#/components/schemas/OgrSourceDurationSpecValue", - "zero": "#/components/schemas/OgrSourceDurationSpecZero" - } - } - }, - "OgrSourceDurationSpecInfinite": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "infinite" - ] - } - } - }, - "OgrSourceDurationSpecValue": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStep" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "value" - ] - } - } - } - ] - }, - "OgrSourceDurationSpecZero": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "zero" - ] - } - } - }, - "OgrSourceErrorSpec": { - "type": "string", - "enum": [ - "ignore", - "abort" - ] - }, - "OgrSourceTimeFormat": { - "oneOf": [ - { - "$ref": "#/components/schemas/OgrSourceTimeFormatCustom" - }, - { - "$ref": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" - }, - { - "$ref": "#/components/schemas/OgrSourceTimeFormatAuto" - } - ], - "discriminator": { - "propertyName": "format", - "mapping": { - "auto": "#/components/schemas/OgrSourceTimeFormatAuto", - "custom": "#/components/schemas/OgrSourceTimeFormatCustom", - "unixTimeStamp": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" - } - } - }, - "OgrSourceTimeFormatAuto": { - "type": "object", - "required": [ - "format" - ], - "properties": { - "format": { - "type": "string", - "enum": [ - "auto" - ] - } - } - }, - "OgrSourceTimeFormatCustom": { - "type": "object", - "required": [ - "format", - "customFormat" - ], - "properties": { - "customFormat": { - "$ref": "#/components/schemas/DateTimeParseFormat" - }, - "format": { - "type": "string", - "enum": [ - "custom" - ] - } - } - }, - "OgrSourceTimeFormatUnixTimeStamp": { - "type": "object", - "required": [ - "format", - "timestampType" - ], - "properties": { - "format": { - "type": "string", - "enum": [ - "unixTimeStamp" - ] - }, - "timestampType": { - "$ref": "#/components/schemas/UnixTimeStampType" - } - } - }, - "OperatorQuota": { - "type": "object", - "required": [ - "operatorName", - "operatorPath", - "count" - ], - "properties": { - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "operatorName": { - "type": "string" - }, - "operatorPath": { - "type": "string" - } - } - }, - "OrderBy": { - "type": "string", - "enum": [ - "NameAsc", - "NameDesc" - ] - }, - "Palette": { - "type": "object", - "description": "A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.", - "additionalProperties": { - "$ref": "#/components/schemas/RgbaColor" - }, - "propertyNames": { - "type": "number", - "format": "double" - } - }, - "PaletteColorizer": { - "type": "object", - "required": [ - "type", - "colors", - "noDataColor", - "defaultColor" - ], - "properties": { - "colors": { - "$ref": "#/components/schemas/Palette" - }, - "defaultColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "palette" - ] - } - } - }, - "PangaeaDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "baseUrl", - "cacheTtl" - ], - "properties": { - "baseUrl": { - "type": "string", - "format": "uri" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "Pangaea" - ] - } - } - }, - "Permission": { - "type": "string", - "enum": [ - "Read", - "Owner" - ] - }, - "PermissionListOptions": { - "type": "object", - "required": [ - "limit", - "offset" - ], - "properties": { - "limit": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "offset": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "PermissionListing": { - "type": "object", - "required": [ - "resource", - "role", - "permission" - ], - "properties": { - "permission": { - "$ref": "#/components/schemas/Permission" - }, - "resource": { - "$ref": "#/components/schemas/Resource" - }, - "role": { - "$ref": "#/components/schemas/Role" - } - } - }, - "PermissionRequest": { - "type": "object", - "description": "Request for adding a new permission to the given role on the given resource", - "required": [ - "resource", - "roleId", - "permission" - ], - "properties": { - "permission": { - "$ref": "#/components/schemas/Permission" - }, - "resource": { - "$ref": "#/components/schemas/Resource" - }, - "roleId": { - "$ref": "#/components/schemas/RoleId" - } - } - }, - "Plot": { - "type": "object", - "required": [ - "workflow", - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "workflow": { - "$ref": "#/components/schemas/WorkflowId" - } - } - }, - "PlotOutputFormat": { - "type": "string", - "enum": [ - "JsonPlain", - "JsonVega", - "ImagePng" - ] - }, - "PlotResultDescriptor": { - "type": "object", - "description": "A `ResultDescriptor` for plot queries", - "required": [ - "spatialReference" - ], - "properties": { - "bbox": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ] - }, - "spatialReference": { - "type": "string" - }, - "time": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - } - } - }, - "PointSymbology": { - "type": "object", - "required": [ - "type", - "radius", - "fillColor", - "stroke" - ], - "properties": { - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "radius": { - "$ref": "#/components/schemas/NumberParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TextSymbology" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "point" - ] - } - } - }, - "PolygonSymbology": { - "type": "object", - "required": [ - "type", - "fillColor", - "stroke", - "autoSimplified" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TextSymbology" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "polygon" - ] - } - } - }, - "Project": { - "type": "object", - "required": [ - "id", - "version", - "name", - "description", - "layers", - "plots", - "bounds", - "timeStep" - ], - "properties": { - "bounds": { - "$ref": "#/components/schemas/STRectangle" - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectLayer" - } - }, - "name": { - "type": "string" - }, - "plots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plot" - } - }, - "timeStep": { - "$ref": "#/components/schemas/TimeStep" - }, - "version": { - "$ref": "#/components/schemas/ProjectVersion" - } - } - }, - "ProjectId": { - "type": "string", - "format": "uuid" - }, - "ProjectLayer": { - "type": "object", - "required": [ - "workflow", - "name", - "visibility", - "symbology" - ], - "properties": { - "name": { - "type": "string" - }, - "symbology": { - "$ref": "#/components/schemas/Symbology" - }, - "visibility": { - "$ref": "#/components/schemas/LayerVisibility" - }, - "workflow": { - "$ref": "#/components/schemas/WorkflowId" - } - } - }, - "ProjectListing": { - "type": "object", - "required": [ - "id", - "name", - "description", - "layerNames", - "plotNames", - "changed" - ], - "properties": { - "changed": { - "type": "string", - "format": "date-time" - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layerNames": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "plotNames": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ProjectResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "type": { - "type": "string", - "enum": [ - "project" - ] - } - } - }, - "ProjectUpdateToken": { - "type": "string", - "enum": [ - "none", - "delete" - ] - }, - "ProjectVersion": { - "type": "object", - "required": [ - "id", - "changed" - ], - "properties": { - "changed": { - "type": "string", - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/ProjectVersionId" - } - } - }, - "ProjectVersionId": { - "type": "string", - "format": "uuid" - }, - "Property": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 2, - "minItems": 2 - }, - "Provenance": { - "type": "object", - "required": [ - "citation", - "license", - "uri" - ], - "properties": { - "citation": { - "type": "string" - }, - "license": { - "type": "string" - }, - "uri": { - "type": "string" - } - } - }, - "ProvenanceEntry": { - "type": "object", - "required": [ - "provenance", - "data" - ], - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataId" - } - }, - "provenance": { - "$ref": "#/components/schemas/Provenance" - } - } - }, - "ProvenanceOutput": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/DataId" - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - } - } - }, - "Provenances": { - "type": "object", - "required": [ - "provenances" - ], - "properties": { - "provenances": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Provenance" - } - } - } - }, - "ProviderCapabilities": { - "type": "object", - "required": [ - "listing", - "search" - ], - "properties": { - "listing": { - "type": "boolean" - }, - "search": { - "$ref": "#/components/schemas/SearchCapabilities" - } - } - }, - "ProviderLayerCollectionId": { - "type": "object", - "required": [ - "providerId", - "collectionId" - ], - "properties": { - "collectionId": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - } - } - }, - "ProviderLayerId": { - "type": "object", - "required": [ - "providerId", - "layerId" - ], - "properties": { - "layerId": { - "$ref": "#/components/schemas/LayerId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - } - } - }, - "Quota": { - "type": "object", - "required": [ - "available", - "used" - ], - "properties": { - "available": { - "type": "integer", - "format": "int64" - }, - "used": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - } - }, - "RasterBandDescriptor": { - "type": "object", - "required": [ - "name", - "measurement" - ], - "properties": { - "measurement": { - "$ref": "#/components/schemas/Measurement" - }, - "name": { - "type": "string" - } - } - }, - "RasterBandDescriptors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RasterBandDescriptor" - } - }, - "RasterColorizer": { - "oneOf": [ - { - "$ref": "#/components/schemas/SingleBandRasterColorizer" - }, - { - "$ref": "#/components/schemas/MultiBandRasterColorizer" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "multiBand": "#/components/schemas/MultiBandRasterColorizer", - "singleBand": "#/components/schemas/SingleBandRasterColorizer" - } - } - }, - "RasterDataType": { - "type": "string", - "enum": [ - "U8", - "U16", - "U32", - "U64", - "I8", - "I16", - "I32", - "I64", - "F32", - "F64" - ] - }, - "RasterDatasetFromWorkflow": { - "type": "object", - "description": "parameter for the dataset from workflow handler (body)", - "required": [ - "displayName", - "query" - ], - "properties": { - "asCog": { - "type": "boolean", - "default": true - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "name": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/DatasetName" - } - ] - }, - "query": { - "$ref": "#/components/schemas/RasterToDatasetQueryRectangle" - } - }, - "example": { - "name": "foo", - "displayName": "a new dataset", - "description": null, - "query": { - "spatialBounds": { - "upperLeftCoordinate": { - "x": -10.0, - "y": 80.0 - }, - "lowerRightCoordinate": { - "x": 50.0, - "y": 20.0 - } - }, - "timeInterval": { - "start": 1388534400000, - "end": 1388534401000 - } - } - } - }, - "RasterDatasetFromWorkflowResult": { - "type": "object", - "description": "response of the dataset from workflow handler", - "required": [ - "dataset", - "upload" - ], - "properties": { - "dataset": { - "$ref": "#/components/schemas/DatasetName" - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - }, - "RasterPropertiesEntryType": { - "type": "string", - "enum": [ - "Number", - "String" - ] - }, - "RasterPropertiesKey": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "domain": { - "type": [ - "string", - "null" - ] - }, - "key": { - "type": "string" - } - } - }, - "RasterResultDescriptor": { - "type": "object", - "description": "A `ResultDescriptor` for raster queries", - "required": [ - "dataType", - "spatialReference", - "time", - "spatialGrid", - "bands" - ], - "properties": { - "bands": { - "$ref": "#/components/schemas/RasterBandDescriptors" - }, - "dataType": { - "$ref": "#/components/schemas/RasterDataType" - }, - "spatialGrid": { - "$ref": "#/components/schemas/SpatialGridDescriptor" - }, - "spatialReference": { - "type": "string" - }, - "time": { - "$ref": "#/components/schemas/TimeDescriptor" - } - } - }, - "RasterStreamWebsocketResultType": { - "type": "string", - "description": "The stream result type for `raster_stream_websocket`.", - "enum": [ - "arrow" - ] - }, - "RasterSymbology": { - "type": "object", - "required": [ - "type", - "opacity", - "rasterColorizer" - ], - "properties": { - "opacity": { - "type": "number", - "format": "double" - }, - "rasterColorizer": { - "$ref": "#/components/schemas/RasterColorizer" - }, - "type": { - "type": "string", - "enum": [ - "raster" - ] - } - } - }, - "RasterToDatasetQueryRectangle": { - "type": "object", - "description": "A spatio-temporal rectangle with a specified resolution", - "required": [ - "spatialBounds", - "timeInterval" - ], - "properties": { - "spatialBounds": { - "$ref": "#/components/schemas/SpatialPartition2D" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "RegularTimeDimension": { - "type": "object", - "required": [ - "origin", - "step" - ], - "properties": { - "origin": { - "$ref": "#/components/schemas/TimeInstance" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - } - } - }, - "Resource": { - "oneOf": [ - { - "$ref": "#/components/schemas/LayerResource" - }, - { - "$ref": "#/components/schemas/LayerCollectionResource" - }, - { - "$ref": "#/components/schemas/ProjectResource" - }, - { - "$ref": "#/components/schemas/DatasetResource" - }, - { - "$ref": "#/components/schemas/MlModelResource" - }, - { - "$ref": "#/components/schemas/DataProviderResource" - } - ], - "description": "A resource that is affected by a permission.", - "discriminator": { - "propertyName": "type", - "mapping": { - "dataset": "#/components/schemas/DatasetResource", - "layer": "#/components/schemas/LayerResource", - "layerCollection": "#/components/schemas/LayerCollectionResource", - "mlModel": "#/components/schemas/MlModelResource", - "project": "#/components/schemas/ProjectResource", - "provider": "#/components/schemas/DataProviderResource" - } - } - }, - "RgbaColor": { - "type": "array", - "items": { - "type": "integer" - }, - "maxItems": 4, - "minItems": 4 - }, - "Role": { - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/RoleId" - }, - "name": { - "type": "string" - } - } - }, - "RoleDescription": { - "type": "object", - "required": [ - "role", - "individual" - ], - "properties": { - "individual": { - "type": "boolean" - }, - "role": { - "$ref": "#/components/schemas/Role" - } - } - }, - "RoleId": { - "type": "string", - "format": "uuid" - }, - "STRectangle": { - "type": "object", - "required": [ - "spatialReference", - "boundingBox", - "timeInterval" - ], - "properties": { - "boundingBox": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "spatialReference": { - "type": "string" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "SearchCapabilities": { - "type": "object", - "required": [ - "searchTypes", - "autocomplete" - ], - "properties": { - "autocomplete": { - "type": "boolean" - }, - "filters": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - }, - "searchTypes": { - "$ref": "#/components/schemas/SearchTypes" - } - } - }, - "SearchType": { - "type": "string", - "enum": [ - "fulltext", - "prefix" - ] - }, - "SearchTypes": { - "type": "object", - "required": [ - "fulltext", - "prefix" - ], - "properties": { - "fulltext": { - "type": "boolean" - }, - "prefix": { - "type": "boolean" - } - } - }, - "Secret_String": { - "type": "string", - "description": "A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests." - }, - "SentinelS2L2ACogsProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "id", - "description", - "apiUrl" - ], - "properties": { - "apiUrl": { - "type": "string" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "gdalRetries": { - "type": "integer", - "minimum": 0 - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "queryBuffer": { - "$ref": "#/components/schemas/StacQueryBuffer" - }, - "stacApiRetries": { - "$ref": "#/components/schemas/StacApiRetries" - }, - "type": { - "type": "string", - "enum": [ - "SentinelS2L2ACogs" - ] - } - } - }, - "ServerInfo": { - "type": "object", - "required": [ - "buildDate", - "commitHash", - "version", - "features" - ], - "properties": { - "buildDate": { - "type": "string" - }, - "commitHash": { - "type": "string" - }, - "features": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "SessionId": { - "type": "string", - "format": "uuid" - }, - "SingleBandRasterColorizer": { - "type": "object", - "required": [ - "type", - "band", - "bandColorizer" - ], - "properties": { - "band": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "bandColorizer": { - "$ref": "#/components/schemas/Colorizer" - }, - "type": { - "type": "string", - "enum": [ - "singleBand" - ] - } - } - }, - "SpatialGridDefinition": { - "type": "object", - "required": [ - "geoTransform", - "gridBounds" - ], - "properties": { - "geoTransform": { - "$ref": "#/components/schemas/GeoTransform" - }, - "gridBounds": { - "$ref": "#/components/schemas/GridBoundingBox2D" - } - } - }, - "SpatialGridDescriptor": { - "type": "object", - "required": [ - "spatialGrid", - "descriptor" - ], - "properties": { - "descriptor": { - "$ref": "#/components/schemas/SpatialGridDescriptorState" - }, - "spatialGrid": { - "$ref": "#/components/schemas/SpatialGridDefinition" - } - } - }, - "SpatialGridDescriptorState": { - "type": "string", - "enum": [ - "source", - "derived" - ] - }, - "SpatialPartition2D": { - "type": "object", - "description": "A partition of space that include the upper left but excludes the lower right coordinate", - "required": [ - "upperLeftCoordinate", - "lowerRightCoordinate" - ], - "properties": { - "lowerRightCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "upperLeftCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - }, - "SpatialReferenceAuthority": { - "type": "string", - "description": "A spatial reference authority that is part of a spatial reference definition", - "enum": [ - "EPSG", - "SR-ORG", - "IAU2000", - "ESRI" - ] - }, - "SpatialReferenceSpecification": { - "type": "object", - "description": "The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)", - "required": [ - "name", - "spatialReference", - "projString", - "extent" - ], - "properties": { - "axisLabels": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/StringPair" - } - ] - }, - "axisOrder": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/AxisOrder" - } - ] - }, - "extent": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "name": { - "type": "string" - }, - "projString": { - "type": "string" - }, - "spatialReference": { - "type": "string" - } - } - }, - "SpatialResolution": { - "type": "object", - "description": "The spatial resolution in SRS units", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - } - } - }, - "StacApiRetries": { - "type": "object", - "required": [ - "numberOfRetries", - "initialDelayMs", - "exponentialBackoffFactor" - ], - "properties": { - "exponentialBackoffFactor": { - "type": "number", - "format": "double" - }, - "initialDelayMs": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "numberOfRetries": { - "type": "integer", - "minimum": 0 - } - } - }, - "StacQueryBuffer": { - "type": "object", - "description": "A struct that represents buffers to apply to stac requests", - "required": [ - "startSeconds", - "endSeconds" - ], - "properties": { - "endSeconds": { - "type": "integer", - "format": "int64" - }, - "startSeconds": { - "type": "integer", - "format": "int64" - } - } - }, - "StaticColor": { - "type": "object", - "required": [ - "type", - "color" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "static" - ] - } - } - }, - "StaticNumber": { - "type": "object", - "required": [ - "type", - "value" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "static" - ] - }, - "value": { - "type": "integer", - "minimum": 0 - } - } - }, - "StringPair": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 2, - "minItems": 2 - }, - "StrokeParam": { - "type": "object", - "required": [ - "width", - "color" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/ColorParam" - }, - "width": { - "$ref": "#/components/schemas/NumberParam" - } - } - }, - "SuggestMetaData": { - "type": "object", - "required": [ - "dataPath" - ], - "properties": { - "dataPath": { - "$ref": "#/components/schemas/DataPath" - }, - "layerName": { - "type": [ - "string", - "null" - ] - }, - "mainFile": { - "type": [ - "string", - "null" - ] - } - } - }, - "Symbology": { - "oneOf": [ - { - "$ref": "#/components/schemas/RasterSymbology" - }, - { - "$ref": "#/components/schemas/PointSymbology" - }, - { - "$ref": "#/components/schemas/LineSymbology" - }, - { - "$ref": "#/components/schemas/PolygonSymbology" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "line": "#/components/schemas/LineSymbology", - "point": "#/components/schemas/PointSymbology", - "polygon": "#/components/schemas/PolygonSymbology", - "raster": "#/components/schemas/RasterSymbology" - } - } - }, - "TaskAbortOptions": { - "type": "object", - "properties": { - "force": { - "type": "boolean" - } - } - }, - "TaskFilter": { - "type": "string", - "enum": [ - "running", - "aborted", - "failed", - "completed" - ] - }, - "TaskId": { - "type": "string", - "format": "uuid" - }, - "TaskListOptions": { - "type": "object", - "properties": { - "filter": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TaskFilter" - } - ] - }, - "limit": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "offset": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "TaskResponse": { - "type": "object", - "description": "Create a task somewhere and respond with a task id to query the task status.", - "required": [ - "taskId" - ], - "properties": { - "taskId": { - "$ref": "#/components/schemas/TaskId" - } - } - }, - "TaskStatus": { - "oneOf": [ - { - "type": "object", - "title": "TaskStatusRunning", - "required": [ - "status", - "taskType", - "pctComplete", - "estimatedTimeRemaining", - "timeStarted" - ], - "properties": { - "description": { - "type": "string" - }, - "estimatedTimeRemaining": { - "type": "string" - }, - "info": {}, - "pctComplete": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "running" - ] - }, - "taskType": { - "type": "string" - }, - "timeStarted": { - "type": "string" - } - } - }, - { - "type": "object", - "title": "TaskStatusCompleted", - "required": [ - "status", - "taskType", - "timeTotal", - "timeStarted" - ], - "properties": { - "description": { - "type": "string" - }, - "info": {}, - "status": { - "type": "string", - "enum": [ - "completed" - ] - }, - "taskType": { - "type": "string" - }, - "timeStarted": { - "type": "string" - }, - "timeTotal": { - "type": "string" - } - } - }, - { - "type": "object", - "title": "TaskStatusAborted", - "required": [ - "status", - "cleanUp" - ], - "properties": { - "cleanUp": {}, - "status": { - "type": "string", - "enum": [ - "aborted" - ] - } - } - }, - { - "type": "object", - "title": "TaskStatusFailed", - "required": [ - "status", - "error", - "cleanUp" - ], - "properties": { - "cleanUp": {}, - "error": {}, - "status": { - "type": "string", - "enum": [ - "failed" - ] - } - } - } - ], - "discriminator": { - "propertyName": "status", - "mapping": { - "aborted": "TaskStatusAborted", - "completed": "TaskStatusCompleted", - "failed": "TaskStatusFailed", - "running": "TaskStatusRunning" - } - } - }, - "TaskStatusWithId": { - "allOf": [ - { - "$ref": "#/components/schemas/TaskStatus" - }, - { - "type": "object", - "required": [ - "taskId" - ], - "properties": { - "taskId": { - "$ref": "#/components/schemas/TaskId" - } - } - } - ] - }, - "TextSymbology": { - "type": "object", - "required": [ - "attribute", - "fillColor", - "stroke" - ], - "properties": { - "attribute": { - "type": "string" - }, - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - } - } - }, - "TimeDescriptor": { - "type": "object", - "required": [ - "dimension" - ], - "properties": { - "bounds": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - }, - "dimension": { - "$ref": "#/components/schemas/TimeDimension" - } - } - }, - "TimeDimension": { - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/components/schemas/RegularTimeDimension" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "regular" - ] - } - } - } - ] - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "irregular" - ] - } - } - } - ] - }, - "TimeGranularity": { - "type": "string", - "description": "A time granularity.", - "enum": [ - "millis", - "seconds", - "minutes", - "hours", - "days", - "months", - "years" - ] - }, - "TimeInstance": { - "type": "integer", - "format": "int64" - }, - "TimeInterval": { - "type": "object", - "description": "Stores time intervals in ms in close-open semantic [start, end)", - "required": [ - "start", - "end" - ], - "properties": { - "end": { - "$ref": "#/components/schemas/TimeInstance" - }, - "start": { - "$ref": "#/components/schemas/TimeInstance" - } - } - }, - "TimeReference": { - "type": "string", - "enum": [ - "start", - "end" - ] - }, - "TimeStep": { - "type": "object", - "required": [ - "granularity", - "step" - ], - "properties": { - "granularity": { - "$ref": "#/components/schemas/TimeGranularity" - }, - "step": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "TypeNames": { - "type": "string" - }, - "TypedDataProviderDefinition": { - "oneOf": [ - { - "$ref": "#/components/schemas/ArunaDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/CopernicusDataspaceDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/DatasetLayerListingProviderDefinition" - }, - { - "$ref": "#/components/schemas/EbvPortalDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/EdrDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/GbifDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/GfbioAbcdDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/GfbioCollectionsDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/NetCdfCfDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/PangaeaDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/SentinelS2L2ACogsProviderDefinition" - }, - { - "$ref": "#/components/schemas/WildliveDataConnectorDefinition" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "Aruna": "#/components/schemas/ArunaDataProviderDefinition", - "CopernicusDataspace": "#/components/schemas/CopernicusDataspaceDataProviderDefinition", - "DatasetLayerListing": "#/components/schemas/DatasetLayerListingProviderDefinition", - "EbvPortal": "#/components/schemas/EbvPortalDataProviderDefinition", - "Edr": "#/components/schemas/EdrDataProviderDefinition", - "Gbif": "#/components/schemas/GbifDataProviderDefinition", - "GfbioAbcd": "#/components/schemas/GfbioAbcdDataProviderDefinition", - "GfbioCollections": "#/components/schemas/GfbioCollectionsDataProviderDefinition", - "NetCdfCf": "#/components/schemas/NetCdfCfDataProviderDefinition", - "Pangaea": "#/components/schemas/PangaeaDataProviderDefinition", - "SentinelS2L2ACogs": "#/components/schemas/SentinelS2L2ACogsProviderDefinition", - "WildLIVE!": "#/components/schemas/WildliveDataConnectorDefinition" - } - } - }, - "TypedGeometry": { - "oneOf": [ - { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "$ref": "#/components/schemas/NoGeometry" - } - } - }, - { - "type": "object", - "required": [ - "MultiPoint" - ], - "properties": { - "MultiPoint": { - "$ref": "#/components/schemas/MultiPoint" - } - } - }, - { - "type": "object", - "required": [ - "MultiLineString" - ], - "properties": { - "MultiLineString": { - "$ref": "#/components/schemas/MultiLineString" - } - } - }, - { - "type": "object", - "required": [ - "MultiPolygon" - ], - "properties": { - "MultiPolygon": { - "$ref": "#/components/schemas/MultiPolygon" - } - } - } - ] - }, - "TypedOperator": { - "type": "object", - "description": "An enum to differentiate between `Operator` variants", - "required": [ - "type", - "operator" - ], - "properties": { - "operator": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "params": { - "type": "object" - }, - "sources": { - "type": "object" - }, - "type": { - "type": "string" - } - } - }, - "type": { - "type": "string", - "enum": [ - "Vector", - "Raster", - "Plot" - ] - } - }, - "examples": [ - { - "type": "MockPointSource", - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - } - } - ] - }, - "TypedPlotResultDescriptor": { - "allOf": [ - { - "$ref": "#/components/schemas/PlotResultDescriptor" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "plot" - ] - } - } - } - ] - }, - "TypedRasterResultDescriptor": { - "allOf": [ - { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "raster" - ] - } - } - } - ] - }, - "TypedResultDescriptor": { - "oneOf": [ - { - "$ref": "#/components/schemas/TypedPlotResultDescriptor" - }, - { - "$ref": "#/components/schemas/TypedRasterResultDescriptor" - }, - { - "$ref": "#/components/schemas/TypedVectorResultDescriptor" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "plot": "#/components/schemas/TypedPlotResultDescriptor", - "raster": "#/components/schemas/TypedRasterResultDescriptor", - "vector": "#/components/schemas/TypedVectorResultDescriptor" - } - } - }, - "TypedVectorResultDescriptor": { - "allOf": [ - { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "vector" - ] - } - } - } - ] - }, - "UnitlessMeasurement": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "unitless" - ] - } - } - }, - "UnixTimeStampType": { - "type": "string", - "enum": [ - "epochSeconds", - "epochMilliseconds" - ] - }, - "UpdateDataset": { - "type": "object", - "required": [ - "name", - "display_name", - "description", - "tags" - ], - "properties": { - "description": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UpdateLayer": { - "type": "object", - "required": [ - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string", - "example": "Example layer description" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "name": { - "type": "string", - "example": "Example Layer" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "UpdateLayerCollection": { - "type": "object", - "required": [ - "name", - "description" - ], - "properties": { - "description": { - "type": "string", - "example": "A description for an example collection" - }, - "name": { - "type": "string", - "example": "Example Collection" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "UpdateProject": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "bounds": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/STRectangle" - } - ] - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layers": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/VecUpdate" - } - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "plots": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/VecUpdate" - } - }, - "timeStep": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeStep" - } - ] - } - }, - "example": { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "name": "TestUpdate", - "layers": [ - { - "workflow": "100ee39c-761c-4218-9d85-ec861a8f3097", - "name": "L1", - "visibility": { - "data": true, - "legend": false - }, - "symbology": { - "type": "raster", - "opacity": 1.0, - "colorizer": { - "type": "linearGradient", - "breakpoints": [ - { - "value": 1.0, - "color": [ - 255, - 255, - 255, - 255 - ] - }, - { - "value": 2.0, - "color": [ - 0, - 0, - 0, - 255 - ] - } - ], - "noDataColor": [ - 0, - 0, - 0, - 0 - ], - "overColor": [ - 255, - 255, - 255, - 255 - ], - "underColor": [ - 0, - 0, - 0, - 255 - ] - } - } - } - ] - } - }, - "UpdateQuota": { - "type": "object", - "required": [ - "available" - ], - "properties": { - "available": { - "type": "integer", - "format": "int64" - } - } - }, - "UploadFileLayersResponse": { - "type": "object", - "required": [ - "layers" - ], - "properties": { - "layers": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UploadFilesResponse": { - "type": "object", - "required": [ - "files" - ], - "properties": { - "files": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UploadId": { - "type": "string", - "format": "uuid" - }, - "UsageSummaryGranularity": { - "type": "string", - "enum": [ - "minutes", - "hours", - "days", - "months", - "years" - ] - }, - "UserCredentials": { - "type": "object", - "required": [ - "email", - "password" - ], - "properties": { - "email": { - "type": "string" - }, - "password": { - "type": "string" - } - }, - "example": { - "email": "foo@example.com", - "password": "secret123" - } - }, - "UserId": { - "type": "string", - "format": "uuid" - }, - "UserInfo": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "email": { - "type": [ - "string", - "null" - ] - }, - "id": { - "$ref": "#/components/schemas/UserId" - }, - "realName": { - "type": [ - "string", - "null" - ] - } - } - }, - "UserRegistration": { - "type": "object", - "required": [ - "email", - "password", - "realName" - ], - "properties": { - "email": { - "type": "string" - }, - "password": { - "type": "string" - }, - "realName": { - "type": "string" - } - }, - "example": { - "email": "foo@example.com", - "password": "secret123", - "realName": "Foo Bar" - } - }, - "UserSession": { - "type": "object", - "required": [ - "id", - "user", - "created", - "validUntil", - "roles" - ], - "properties": { - "created": { - "type": "string", - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/SessionId" - }, - "project": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/ProjectId" - } - ] - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RoleId" - } - }, - "user": { - "$ref": "#/components/schemas/UserInfo" - }, - "validUntil": { - "type": "string", - "format": "date-time" - }, - "view": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/STRectangle" - } - ] - } - } - }, - "VecUpdate": { - "oneOf": [ - { - "$ref": "#/components/schemas/ProjectUpdateToken" - }, - { - "$ref": "#/components/schemas/Plot" - } - ] - }, - "VectorColumnInfo": { - "type": "object", - "required": [ - "dataType", - "measurement" - ], - "properties": { - "dataType": { - "$ref": "#/components/schemas/FeatureDataType" - }, - "measurement": { - "$ref": "#/components/schemas/Measurement" - } - } - }, - "VectorDataType": { - "type": "string", - "description": "An enum that contains all possible vector data types", - "enum": [ - "Data", - "MultiPoint", - "MultiLineString", - "MultiPolygon" - ] - }, - "VectorResultDescriptor": { - "type": "object", - "required": [ - "dataType", - "spatialReference", - "columns" - ], - "properties": { - "bbox": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ] - }, - "columns": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/VectorColumnInfo" - }, - "propertyNames": { - "type": "string" - } - }, - "dataType": { - "$ref": "#/components/schemas/VectorDataType" - }, - "spatialReference": { - "type": "string" - }, - "time": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - } - } - }, - "Volume": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": [ - "string", - "null" - ] - } - } - }, - "VolumeFileLayersResponse": { - "type": "object", - "required": [ - "layers" - ], - "properties": { - "layers": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "VolumeName": { - "type": "string" - }, - "WcsBoundingbox": { - "type": "object", - "required": [ - "bbox" - ], - "properties": { - "bbox": { - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "spatial_reference": { - "type": [ - "string", - "null" - ] - } - } - }, - "WcsService": { - "type": "string", - "enum": [ - "WCS" - ] - }, - "WcsVersion": { - "type": "string", - "enum": [ - "1.1.0", - "1.1.1" - ] - }, - "WfsResolution": { - "type": "string" - }, - "WfsService": { - "type": "string", - "enum": [ - "WFS" - ] - }, - "WfsVersion": { - "type": "string", - "enum": [ - "2.0.0" - ] - }, - "WildliveDataConnectorDefinition": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "expiryDate": { - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "refreshToken": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Secret_String" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "WildLIVE!" - ] - }, - "user": { - "type": [ - "string", - "null" - ] - } - } - }, - "WmsService": { - "type": "string", - "enum": [ - "WMS" - ] - }, - "WmsVersion": { - "type": "string", - "enum": [ - "1.3.0" - ] - }, - "Workflow": { - "allOf": [ - { - "$ref": "#/components/schemas/TypedOperator" - } - ] - }, - "WorkflowId": { - "type": "string", - "format": "uuid" - }, - "WrappedPlotOutput": { - "type": "object", - "required": [ - "outputFormat", - "plotType", - "data" - ], - "properties": { - "data": { - "type": "object" - }, - "outputFormat": { - "$ref": "#/components/schemas/PlotOutputFormat" - }, - "plotType": { - "type": "string" - } - } - } - }, - "responses": { - "BadRequestQueryResponse": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Missing field in query string": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: missing field `offset`" - } - }, - "Number in query string contains letters": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: invalid digit found in string" - } - } - } - } - } - }, - "IdResponse": { - "description": "Id of generated resource", - "content": { - "application/json": { - "schema": { - "type": "object", - "title": "IdResponse", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - } - } - }, - "example": { - "id": "36574dc3-560a-4b09-9d22-d5945f2b8093" - } - } - } - }, - "PayloadTooLargeResponse": { - "description": "Payload too large", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Known payload size": { - "value": { - "error": "Overflow", - "message": "JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)." - } - }, - "Unknown payload size": { - "value": { - "error": "Overflow", - "message": "JSON payload has exceeded limit (2097152 bytes)." - } - } - } - } - } - }, - "PngResponse": { - "description": "PNG Image", - "content": { - "image/png": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "UnauthorizedAdminResponse": { - "description": "Authorization failed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Auth token does not correspond to an admin": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Invalid admin token" - } - }, - "Authorization Header is missing": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Header with authorization token not provided." - } - }, - "Authorization Scheme other than Bearer is used": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Authentication scheme must be Bearer." - } - }, - "Provided auth token has an invalid format": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Identifier does not have the right format." - } - }, - "Session id is invalid": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: The session id is invalid." - } - } - } - } - } - }, - "UnauthorizedUserResponse": { - "description": "Authorization failed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Authorization Header is missing": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Header with authorization token not provided." - } - }, - "Authorization Scheme other than Bearer is used": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Authentication scheme must be Bearer." - } - }, - "Provided auth token has an invalid format": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Identifier does not have the right format." - } - }, - "Session id is invalid": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: The session id is invalid." - } - } - } - } - } - }, - "UnsupportedMediaTypeForJsonResponse": { - "description": "Media type of application/json is expected", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "error": "UnsupportedMediaType", - "message": "Unsupported content type header." - } - } - } - }, - "ZipResponse": { - "description": "ZIP Archive", - "content": { - "application/zip": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - } - }, - "securitySchemes": { - "session_token": { - "type": "http", - "scheme": "bearer", - "bearerFormat": "UUID", - "description": "A valid session token can be obtained via the /anonymous or /login endpoints." - } - } - }, - "externalDocs": { - "url": "https://docs.geoengine.io", - "description": "Geo Engine Docs" - } -} +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=DescribeCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage Description","operationId":"wcs_describe_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/DescribeCoverageRequest"}},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Capabilities","operationId":"wcs_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage","operationId":"wcs_get_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageRequest"}},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Capabilities","operationId":"wms_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetLegendGraphic":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Legend Graphic","operationId":"wms_legend_graphic_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsVersion"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetLegendGraphicRequest"}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"},"example":""}],"responses":{"501":{"description":"Not implemented"}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetMap":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Map","operationId":"wms_map_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetMapRequest"}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetMapFormat"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/README.md b/python/README.md index 5f715f2b..fb4057c2 100644 --- a/python/README.md +++ b/python/README.md @@ -55,10 +55,10 @@ import geoengine_openapi_client from geoengine_openapi_client.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://geoengine.io/api +# Defining the host is optional and defaults to http://127.0.0.1:3030/api # See configuration.py for a list of all supported configuration parameters. configuration = geoengine_openapi_client.Configuration( - host = "https://geoengine.io/api" + host = "http://127.0.0.1:3030/api" ) # The client must configure the authentication and authorization parameters @@ -89,7 +89,7 @@ with geoengine_openapi_client.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- @@ -138,8 +138,7 @@ Class | Method | HTTP request | Description *OGCWCSApi* | [**wcs_capabilities_handler**](docs/OGCWCSApi.md#wcs_capabilities_handler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities *OGCWCSApi* | [**wcs_describe_coverage_handler**](docs/OGCWCSApi.md#wcs_describe_coverage_handler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description *OGCWCSApi* | [**wcs_get_coverage_handler**](docs/OGCWCSApi.md#wcs_get_coverage_handler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage -*OGCWFSApi* | [**wfs_capabilities_handler**](docs/OGCWFSApi.md#wfs_capabilities_handler) | **GET** /wfs/{workflow}?request=GetCapabilities | Get WFS Capabilities -*OGCWFSApi* | [**wfs_feature_handler**](docs/OGCWFSApi.md#wfs_feature_handler) | **GET** /wfs/{workflow}?request=GetFeature | Get WCS Features +*OGCWFSApi* | [**wfs_handler**](docs/OGCWFSApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint *OGCWMSApi* | [**wms_capabilities_handler**](docs/OGCWMSApi.md#wms_capabilities_handler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities *OGCWMSApi* | [**wms_legend_graphic_handler**](docs/OGCWMSApi.md#wms_legend_graphic_handler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic *OGCWMSApi* | [**wms_map_handler**](docs/OGCWMSApi.md#wms_map_handler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py index 1e80f1ab..fb04df9b 100644 --- a/python/geoengine_openapi_client/api/ogcwfs_api.py +++ b/python/geoengine_openapi_client/api/ogcwfs_api.py @@ -17,13 +17,11 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictStr +from pydantic import Field, StrictStr, field_validator from typing import Optional from typing_extensions import Annotated from uuid import UUID from geoengine_openapi_client.models.geo_json import GeoJson -from geoengine_openapi_client.models.get_capabilities_request import GetCapabilitiesRequest -from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest from geoengine_openapi_client.models.wfs_service import WfsService from geoengine_openapi_client.models.wfs_version import WfsVersion @@ -46,327 +44,23 @@ def __init__(self, api_client=None) -> None: @validate_call - def wfs_capabilities_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: Optional[WfsVersion], - service: WfsService, - request: GetCapabilitiesRequest, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: - """Get WFS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WfsVersion - :param service: (required) - :type service: WfsService - :param request: (required) - :type request: GetCapabilitiesRequest - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_capabilities_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wfs_capabilities_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: Optional[WfsVersion], - service: WfsService, - request: GetCapabilitiesRequest, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: - """Get WFS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WfsVersion - :param service: (required) - :type service: WfsService - :param request: (required) - :type request: GetCapabilitiesRequest - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_capabilities_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wfs_capabilities_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: Optional[WfsVersion], - service: WfsService, - request: GetCapabilitiesRequest, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Get WFS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WfsVersion - :param service: (required) - :type service: WfsService - :param request: (required) - :type request: GetCapabilitiesRequest - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_capabilities_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wfs_capabilities_handler_serialize( - self, - workflow, - version, - service, - request, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - if version is not None: - _path_params['version'] = version.value - if service is not None: - _path_params['service'] = service.value - if request is not None: - _path_params['request'] = request.value - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/xml' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - # Note: remove query string in path part for ogc endpoints - resource_path='/wfs/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def wfs_feature_handler( + def wfs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], service: WfsService, - request: GetFeatureRequest, type_names: StrictStr, - bbox: StrictStr, - version: Optional[WfsVersion] = None, - time: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - sort_by: Optional[StrictStr] = None, - result_type: Optional[StrictStr] = None, filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, property_name: Optional[StrictStr] = None, query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -380,39 +74,39 @@ def wfs_feature_handler( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> GeoJson: - """Get WCS Features + """OGC WFS endpoint :param workflow: Workflow id (required) :type workflow: str + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str :param service: (required) :type service: WfsService - :param request: (required) - :type request: GetFeatureRequest :param type_names: (required) :type type_names: str - :param bbox: (required) - :type bbox: str - :param version: - :type version: WfsVersion - :param time: - :type time: str - :param srs_name: - :type srs_name: str - :param namespaces: - :type namespaces: str :param count: :type count: int - :param sort_by: - :type sort_by: str - :param result_type: - :type result_type: str :param filter: :type filter: str + :param namespaces: + :type namespaces: str :param property_name: :type property_name: str :param query_resolution: Vendor parameter for specifying a spatial query resolution :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -435,22 +129,22 @@ def wfs_feature_handler( :return: Returns the result object. """ # noqa: E501 - _param = self._wfs_feature_handler_serialize( + _param = self._wfs_handler_serialize( workflow=workflow, - service=service, + bbox=bbox, request=request, + service=service, type_names=type_names, - bbox=bbox, - version=version, - time=time, - srs_name=srs_name, - namespaces=namespaces, count=count, - sort_by=sort_by, - result_type=result_type, filter=filter, + namespaces=namespaces, property_name=property_name, query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -472,23 +166,23 @@ def wfs_feature_handler( @validate_call - def wfs_feature_handler_with_http_info( + def wfs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], service: WfsService, - request: GetFeatureRequest, type_names: StrictStr, - bbox: StrictStr, - version: Optional[WfsVersion] = None, - time: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - sort_by: Optional[StrictStr] = None, - result_type: Optional[StrictStr] = None, filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, property_name: Optional[StrictStr] = None, query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -502,39 +196,39 @@ def wfs_feature_handler_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[GeoJson]: - """Get WCS Features + """OGC WFS endpoint :param workflow: Workflow id (required) :type workflow: str + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str :param service: (required) :type service: WfsService - :param request: (required) - :type request: GetFeatureRequest :param type_names: (required) :type type_names: str - :param bbox: (required) - :type bbox: str - :param version: - :type version: WfsVersion - :param time: - :type time: str - :param srs_name: - :type srs_name: str - :param namespaces: - :type namespaces: str :param count: :type count: int - :param sort_by: - :type sort_by: str - :param result_type: - :type result_type: str :param filter: :type filter: str + :param namespaces: + :type namespaces: str :param property_name: :type property_name: str :param query_resolution: Vendor parameter for specifying a spatial query resolution :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -557,22 +251,22 @@ def wfs_feature_handler_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._wfs_feature_handler_serialize( + _param = self._wfs_handler_serialize( workflow=workflow, - service=service, + bbox=bbox, request=request, + service=service, type_names=type_names, - bbox=bbox, - version=version, - time=time, - srs_name=srs_name, - namespaces=namespaces, count=count, - sort_by=sort_by, - result_type=result_type, filter=filter, + namespaces=namespaces, property_name=property_name, query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -594,23 +288,23 @@ def wfs_feature_handler_with_http_info( @validate_call - def wfs_feature_handler_without_preload_content( + def wfs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], service: WfsService, - request: GetFeatureRequest, type_names: StrictStr, - bbox: StrictStr, - version: Optional[WfsVersion] = None, - time: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - sort_by: Optional[StrictStr] = None, - result_type: Optional[StrictStr] = None, filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, property_name: Optional[StrictStr] = None, query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -624,39 +318,39 @@ def wfs_feature_handler_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get WCS Features + """OGC WFS endpoint :param workflow: Workflow id (required) :type workflow: str + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str :param service: (required) :type service: WfsService - :param request: (required) - :type request: GetFeatureRequest :param type_names: (required) :type type_names: str - :param bbox: (required) - :type bbox: str - :param version: - :type version: WfsVersion - :param time: - :type time: str - :param srs_name: - :type srs_name: str - :param namespaces: - :type namespaces: str :param count: :type count: int - :param sort_by: - :type sort_by: str - :param result_type: - :type result_type: str :param filter: :type filter: str + :param namespaces: + :type namespaces: str :param property_name: :type property_name: str :param query_resolution: Vendor parameter for specifying a spatial query resolution :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -679,22 +373,22 @@ def wfs_feature_handler_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._wfs_feature_handler_serialize( + _param = self._wfs_handler_serialize( workflow=workflow, - service=service, + bbox=bbox, request=request, + service=service, type_names=type_names, - bbox=bbox, - version=version, - time=time, - srs_name=srs_name, - namespaces=namespaces, count=count, - sort_by=sort_by, - result_type=result_type, filter=filter, + namespaces=namespaces, property_name=property_name, query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -711,23 +405,23 @@ def wfs_feature_handler_without_preload_content( return response_data.response - def _wfs_feature_handler_serialize( + def _wfs_handler_serialize( self, workflow, - service, + bbox, request, + service, type_names, - bbox, - version, - time, - srs_name, - namespaces, count, - sort_by, - result_type, filter, + namespaces, property_name, query_resolution, + result_type, + sort_by, + srs_name, + time, + version, _request_auth, _content_type, _headers, @@ -752,61 +446,61 @@ def _wfs_feature_handler_serialize( if workflow is not None: _path_params['workflow'] = workflow # process the query parameters - if version is not None: + if bbox is not None: - _query_params.append(('version', version.value)) + _query_params.append(('bbox', bbox)) - if service is not None: + if count is not None: - _query_params.append(('service', service.value)) + _query_params.append(('count', count)) - if request is not None: + if filter is not None: - _query_params.append(('request', request.value)) + _query_params.append(('filter', filter)) - if type_names is not None: + if namespaces is not None: - _query_params.append(('typeNames', type_names)) + _query_params.append(('namespaces', namespaces)) - if bbox is not None: + if property_name is not None: - _query_params.append(('bbox', bbox)) + _query_params.append(('propertyName', property_name)) - if time is not None: + if query_resolution is not None: - _query_params.append(('time', time)) + _query_params.append(('queryResolution', query_resolution)) - if srs_name is not None: + if request is not None: - _query_params.append(('srsName', srs_name)) + _query_params.append(('request', request)) - if namespaces is not None: + if result_type is not None: - _query_params.append(('namespaces', namespaces)) + _query_params.append(('resultType', result_type)) - if count is not None: + if service is not None: - _query_params.append(('count', count)) + _query_params.append(('service', service.value)) if sort_by is not None: _query_params.append(('sortBy', sort_by)) - if result_type is not None: + if srs_name is not None: - _query_params.append(('resultType', result_type)) + _query_params.append(('srsName', srs_name)) - if filter is not None: + if time is not None: - _query_params.append(('filter', filter)) + _query_params.append(('time', time)) - if property_name is not None: + if type_names is not None: - _query_params.append(('propertyName', property_name)) + _query_params.append(('typeNames', type_names)) - if query_resolution is not None: + if version is not None: - _query_params.append(('queryResolution', query_resolution)) + _query_params.append(('version', version.value)) # process the header parameters # process the form parameters @@ -829,7 +523,6 @@ def _wfs_feature_handler_serialize( return self.api_client.param_serialize( method='GET', - # Note: remove query string in path part for ogc endpoints resource_path='/wfs/{workflow}', path_params=_path_params, query_params=_query_params, diff --git a/python/geoengine_openapi_client/configuration.py b/python/geoengine_openapi_client/configuration.py index a5f5673a..111111a6 100644 --- a/python/geoengine_openapi_client/configuration.py +++ b/python/geoengine_openapi_client/configuration.py @@ -195,7 +195,7 @@ def __init__( ) -> None: """Constructor """ - self._base_path = "https://geoengine.io/api" if host is None else host + self._base_path = "http://127.0.0.1:3030/api" if host is None else host """Default Base url """ self.server_index = 0 if server_index is None and host is None else server_index @@ -526,14 +526,8 @@ def get_host_settings(self) -> List[HostSetting]: """ return [ { - 'url': "{server}/api", + 'url': "http://127.0.0.1:3030/api", 'description': "No description provided", - 'variables': { - 'server': { - 'description': "No description provided", - 'default_value': "https://geoengine.io", - } - } } ] diff --git a/python/test/test_ogcwfs_api.py b/python/test/test_ogcwfs_api.py index 6fffd295..4b2b0b0c 100644 --- a/python/test/test_ogcwfs_api.py +++ b/python/test/test_ogcwfs_api.py @@ -27,17 +27,10 @@ def setUp(self) -> None: def tearDown(self) -> None: pass - def test_wfs_capabilities_handler(self) -> None: - """Test case for wfs_capabilities_handler + def test_wfs_handler(self) -> None: + """Test case for wfs_handler - Get WFS Capabilities - """ - pass - - def test_wfs_feature_handler(self) -> None: - """Test case for wfs_feature_handler - - Get WCS Features + OGC WFS endpoint """ pass diff --git a/typescript/README.md b/typescript/README.md index 91266541..ee9c154d 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -1,6 +1,6 @@ # @geoengine/openapi-client@0.0.30 -A TypeScript SDK client for the geoengine.io API. +A TypeScript SDK client for the 127.0.0.1 API. ## Usage @@ -52,7 +52,7 @@ example().catch(console.error); ### API Endpoints -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Class | Method | HTTP request | Description | ----- | ------ | ------------ | ------------- @@ -101,8 +101,7 @@ All URIs are relative to *https://geoengine.io/api* *OGCWCSApi* | [**wcsCapabilitiesHandler**](docs/OGCWCSApi.md#wcscapabilitieshandler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities *OGCWCSApi* | [**wcsDescribeCoverageHandler**](docs/OGCWCSApi.md#wcsdescribecoveragehandler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description *OGCWCSApi* | [**wcsGetCoverageHandler**](docs/OGCWCSApi.md#wcsgetcoveragehandler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage -*OGCWFSApi* | [**wfsCapabilitiesHandler**](docs/OGCWFSApi.md#wfscapabilitieshandler) | **GET** /wfs/{workflow}?request=GetCapabilities | Get WFS Capabilities -*OGCWFSApi* | [**wfsFeatureHandler**](docs/OGCWFSApi.md#wfsfeaturehandler) | **GET** /wfs/{workflow}?request=GetFeature | Get WCS Features +*OGCWFSApi* | [**wfsHandler**](docs/OGCWFSApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint *OGCWMSApi* | [**wmsCapabilitiesHandler**](docs/OGCWMSApi.md#wmscapabilitieshandler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities *OGCWMSApi* | [**wmsLegendGraphicHandler**](docs/OGCWMSApi.md#wmslegendgraphichandler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic *OGCWMSApi* | [**wmsMapHandler**](docs/OGCWMSApi.md#wmsmaphandler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts index f4b165c7..af5bf03e 100644 --- a/typescript/dist/apis/OGCWFSApi.d.ts +++ b/typescript/dist/apis/OGCWFSApi.d.ts @@ -10,48 +10,42 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GeoJson, GetCapabilitiesRequest, GetFeatureRequest, WfsService, WfsVersion } from '../models/index'; -export interface WfsCapabilitiesHandlerRequest { - workflow: string; - version: WfsVersion | null; - service: WfsService; - request: GetCapabilitiesRequest; -} -export interface WfsFeatureHandlerRequest { +import type { GeoJson, WfsService, WfsVersion } from '../models/index'; +export interface WfsHandlerRequest { workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; service: WfsService; - request: GetFeatureRequest; typeNames: string; - bbox: string; - version?: WfsVersion | null; - time?: string; - srsName?: string | null; - namespaces?: string | null; count?: number | null; - sortBy?: string | null; - resultType?: string | null; filter?: string | null; + namespaces?: string | null; propertyName?: string | null; queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; } /** * */ export declare class OGCWFSApi extends runtime.BaseAPI { /** - * Get WFS Capabilities + * OGC WFS endpoint */ - wfsCapabilitiesHandlerRaw(requestParameters: WfsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** - * Get WFS Capabilities + * OGC WFS endpoint */ - wfsCapabilitiesHandler(requestParameters: WfsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WCS Features - */ - wfsFeatureHandlerRaw(requestParameters: WfsFeatureHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Features - */ - wfsFeatureHandler(requestParameters: WfsFeatureHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } +/** + * @export + */ +export declare const WfsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js index 07657086..c537f958 100644 --- a/typescript/dist/apis/OGCWFSApi.js +++ b/typescript/dist/apis/OGCWFSApi.js @@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.OGCWFSApi = void 0; +exports.WfsHandlerRequestEnum = exports.OGCWFSApi = void 0; const runtime = require("../runtime"); const index_1 = require("../models/index"); /** @@ -30,121 +30,67 @@ const index_1 = require("../models/index"); */ class OGCWFSApi extends runtime.BaseAPI { /** - * Get WFS Capabilities + * OGC WFS endpoint */ - wfsCapabilitiesHandlerRaw(requestParameters, initOverrides) { + wfsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsCapabilitiesHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wfsCapabilitiesHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsCapabilitiesHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsCapabilitiesHandler().'); - } - const queryParameters = {}; - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wfs/{workflow}?request=GetCapabilities`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * Get WFS Capabilities - */ - wfsCapabilitiesHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsCapabilitiesHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * Get WCS Features - */ - wfsFeatureHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsFeatureHandler().'); + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsFeatureHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsFeatureHandler().'); + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); } if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsFeatureHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsFeatureHandler().'); + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } if (requestParameters['bbox'] != null) { queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; } if (requestParameters['namespaces'] != null) { queryParameters['namespaces'] = requestParameters['namespaces']; } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } if (requestParameters['resultType'] != null) { queryParameters['resultType'] = requestParameters['resultType']; } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -154,7 +100,7 @@ class OGCWFSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wfs/{workflow}?request=GetFeature`; + let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -166,13 +112,20 @@ class OGCWFSApi extends runtime.BaseAPI { }); } /** - * Get WCS Features + * OGC WFS endpoint */ - wfsFeatureHandler(requestParameters, initOverrides) { + wfsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsFeatureHandlerRaw(requestParameters, initOverrides); + const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } } exports.OGCWFSApi = OGCWFSApi; +/** + * @export + */ +exports.WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts index f4b165c7..af5bf03e 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWFSApi.d.ts @@ -10,48 +10,42 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GeoJson, GetCapabilitiesRequest, GetFeatureRequest, WfsService, WfsVersion } from '../models/index'; -export interface WfsCapabilitiesHandlerRequest { - workflow: string; - version: WfsVersion | null; - service: WfsService; - request: GetCapabilitiesRequest; -} -export interface WfsFeatureHandlerRequest { +import type { GeoJson, WfsService, WfsVersion } from '../models/index'; +export interface WfsHandlerRequest { workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; service: WfsService; - request: GetFeatureRequest; typeNames: string; - bbox: string; - version?: WfsVersion | null; - time?: string; - srsName?: string | null; - namespaces?: string | null; count?: number | null; - sortBy?: string | null; - resultType?: string | null; filter?: string | null; + namespaces?: string | null; propertyName?: string | null; queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; } /** * */ export declare class OGCWFSApi extends runtime.BaseAPI { /** - * Get WFS Capabilities + * OGC WFS endpoint */ - wfsCapabilitiesHandlerRaw(requestParameters: WfsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** - * Get WFS Capabilities + * OGC WFS endpoint */ - wfsCapabilitiesHandler(requestParameters: WfsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WCS Features - */ - wfsFeatureHandlerRaw(requestParameters: WfsFeatureHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Features - */ - wfsFeatureHandler(requestParameters: WfsFeatureHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } +/** + * @export + */ +export declare const WfsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js index 9bfc35c8..3a083ad6 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.js +++ b/typescript/dist/esm/apis/OGCWFSApi.js @@ -27,121 +27,67 @@ import { GeoJsonFromJSON, } from '../models/index'; */ export class OGCWFSApi extends runtime.BaseAPI { /** - * Get WFS Capabilities + * OGC WFS endpoint */ - wfsCapabilitiesHandlerRaw(requestParameters, initOverrides) { + wfsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsCapabilitiesHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wfsCapabilitiesHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsCapabilitiesHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsCapabilitiesHandler().'); - } - const queryParameters = {}; - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wfs/{workflow}?request=GetCapabilities`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * Get WFS Capabilities - */ - wfsCapabilitiesHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsCapabilitiesHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * Get WCS Features - */ - wfsFeatureHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsFeatureHandler().'); + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsFeatureHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsFeatureHandler().'); + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); } if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsFeatureHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsFeatureHandler().'); + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } if (requestParameters['bbox'] != null) { queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; } if (requestParameters['namespaces'] != null) { queryParameters['namespaces'] = requestParameters['namespaces']; } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } if (requestParameters['resultType'] != null) { queryParameters['resultType'] = requestParameters['resultType']; } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -151,7 +97,7 @@ export class OGCWFSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wfs/{workflow}?request=GetFeature`; + let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -163,12 +109,19 @@ export class OGCWFSApi extends runtime.BaseAPI { }); } /** - * Get WCS Features + * OGC WFS endpoint */ - wfsFeatureHandler(requestParameters, initOverrides) { + wfsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsFeatureHandlerRaw(requestParameters, initOverrides); + const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } } +/** + * @export + */ +export const WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; diff --git a/typescript/dist/esm/runtime.js b/typescript/dist/esm/runtime.js index d8d84515..ddb74be0 100644 --- a/typescript/dist/esm/runtime.js +++ b/typescript/dist/esm/runtime.js @@ -20,7 +20,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); +export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); export class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/dist/runtime.js b/typescript/dist/runtime.js index f2d35eb0..f1d84562 100644 --- a/typescript/dist/runtime.js +++ b/typescript/dist/runtime.js @@ -27,7 +27,7 @@ exports.querystring = querystring; exports.exists = exists; exports.mapValues = mapValues; exports.canConsumeForm = canConsumeForm; -exports.BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); +exports.BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/docs/DatasetsApi.md b/typescript/docs/DatasetsApi.md index 74478f19..644940f4 100644 --- a/typescript/docs/DatasetsApi.md +++ b/typescript/docs/DatasetsApi.md @@ -1,6 +1,6 @@ # DatasetsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/GeneralApi.md b/typescript/docs/GeneralApi.md index aae4f23d..af2a6a74 100644 --- a/typescript/docs/GeneralApi.md +++ b/typescript/docs/GeneralApi.md @@ -1,6 +1,6 @@ # GeneralApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/LayersApi.md b/typescript/docs/LayersApi.md index fb62468e..ff45f377 100644 --- a/typescript/docs/LayersApi.md +++ b/typescript/docs/LayersApi.md @@ -1,6 +1,6 @@ # LayersApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/MLApi.md b/typescript/docs/MLApi.md index 2fac8af1..94b75c90 100644 --- a/typescript/docs/MLApi.md +++ b/typescript/docs/MLApi.md @@ -1,6 +1,6 @@ # MLApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWCSApi.md b/typescript/docs/OGCWCSApi.md index aa49fe9b..b029fcf9 100644 --- a/typescript/docs/OGCWCSApi.md +++ b/typescript/docs/OGCWCSApi.md @@ -1,6 +1,6 @@ # OGCWCSApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index f60d257f..6eb38511 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -1,19 +1,18 @@ # OGCWFSApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| -| [**wfsCapabilitiesHandler**](OGCWFSApi.md#wfscapabilitieshandler) | **GET** /wfs/{workflow}?request=GetCapabilities | Get WFS Capabilities | -| [**wfsFeatureHandler**](OGCWFSApi.md#wfsfeaturehandler) | **GET** /wfs/{workflow}?request=GetFeature | Get WCS Features | +| [**wfsHandler**](OGCWFSApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint | -## wfsCapabilitiesHandler +## wfsHandler -> string wfsCapabilitiesHandler(workflow, version, service, request) +> GeoJson wfsHandler(workflow, bbox, request, service, typeNames, count, filter, namespaces, propertyName, queryResolution, resultType, sortBy, srsName, time, version) -Get WFS Capabilities +OGC WFS endpoint ### Example @@ -22,85 +21,7 @@ import { Configuration, OGCWFSApi, } from '@geoengine/openapi-client'; -import type { WfsCapabilitiesHandlerRequest } from '@geoengine/openapi-client'; - -async function example() { - console.log("🚀 Testing @geoengine/openapi-client SDK..."); - const config = new Configuration({ - // Configure HTTP bearer authorization: session_token - accessToken: "YOUR BEARER TOKEN", - }); - const api = new OGCWFSApi(config); - - const body = { - // string | Workflow id - workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // WfsVersion - version: ..., - // WfsService - service: ..., - // GetCapabilitiesRequest - request: ..., - } satisfies WfsCapabilitiesHandlerRequest; - - try { - const data = await api.wfsCapabilitiesHandler(body); - console.log(data); - } catch (error) { - console.error(error); - } -} - -// Run the test -example().catch(console.error); -``` - -### Parameters - - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **version** | `WfsVersion` | | [Defaults to `undefined`] [Enum: 2.0.0] | -| **service** | `WfsService` | | [Defaults to `undefined`] [Enum: WFS] | -| **request** | `GetCapabilitiesRequest` | | [Defaults to `undefined`] [Enum: GetCapabilities] | - -### Return type - -**string** - -### Authorization - -[session_token](../README.md#session_token) - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: `text/xml` - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | OK | - | - -[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) - - -## wfsFeatureHandler - -> GeoJson wfsFeatureHandler(workflow, service, request, typeNames, bbox, version, time, srsName, namespaces, count, sortBy, resultType, filter, propertyName, queryResolution) - -Get WCS Features - -### Example - -```ts -import { - Configuration, - OGCWFSApi, -} from '@geoengine/openapi-client'; -import type { WfsFeatureHandlerRequest } from '@geoengine/openapi-client'; +import type { WfsHandlerRequest } from '@geoengine/openapi-client'; async function example() { console.log("🚀 Testing @geoengine/openapi-client SDK..."); @@ -113,38 +34,38 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, + // string + bbox: -90,-180,90,180, + // 'GetCapabilities' | 'GetFeature' | type of WFS request + request: request_example, // WfsService service: ..., - // GetFeatureRequest - request: ..., // string typeNames: , - // string - bbox: -90,-180,90,180, - // WfsVersion (optional) - version: ..., - // string (optional) - time: 2014-04-01T12:00:00.000Z, - // string (optional) - srsName: EPSG:4326, - // string (optional) - namespaces: namespaces_example, // number (optional) count: 789, // string (optional) - sortBy: sortBy_example, - // string (optional) - resultType: resultType_example, - // string (optional) filter: filter_example, // string (optional) + namespaces: namespaces_example, + // string (optional) propertyName: propertyName_example, // string | Vendor parameter for specifying a spatial query resolution (optional) queryResolution: queryResolution_example, - } satisfies WfsFeatureHandlerRequest; + // string (optional) + resultType: resultType_example, + // string (optional) + sortBy: sortBy_example, + // string (optional) + srsName: EPSG:4326, + // string (optional) + time: 2014-04-01T12:00:00.000Z, + // WfsVersion (optional) + version: ..., + } satisfies WfsHandlerRequest; try { - const data = await api.wfsFeatureHandler(body); + const data = await api.wfsHandler(body); console.log(data); } catch (error) { console.error(error); @@ -161,20 +82,20 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | +| **bbox** | `string` | | [Defaults to `undefined`] | +| **request** | `GetCapabilities`, `GetFeature` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | | **service** | `WfsService` | | [Defaults to `undefined`] [Enum: WFS] | -| **request** | `GetFeatureRequest` | | [Defaults to `undefined`] [Enum: GetFeature] | | **typeNames** | `string` | | [Defaults to `undefined`] | -| **bbox** | `string` | | [Defaults to `undefined`] | -| **version** | `WfsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 2.0.0] | -| **time** | `string` | | [Optional] [Defaults to `undefined`] | -| **srsName** | `string` | | [Optional] [Defaults to `undefined`] | -| **namespaces** | `string` | | [Optional] [Defaults to `undefined`] | | **count** | `number` | | [Optional] [Defaults to `undefined`] | -| **sortBy** | `string` | | [Optional] [Defaults to `undefined`] | -| **resultType** | `string` | | [Optional] [Defaults to `undefined`] | | **filter** | `string` | | [Optional] [Defaults to `undefined`] | +| **namespaces** | `string` | | [Optional] [Defaults to `undefined`] | | **propertyName** | `string` | | [Optional] [Defaults to `undefined`] | | **queryResolution** | `string` | Vendor parameter for specifying a spatial query resolution | [Optional] [Defaults to `undefined`] | +| **resultType** | `string` | | [Optional] [Defaults to `undefined`] | +| **sortBy** | `string` | | [Optional] [Defaults to `undefined`] | +| **srsName** | `string` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **version** | `WfsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 2.0.0] | ### Return type diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index 4741944d..80cf4f2a 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -1,6 +1,6 @@ # OGCWMSApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/PermissionsApi.md b/typescript/docs/PermissionsApi.md index 2488d005..e6d74059 100644 --- a/typescript/docs/PermissionsApi.md +++ b/typescript/docs/PermissionsApi.md @@ -1,6 +1,6 @@ # PermissionsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/PlotQueryRectangle.md b/typescript/docs/PlotQueryRectangle.md new file mode 100644 index 00000000..c524ecb9 --- /dev/null +++ b/typescript/docs/PlotQueryRectangle.md @@ -0,0 +1,39 @@ + +# PlotQueryRectangle + +A spatio-temporal rectangle with a specified resolution + +## Properties + +Name | Type +------------ | ------------- +`spatialBounds` | [BoundingBox2D](BoundingBox2D.md) +`spatialResolution` | [SpatialResolution](SpatialResolution.md) +`timeInterval` | [TimeInterval](TimeInterval.md) + +## Example + +```typescript +import type { PlotQueryRectangle } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "spatialBounds": null, + "spatialResolution": null, + "timeInterval": null, +} satisfies PlotQueryRectangle + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as PlotQueryRectangle +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/PlotsApi.md b/typescript/docs/PlotsApi.md index 74416d28..fa6e82fa 100644 --- a/typescript/docs/PlotsApi.md +++ b/typescript/docs/PlotsApi.md @@ -1,6 +1,6 @@ # PlotsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/ProjectsApi.md b/typescript/docs/ProjectsApi.md index be9574d5..ac5907cb 100644 --- a/typescript/docs/ProjectsApi.md +++ b/typescript/docs/ProjectsApi.md @@ -1,6 +1,6 @@ # ProjectsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/RasterQueryRectangle.md b/typescript/docs/RasterQueryRectangle.md new file mode 100644 index 00000000..65063a5f --- /dev/null +++ b/typescript/docs/RasterQueryRectangle.md @@ -0,0 +1,39 @@ + +# RasterQueryRectangle + +A spatio-temporal rectangle with a specified resolution + +## Properties + +Name | Type +------------ | ------------- +`spatialBounds` | [SpatialPartition2D](SpatialPartition2D.md) +`spatialResolution` | [SpatialResolution](SpatialResolution.md) +`timeInterval` | [TimeInterval](TimeInterval.md) + +## Example + +```typescript +import type { RasterQueryRectangle } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "spatialBounds": null, + "spatialResolution": null, + "timeInterval": null, +} satisfies RasterQueryRectangle + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as RasterQueryRectangle +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/SessionApi.md b/typescript/docs/SessionApi.md index b79cd89f..a196058b 100644 --- a/typescript/docs/SessionApi.md +++ b/typescript/docs/SessionApi.md @@ -1,6 +1,6 @@ # SessionApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/SpatialReferencesApi.md b/typescript/docs/SpatialReferencesApi.md index a0fcccbf..599b322a 100644 --- a/typescript/docs/SpatialReferencesApi.md +++ b/typescript/docs/SpatialReferencesApi.md @@ -1,6 +1,6 @@ # SpatialReferencesApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/StacBand.md b/typescript/docs/StacBand.md new file mode 100644 index 00000000..e5d76d3f --- /dev/null +++ b/typescript/docs/StacBand.md @@ -0,0 +1,38 @@ + +# StacBand + + +## Properties + +Name | Type +------------ | ------------- +`dataType` | [RasterDataType](RasterDataType.md) +`name` | string +`noDataValue` | number + +## Example + +```typescript +import type { StacBand } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "dataType": null, + "name": null, + "noDataValue": null, +} satisfies StacBand + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as StacBand +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/StacZone.md b/typescript/docs/StacZone.md new file mode 100644 index 00000000..8c147b24 --- /dev/null +++ b/typescript/docs/StacZone.md @@ -0,0 +1,36 @@ + +# StacZone + + +## Properties + +Name | Type +------------ | ------------- +`epsg` | number +`name` | string + +## Example + +```typescript +import type { StacZone } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "epsg": null, + "name": null, +} satisfies StacZone + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as StacZone +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/TasksApi.md b/typescript/docs/TasksApi.md index dac812ec..d8414212 100644 --- a/typescript/docs/TasksApi.md +++ b/typescript/docs/TasksApi.md @@ -1,6 +1,6 @@ # TasksApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UploadsApi.md b/typescript/docs/UploadsApi.md index b5b5dc75..9c749ed0 100644 --- a/typescript/docs/UploadsApi.md +++ b/typescript/docs/UploadsApi.md @@ -1,6 +1,6 @@ # UploadsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UserApi.md b/typescript/docs/UserApi.md index 52310dad..ec95ace7 100644 --- a/typescript/docs/UserApi.md +++ b/typescript/docs/UserApi.md @@ -1,6 +1,6 @@ # UserApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/VectorQueryRectangle.md b/typescript/docs/VectorQueryRectangle.md new file mode 100644 index 00000000..5b1eb731 --- /dev/null +++ b/typescript/docs/VectorQueryRectangle.md @@ -0,0 +1,39 @@ + +# VectorQueryRectangle + +A spatio-temporal rectangle with a specified resolution + +## Properties + +Name | Type +------------ | ------------- +`spatialBounds` | [BoundingBox2D](BoundingBox2D.md) +`spatialResolution` | [SpatialResolution](SpatialResolution.md) +`timeInterval` | [TimeInterval](TimeInterval.md) + +## Example + +```typescript +import type { VectorQueryRectangle } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { + "spatialBounds": null, + "spatialResolution": null, + "timeInterval": null, +} satisfies VectorQueryRectangle + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as VectorQueryRectangle +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/WorkflowsApi.md b/typescript/docs/WorkflowsApi.md index 73948165..d2404b87 100644 --- a/typescript/docs/WorkflowsApi.md +++ b/typescript/docs/WorkflowsApi.md @@ -1,6 +1,6 @@ # WorkflowsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts index cce07e79..54afd543 100644 --- a/typescript/src/apis/OGCWFSApi.ts +++ b/typescript/src/apis/OGCWFSApi.ts @@ -16,47 +16,34 @@ import * as runtime from '../runtime'; import type { GeoJson, - GetCapabilitiesRequest, - GetFeatureRequest, WfsService, WfsVersion, } from '../models/index'; import { GeoJsonFromJSON, GeoJsonToJSON, - GetCapabilitiesRequestFromJSON, - GetCapabilitiesRequestToJSON, - GetFeatureRequestFromJSON, - GetFeatureRequestToJSON, WfsServiceFromJSON, WfsServiceToJSON, WfsVersionFromJSON, WfsVersionToJSON, } from '../models/index'; -export interface WfsCapabilitiesHandlerRequest { - workflow: string; - version: WfsVersion | null; - service: WfsService; - request: GetCapabilitiesRequest; -} - -export interface WfsFeatureHandlerRequest { +export interface WfsHandlerRequest { workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; service: WfsService; - request: GetFeatureRequest; typeNames: string; - bbox: string; - version?: WfsVersion | null; - time?: string; - srsName?: string | null; - namespaces?: string | null; count?: number | null; - sortBy?: string | null; - resultType?: string | null; filter?: string | null; + namespaces?: string | null; propertyName?: string | null; queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; } /** @@ -65,173 +52,100 @@ export interface WfsFeatureHandlerRequest { export class OGCWFSApi extends runtime.BaseAPI { /** - * Get WFS Capabilities + * OGC WFS endpoint */ - async wfsCapabilitiesHandlerRaw(requestParameters: WfsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError( 'workflow', - 'Required parameter "workflow" was null or undefined when calling wfsCapabilitiesHandler().' - ); - } - - if (requestParameters['version'] == null) { - throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wfsCapabilitiesHandler().' + 'Required parameter "workflow" was null or undefined when calling wfsHandler().' ); } - if (requestParameters['service'] == null) { + if (requestParameters['bbox'] == null) { throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wfsCapabilitiesHandler().' + 'bbox', + 'Required parameter "bbox" was null or undefined when calling wfsHandler().' ); } if (requestParameters['request'] == null) { throw new runtime.RequiredError( 'request', - 'Required parameter "request" was null or undefined when calling wfsCapabilitiesHandler().' - ); - } - - const queryParameters: any = {}; - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wfs/{workflow}?request=GetCapabilities`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } - } - - /** - * Get WFS Capabilities - */ - async wfsCapabilitiesHandler(requestParameters: WfsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wfsCapabilitiesHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - - /** - * Get WCS Features - */ - async wfsFeatureHandlerRaw(requestParameters: WfsFeatureHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wfsFeatureHandler().' + 'Required parameter "request" was null or undefined when calling wfsHandler().' ); } if (requestParameters['service'] == null) { throw new runtime.RequiredError( 'service', - 'Required parameter "service" was null or undefined when calling wfsFeatureHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wfsFeatureHandler().' + 'Required parameter "service" was null or undefined when calling wfsHandler().' ); } if (requestParameters['typeNames'] == null) { throw new runtime.RequiredError( 'typeNames', - 'Required parameter "typeNames" was null or undefined when calling wfsFeatureHandler().' - ); - } - - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wfsFeatureHandler().' + 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' ); } const queryParameters: any = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; } - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } if (requestParameters['sortBy'] != null) { queryParameters['sortBy'] = requestParameters['sortBy']; } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } const headerParameters: runtime.HTTPHeaders = {}; @@ -245,7 +159,7 @@ export class OGCWFSApi extends runtime.BaseAPI { } } - let urlPath = `/wfs/{workflow}?request=GetFeature`; + let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = await this.request({ @@ -259,11 +173,20 @@ export class OGCWFSApi extends runtime.BaseAPI { } /** - * Get WCS Features + * OGC WFS endpoint */ - async wfsFeatureHandler(requestParameters: WfsFeatureHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wfsFeatureHandlerRaw(requestParameters, initOverrides); + async wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wfsHandlerRaw(requestParameters, initOverrides); return await response.value(); } } + +/** + * @export + */ +export const WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +} as const; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/src/runtime.ts b/typescript/src/runtime.ts index 2f290740..ee33a1d3 100644 --- a/typescript/src/runtime.ts +++ b/typescript/src/runtime.ts @@ -13,7 +13,7 @@ */ -export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); +export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); export interface ConfigurationParameters { basePath?: string; // override base path diff --git a/util/ui-dev-update.sh b/util/ui-dev-update.sh index 70c28906..cf1645a3 100755 --- a/util/ui-dev-update.sh +++ b/util/ui-dev-update.sh @@ -12,7 +12,7 @@ set -e wget -O .generation/input/openapi.json \ - https://raw.githubusercontent.com/geo-engine/geoengine/refs/heads/main/openapi.json + http://localhost:3030/api/api-docs/openapi.json .generation/generate.py --no-spec-fetch --no-container-build python .generation/generate.py --no-spec-fetch --no-container-build typescript @@ -46,6 +46,6 @@ fi cd ../geoengine-ui npm uninstall @geoengine/openapi-client -npm install @geoengine/openapi-client@https://gitpkg.now.sh/geo-engine/openapi-client/typescript?${current_branch} +npm install "https://github.com/geo-engine/openapi-client.git#${current_branch}" --save cd - From 787c79c6045aec6c02068863b3fa97c4deb46f2d Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 25 Nov 2025 10:42:10 +0100 Subject: [PATCH 02/15] update openapi-client --- .generation/input/openapi.json | 2 +- python/README.md | 4 +- .../api/ogcwms_api.py | 1069 ++++------------- python/test/test_ogcwms_api.py | 18 +- typescript/README.md | 4 +- typescript/dist/apis/OGCWMSApi.d.ts | 74 +- typescript/dist/apis/OGCWMSApi.js | 230 ++-- typescript/dist/esm/apis/OGCWMSApi.d.ts | 74 +- typescript/dist/esm/apis/OGCWMSApi.js | 228 ++-- typescript/docs/OGCWMSApi.md | 247 +--- typescript/src/apis/OGCWMSApi.ts | 344 ++---- util/ui-dev-update.sh | 3 +- 12 files changed, 590 insertions(+), 1707 deletions(-) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 4384ce15..c3ee9213 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=DescribeCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage Description","operationId":"wcs_describe_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/DescribeCoverageRequest"}},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Capabilities","operationId":"wcs_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage","operationId":"wcs_get_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageRequest"}},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Capabilities","operationId":"wms_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetLegendGraphic":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Legend Graphic","operationId":"wms_legend_graphic_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsVersion"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetLegendGraphicRequest"}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"},"example":""}],"responses":{"501":{"description":"Not implemented"}},"security":[{"session_token":[]}]}},"/wms/{workflow}?request=GetMap":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Map","operationId":"wms_map_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetMapRequest"}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetMapFormat"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=DescribeCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage Description","operationId":"wcs_describe_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/DescribeCoverageRequest"}},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Capabilities","operationId":"wcs_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage","operationId":"wcs_get_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageRequest"}},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Capabilities","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":true,"schema":{"type":"string"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":true,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/README.md b/python/README.md index fb4057c2..824ad688 100644 --- a/python/README.md +++ b/python/README.md @@ -139,9 +139,7 @@ Class | Method | HTTP request | Description *OGCWCSApi* | [**wcs_describe_coverage_handler**](docs/OGCWCSApi.md#wcs_describe_coverage_handler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description *OGCWCSApi* | [**wcs_get_coverage_handler**](docs/OGCWCSApi.md#wcs_get_coverage_handler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage *OGCWFSApi* | [**wfs_handler**](docs/OGCWFSApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint -*OGCWMSApi* | [**wms_capabilities_handler**](docs/OGCWMSApi.md#wms_capabilities_handler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities -*OGCWMSApi* | [**wms_legend_graphic_handler**](docs/OGCWMSApi.md#wms_legend_graphic_handler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic -*OGCWMSApi* | [**wms_map_handler**](docs/OGCWMSApi.md#wms_map_handler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map +*OGCWMSApi* | [**wms_handler**](docs/OGCWMSApi.md#wms_handler) | **GET** /wms/{workflow} | Get WMS Capabilities *PermissionsApi* | [**add_permission_handler**](docs/PermissionsApi.md#add_permission_handler) | **PUT** /permissions | Adds a new permission. *PermissionsApi* | [**get_resource_permissions_handler**](docs/PermissionsApi.md#get_resource_permissions_handler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. *PermissionsApi* | [**remove_permission_handler**](docs/PermissionsApi.md#remove_permission_handler) | **DELETE** /permissions | Removes an existing permission. diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py index 8e143da6..b0755415 100644 --- a/python/geoengine_openapi_client/api/ogcwms_api.py +++ b/python/geoengine_openapi_client/api/ogcwms_api.py @@ -17,16 +17,12 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictBool, StrictBytes, StrictStr -from typing import Optional, Tuple, Union +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional from typing_extensions import Annotated from uuid import UUID from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat -from geoengine_openapi_client.models.get_capabilities_request import GetCapabilitiesRequest -from geoengine_openapi_client.models.get_legend_graphic_request import GetLegendGraphicRequest from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat -from geoengine_openapi_client.models.get_map_format import GetMapFormat -from geoengine_openapi_client.models.get_map_request import GetMapRequest from geoengine_openapi_client.models.wms_service import WmsService from geoengine_openapi_client.models.wms_version import WmsVersion @@ -49,657 +45,29 @@ def __init__(self, api_client=None) -> None: @validate_call - def wms_capabilities_handler( + def wms_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: Optional[WmsVersion], - service: WmsService, - request: GetCapabilitiesRequest, - format: Optional[GetCapabilitiesFormat], - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: - """Get WMS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetCapabilitiesRequest - :param format: (required) - :type format: GetCapabilitiesFormat - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_capabilities_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - format=format, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wms_capabilities_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: Optional[WmsVersion], - service: WmsService, - request: GetCapabilitiesRequest, - format: Optional[GetCapabilitiesFormat], - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: - """Get WMS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetCapabilitiesRequest - :param format: (required) - :type format: GetCapabilitiesFormat - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_capabilities_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - format=format, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wms_capabilities_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: Optional[WmsVersion], - service: WmsService, - request: GetCapabilitiesRequest, - format: Optional[GetCapabilitiesFormat], - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Get WMS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetCapabilitiesRequest - :param format: (required) - :type format: GetCapabilitiesFormat - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_capabilities_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - format=format, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wms_capabilities_handler_serialize( - self, - workflow, - version, - service, - request, - format, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - if version is not None: - _path_params['version'] = version.value - if service is not None: - _path_params['service'] = service.value - if request is not None: - _path_params['request'] = request.value - if format is not None: - _path_params['format'] = format.value - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/xml' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - # Note: remove query string in path part for ogc endpoints - resource_path='/wms/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def wms_legend_graphic_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: WmsVersion, - service: WmsService, - request: GetLegendGraphicRequest, - layer: StrictStr, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """Get WMS Legend Graphic - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetLegendGraphicRequest - :param layer: (required) - :type layer: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_legend_graphic_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - layer=layer, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '501': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wms_legend_graphic_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: WmsVersion, - service: WmsService, - request: GetLegendGraphicRequest, - layer: StrictStr, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """Get WMS Legend Graphic - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetLegendGraphicRequest - :param layer: (required) - :type layer: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_legend_graphic_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - layer=layer, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '501': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wms_legend_graphic_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: WmsVersion, - service: WmsService, - request: GetLegendGraphicRequest, - layer: StrictStr, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Get WMS Legend Graphic - - - :param workflow: Workflow id (required) - :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetLegendGraphicRequest - :param layer: (required) - :type layer: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_legend_graphic_handler_serialize( - workflow=workflow, - version=version, - service=service, - request=request, - layer=layer, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '501': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wms_legend_graphic_handler_serialize( - self, - workflow, - version, - service, - request, - layer, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - if version is not None: - _path_params['version'] = version.value - if service is not None: - _path_params['service'] = service.value - if request is not None: - _path_params['request'] = request.value - if layer is not None: - _path_params['layer'] = layer - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - # Note: remove query string in path part for ogc endpoints - resource_path='/wms/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def wms_map_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - version: WmsVersion, - service: WmsService, - request: GetMapRequest, - width: Annotated[int, Field(strict=True, ge=0)], - height: Annotated[int, Field(strict=True, ge=0)], bbox: StrictStr, - format: GetMapFormat, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, styles: StrictStr, - crs: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, + width: Annotated[int, Field(strict=True, ge=0)], bgcolor: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, elevation: Optional[StrictStr] = None, exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -712,46 +80,52 @@ def wms_map_handler( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """Get WMS Map + ) -> str: + """Get WMS Capabilities :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetMapRequest - :param width: (required) - :type width: int - :param height: (required) - :type height: int :param bbox: (required) :type bbox: str - :param format: (required) - :type format: GetMapFormat + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str :param layers: (required) :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WmsService :param styles: (required) :type styles: str - :param crs: - :type crs: str - :param time: - :type time: str - :param transparent: - :type transparent: bool + :param width: (required) + :type width: int :param bgcolor: :type bgcolor: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str + :param crs: + :type crs: str :param elevation: :type elevation: str :param exceptions: :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str + :param time: + :type time: str + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -774,25 +148,28 @@ def wms_map_handler( :return: Returns the result object. """ # noqa: E501 - _param = self._wms_map_handler_serialize( + _param = self._wms_handler_serialize( workflow=workflow, - version=version, - service=service, - request=request, - width=width, - height=height, bbox=bbox, - format=format, + height=height, + layer=layer, layers=layers, + query_layers=query_layers, + request=request, + service=service, styles=styles, - crs=crs, - time=time, - transparent=transparent, + width=width, bgcolor=bgcolor, - sld=sld, - sld_body=sld_body, + crs=crs, elevation=elevation, exceptions=exceptions, + format=format, + info_format=info_format, + sld=sld, + sld_body=sld_body, + time=time, + transparent=transparent, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -800,7 +177,7 @@ def wms_map_handler( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -814,26 +191,29 @@ def wms_map_handler( @validate_call - def wms_map_handler_with_http_info( + def wms_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WmsVersion, - service: WmsService, - request: GetMapRequest, - width: Annotated[int, Field(strict=True, ge=0)], - height: Annotated[int, Field(strict=True, ge=0)], bbox: StrictStr, - format: GetMapFormat, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, styles: StrictStr, - crs: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, + width: Annotated[int, Field(strict=True, ge=0)], bgcolor: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, elevation: Optional[StrictStr] = None, exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -846,46 +226,52 @@ def wms_map_handler_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """Get WMS Map + ) -> ApiResponse[str]: + """Get WMS Capabilities :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetMapRequest - :param width: (required) - :type width: int - :param height: (required) - :type height: int :param bbox: (required) :type bbox: str - :param format: (required) - :type format: GetMapFormat + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str :param layers: (required) :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WmsService :param styles: (required) :type styles: str - :param crs: - :type crs: str - :param time: - :type time: str - :param transparent: - :type transparent: bool + :param width: (required) + :type width: int :param bgcolor: :type bgcolor: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str + :param crs: + :type crs: str :param elevation: :type elevation: str :param exceptions: :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str + :param time: + :type time: str + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -908,25 +294,28 @@ def wms_map_handler_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._wms_map_handler_serialize( + _param = self._wms_handler_serialize( workflow=workflow, - version=version, - service=service, - request=request, - width=width, - height=height, bbox=bbox, - format=format, + height=height, + layer=layer, layers=layers, + query_layers=query_layers, + request=request, + service=service, styles=styles, - crs=crs, - time=time, - transparent=transparent, + width=width, bgcolor=bgcolor, - sld=sld, - sld_body=sld_body, + crs=crs, elevation=elevation, exceptions=exceptions, + format=format, + info_format=info_format, + sld=sld, + sld_body=sld_body, + time=time, + transparent=transparent, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -934,7 +323,7 @@ def wms_map_handler_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -948,26 +337,29 @@ def wms_map_handler_with_http_info( @validate_call - def wms_map_handler_without_preload_content( + def wms_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WmsVersion, - service: WmsService, - request: GetMapRequest, - width: Annotated[int, Field(strict=True, ge=0)], - height: Annotated[int, Field(strict=True, ge=0)], bbox: StrictStr, - format: GetMapFormat, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, styles: StrictStr, - crs: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, + width: Annotated[int, Field(strict=True, ge=0)], bgcolor: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, elevation: Optional[StrictStr] = None, exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -981,45 +373,51 @@ def wms_map_handler_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get WMS Map + """Get WMS Capabilities :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WmsVersion - :param service: (required) - :type service: WmsService - :param request: (required) - :type request: GetMapRequest - :param width: (required) - :type width: int - :param height: (required) - :type height: int :param bbox: (required) :type bbox: str - :param format: (required) - :type format: GetMapFormat + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str :param layers: (required) :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WmsService :param styles: (required) :type styles: str - :param crs: - :type crs: str - :param time: - :type time: str - :param transparent: - :type transparent: bool + :param width: (required) + :type width: int :param bgcolor: :type bgcolor: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str + :param crs: + :type crs: str :param elevation: :type elevation: str :param exceptions: :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str + :param time: + :type time: str + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1042,25 +440,28 @@ def wms_map_handler_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._wms_map_handler_serialize( + _param = self._wms_handler_serialize( workflow=workflow, - version=version, - service=service, - request=request, - width=width, - height=height, bbox=bbox, - format=format, + height=height, + layer=layer, layers=layers, + query_layers=query_layers, + request=request, + service=service, styles=styles, - crs=crs, - time=time, - transparent=transparent, + width=width, bgcolor=bgcolor, - sld=sld, - sld_body=sld_body, + crs=crs, elevation=elevation, exceptions=exceptions, + format=format, + info_format=info_format, + sld=sld, + sld_body=sld_body, + time=time, + transparent=transparent, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1068,7 +469,7 @@ def wms_map_handler_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -1077,26 +478,29 @@ def wms_map_handler_without_preload_content( return response_data.response - def _wms_map_handler_serialize( + def _wms_handler_serialize( self, workflow, - version, - service, - request, - width, - height, bbox, - format, + height, + layer, layers, + query_layers, + request, + service, styles, - crs, - time, - transparent, + width, bgcolor, - sld, - sld_body, + crs, elevation, exceptions, + format, + info_format, + sld, + sld_body, + time, + transparent, + version, _request_auth, _content_type, _headers, @@ -1121,57 +525,57 @@ def _wms_map_handler_serialize( if workflow is not None: _path_params['workflow'] = workflow # process the query parameters - if version is not None: - - _query_params.append(('version', version.value)) - - if service is not None: + if bbox is not None: - _query_params.append(('service', service.value)) + _query_params.append(('bbox', bbox)) - if request is not None: + if bgcolor is not None: - _query_params.append(('request', request.value)) + _query_params.append(('bgcolor', bgcolor)) - if width is not None: + if crs is not None: - _query_params.append(('width', width)) + _query_params.append(('crs', crs)) - if height is not None: + if elevation is not None: - _query_params.append(('height', height)) + _query_params.append(('elevation', elevation)) - if bbox is not None: + if exceptions is not None: - _query_params.append(('bbox', bbox)) + _query_params.append(('exceptions', exceptions.value)) if format is not None: _query_params.append(('format', format.value)) - if layers is not None: + if height is not None: - _query_params.append(('layers', layers)) + _query_params.append(('height', height)) - if crs is not None: + if info_format is not None: - _query_params.append(('crs', crs)) + _query_params.append(('info_format', info_format)) - if styles is not None: + if layer is not None: - _query_params.append(('styles', styles)) + _query_params.append(('layer', layer)) - if time is not None: + if layers is not None: - _query_params.append(('time', time)) + _query_params.append(('layers', layers)) - if transparent is not None: + if query_layers is not None: - _query_params.append(('transparent', transparent)) + _query_params.append(('query_layers', query_layers)) - if bgcolor is not None: + if request is not None: - _query_params.append(('bgcolor', bgcolor)) + _query_params.append(('request', request)) + + if service is not None: + + _query_params.append(('service', service.value)) if sld is not None: @@ -1181,13 +585,25 @@ def _wms_map_handler_serialize( _query_params.append(('sld_body', sld_body)) - if elevation is not None: + if styles is not None: - _query_params.append(('elevation', elevation)) + _query_params.append(('styles', styles)) - if exceptions is not None: + if time is not None: - _query_params.append(('exceptions', exceptions.value)) + _query_params.append(('time', time)) + + if transparent is not None: + + _query_params.append(('transparent', transparent)) + + if version is not None: + + _query_params.append(('version', version.value)) + + if width is not None: + + _query_params.append(('width', width)) # process the header parameters # process the form parameters @@ -1198,7 +614,7 @@ def _wms_map_handler_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'image/png' + 'text/xml' ] ) @@ -1210,7 +626,6 @@ def _wms_map_handler_serialize( return self.api_client.param_serialize( method='GET', - # Note: remove query string in path part for ogc endpoints resource_path='/wms/{workflow}', path_params=_path_params, query_params=_query_params, diff --git a/python/test/test_ogcwms_api.py b/python/test/test_ogcwms_api.py index 361b787b..915b250a 100644 --- a/python/test/test_ogcwms_api.py +++ b/python/test/test_ogcwms_api.py @@ -27,27 +27,13 @@ def setUp(self) -> None: def tearDown(self) -> None: pass - def test_wms_capabilities_handler(self) -> None: - """Test case for wms_capabilities_handler + def test_wms_handler(self) -> None: + """Test case for wms_handler Get WMS Capabilities """ pass - def test_wms_legend_graphic_handler(self) -> None: - """Test case for wms_legend_graphic_handler - - Get WMS Legend Graphic - """ - pass - - def test_wms_map_handler(self) -> None: - """Test case for wms_map_handler - - Get WMS Map - """ - pass - if __name__ == '__main__': unittest.main() diff --git a/typescript/README.md b/typescript/README.md index ee9c154d..6be7a188 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -102,9 +102,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* *OGCWCSApi* | [**wcsDescribeCoverageHandler**](docs/OGCWCSApi.md#wcsdescribecoveragehandler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description *OGCWCSApi* | [**wcsGetCoverageHandler**](docs/OGCWCSApi.md#wcsgetcoveragehandler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage *OGCWFSApi* | [**wfsHandler**](docs/OGCWFSApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint -*OGCWMSApi* | [**wmsCapabilitiesHandler**](docs/OGCWMSApi.md#wmscapabilitieshandler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities -*OGCWMSApi* | [**wmsLegendGraphicHandler**](docs/OGCWMSApi.md#wmslegendgraphichandler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic -*OGCWMSApi* | [**wmsMapHandler**](docs/OGCWMSApi.md#wmsmaphandler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map +*OGCWMSApi* | [**wmsHandler**](docs/OGCWMSApi.md#wmshandler) | **GET** /wms/{workflow} | Get WMS Capabilities *PermissionsApi* | [**addPermissionHandler**](docs/PermissionsApi.md#addpermissionhandler) | **PUT** /permissions | Adds a new permission. *PermissionsApi* | [**getResourcePermissionsHandler**](docs/PermissionsApi.md#getresourcepermissionshandler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. *PermissionsApi* | [**removePermissionHandler**](docs/PermissionsApi.md#removepermissionhandler) | **DELETE** /permissions | Removes an existing permission. diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts index ad1406c7..521c0557 100644 --- a/typescript/dist/apis/OGCWMSApi.d.ts +++ b/typescript/dist/apis/OGCWMSApi.d.ts @@ -10,40 +10,29 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetCapabilitiesRequest, GetLegendGraphicRequest, GetMapExceptionFormat, GetMapFormat, GetMapRequest, WmsService, WmsVersion } from '../models/index'; -export interface WmsCapabilitiesHandlerRequest { +import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; +export interface WmsHandlerRequest { workflow: string; - version: WmsVersion | null; - service: WmsService; - request: GetCapabilitiesRequest; - format: GetCapabilitiesFormat | null; -} -export interface WmsLegendGraphicHandlerRequest { - workflow: string; - version: WmsVersion; - service: WmsService; - request: GetLegendGraphicRequest; - layer: string; -} -export interface WmsMapHandlerRequest { - workflow: string; - version: WmsVersion; - service: WmsService; - request: GetMapRequest; - width: number; - height: number; bbox: string; - format: GetMapFormat; + height: number; + layer: string; layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; styles: string; - crs?: string | null; - time?: string; - transparent?: boolean | null; + width: number; bgcolor?: string | null; - sld?: string | null; - sldBody?: string | null; + crs?: string | null; elevation?: string | null; exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; } /** * @@ -52,25 +41,20 @@ export declare class OGCWMSApi extends runtime.BaseAPI { /** * Get WMS Capabilities */ - wmsCapabilitiesHandlerRaw(requestParameters: WmsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Get WMS Capabilities */ - wmsCapabilitiesHandler(requestParameters: WmsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandlerRaw(requestParameters: WmsLegendGraphicHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandler(requestParameters: WmsLegendGraphicHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WMS Map - */ - wmsMapHandlerRaw(requestParameters: WmsMapHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WMS Map - */ - wmsMapHandler(requestParameters: WmsMapHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } +/** + * @export + */ +export declare const WmsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWMSApi.js b/typescript/dist/apis/OGCWMSApi.js index c7f5a311..377db6c2 100644 --- a/typescript/dist/apis/OGCWMSApi.js +++ b/typescript/dist/apis/OGCWMSApi.js @@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.OGCWMSApi = void 0; +exports.WmsHandlerRequestEnum = exports.OGCWMSApi = void 0; const runtime = require("../runtime"); /** * @@ -31,175 +31,83 @@ class OGCWMSApi extends runtime.BaseAPI { /** * Get WMS Capabilities */ - wmsCapabilitiesHandlerRaw(requestParameters, initOverrides) { + wmsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsCapabilitiesHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsCapabilitiesHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsCapabilitiesHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsCapabilitiesHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsCapabilitiesHandler().'); + if (requestParameters['height'] == null) { + throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); } - const queryParameters = {}; - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); } - let urlPath = `/wms/{workflow}?request=GetCapabilities`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); } - else { - return new runtime.TextApiResponse(response); + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); } - }); - } - /** - * Get WMS Capabilities - */ - wmsCapabilitiesHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsCapabilitiesHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsLegendGraphicHandler().'); - } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsLegendGraphicHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); } if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsLegendGraphicHandler().'); + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsLegendGraphicHandler().'); + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsLegendGraphicHandler().'); + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); } const queryParameters = {}; - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wms/{workflow}?request=GetLegendGraphic`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - return new runtime.VoidApiResponse(response); - }); - } - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - yield this.wmsLegendGraphicHandlerRaw(requestParameters, initOverrides); - }); - } - /** - * Get WMS Map - */ - wmsMapHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsMapHandler().'); - } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; } if (requestParameters['request'] != null) { queryParameters['request'] = requestParameters['request']; } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; } if (requestParameters['styles'] != null) { queryParameters['styles'] = requestParameters['styles']; @@ -210,20 +118,11 @@ class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['transparent'] != null) { queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -233,7 +132,7 @@ class OGCWMSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wms/{workflow}?request=GetMap`; + let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -241,17 +140,32 @@ class OGCWMSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - return new runtime.BlobApiResponse(response); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } }); } /** - * Get WMS Map + * Get WMS Capabilities */ - wmsMapHandler(requestParameters, initOverrides) { + wmsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsMapHandlerRaw(requestParameters, initOverrides); + const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } } exports.OGCWMSApi = OGCWMSApi; +/** + * @export + */ +exports.WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts index ad1406c7..521c0557 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWMSApi.d.ts @@ -10,40 +10,29 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetCapabilitiesRequest, GetLegendGraphicRequest, GetMapExceptionFormat, GetMapFormat, GetMapRequest, WmsService, WmsVersion } from '../models/index'; -export interface WmsCapabilitiesHandlerRequest { +import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; +export interface WmsHandlerRequest { workflow: string; - version: WmsVersion | null; - service: WmsService; - request: GetCapabilitiesRequest; - format: GetCapabilitiesFormat | null; -} -export interface WmsLegendGraphicHandlerRequest { - workflow: string; - version: WmsVersion; - service: WmsService; - request: GetLegendGraphicRequest; - layer: string; -} -export interface WmsMapHandlerRequest { - workflow: string; - version: WmsVersion; - service: WmsService; - request: GetMapRequest; - width: number; - height: number; bbox: string; - format: GetMapFormat; + height: number; + layer: string; layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; styles: string; - crs?: string | null; - time?: string; - transparent?: boolean | null; + width: number; bgcolor?: string | null; - sld?: string | null; - sldBody?: string | null; + crs?: string | null; elevation?: string | null; exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; } /** * @@ -52,25 +41,20 @@ export declare class OGCWMSApi extends runtime.BaseAPI { /** * Get WMS Capabilities */ - wmsCapabilitiesHandlerRaw(requestParameters: WmsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Get WMS Capabilities */ - wmsCapabilitiesHandler(requestParameters: WmsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandlerRaw(requestParameters: WmsLegendGraphicHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandler(requestParameters: WmsLegendGraphicHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WMS Map - */ - wmsMapHandlerRaw(requestParameters: WmsMapHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WMS Map - */ - wmsMapHandler(requestParameters: WmsMapHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } +/** + * @export + */ +export declare const WmsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWMSApi.js b/typescript/dist/esm/apis/OGCWMSApi.js index 7ef5b08a..e9aac838 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.js +++ b/typescript/dist/esm/apis/OGCWMSApi.js @@ -28,175 +28,83 @@ export class OGCWMSApi extends runtime.BaseAPI { /** * Get WMS Capabilities */ - wmsCapabilitiesHandlerRaw(requestParameters, initOverrides) { + wmsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsCapabilitiesHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsCapabilitiesHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsCapabilitiesHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsCapabilitiesHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsCapabilitiesHandler().'); + if (requestParameters['height'] == null) { + throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); } - const queryParameters = {}; - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); } - let urlPath = `/wms/{workflow}?request=GetCapabilities`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); } - else { - return new runtime.TextApiResponse(response); + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); } - }); - } - /** - * Get WMS Capabilities - */ - wmsCapabilitiesHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsCapabilitiesHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsLegendGraphicHandler().'); - } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsLegendGraphicHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); } if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsLegendGraphicHandler().'); + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsLegendGraphicHandler().'); + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsLegendGraphicHandler().'); + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); } const queryParameters = {}; - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wms/{workflow}?request=GetLegendGraphic`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - return new runtime.VoidApiResponse(response); - }); - } - /** - * Get WMS Legend Graphic - */ - wmsLegendGraphicHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - yield this.wmsLegendGraphicHandlerRaw(requestParameters, initOverrides); - }); - } - /** - * Get WMS Map - */ - wmsMapHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsMapHandler().'); - } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsMapHandler().'); + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; } if (requestParameters['request'] != null) { queryParameters['request'] = requestParameters['request']; } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; } if (requestParameters['styles'] != null) { queryParameters['styles'] = requestParameters['styles']; @@ -207,20 +115,11 @@ export class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['transparent'] != null) { queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -230,7 +129,7 @@ export class OGCWMSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wms/{workflow}?request=GetMap`; + let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -238,16 +137,31 @@ export class OGCWMSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - return new runtime.BlobApiResponse(response); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } }); } /** - * Get WMS Map + * Get WMS Capabilities */ - wmsMapHandler(requestParameters, initOverrides) { + wmsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsMapHandlerRaw(requestParameters, initOverrides); + const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } } +/** + * @export + */ +export const WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index 80cf4f2a..d7cb5e8d 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -4,15 +4,13 @@ All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| -| [**wmsCapabilitiesHandler**](OGCWMSApi.md#wmscapabilitieshandler) | **GET** /wms/{workflow}?request=GetCapabilities | Get WMS Capabilities | -| [**wmsLegendGraphicHandler**](OGCWMSApi.md#wmslegendgraphichandler) | **GET** /wms/{workflow}?request=GetLegendGraphic | Get WMS Legend Graphic | -| [**wmsMapHandler**](OGCWMSApi.md#wmsmaphandler) | **GET** /wms/{workflow}?request=GetMap | Get WMS Map | +| [**wmsHandler**](OGCWMSApi.md#wmshandler) | **GET** /wms/{workflow} | Get WMS Capabilities | -## wmsCapabilitiesHandler +## wmsHandler -> string wmsCapabilitiesHandler(workflow, version, service, request, format) +> string wmsHandler(workflow, bbox, height, layer, layers, queryLayers, request, service, styles, width, bgcolor, crs, elevation, exceptions, format, infoFormat, sld, sldBody, time, transparent, version) Get WMS Capabilities @@ -23,7 +21,7 @@ import { Configuration, OGCWMSApi, } from '@geoengine/openapi-client'; -import type { WmsCapabilitiesHandlerRequest } from '@geoengine/openapi-client'; +import type { WmsHandlerRequest } from '@geoengine/openapi-client'; async function example() { console.log("🚀 Testing @geoengine/openapi-client SDK..."); @@ -36,206 +34,50 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // WmsVersion - version: ..., - // WmsService - service: ..., - // GetCapabilitiesRequest - request: ..., - // GetCapabilitiesFormat - format: ..., - } satisfies WmsCapabilitiesHandlerRequest; - - try { - const data = await api.wmsCapabilitiesHandler(body); - console.log(data); - } catch (error) { - console.error(error); - } -} - -// Run the test -example().catch(console.error); -``` - -### Parameters - - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **version** | `WmsVersion` | | [Defaults to `undefined`] [Enum: 1.3.0] | -| **service** | `WmsService` | | [Defaults to `undefined`] [Enum: WMS] | -| **request** | `GetCapabilitiesRequest` | | [Defaults to `undefined`] [Enum: GetCapabilities] | -| **format** | `GetCapabilitiesFormat` | | [Defaults to `undefined`] [Enum: text/xml] | - -### Return type - -**string** - -### Authorization - -[session_token](../README.md#session_token) - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: `text/xml` - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | OK | - | - -[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) - - -## wmsLegendGraphicHandler - -> wmsLegendGraphicHandler(workflow, version, service, request, layer) - -Get WMS Legend Graphic - -### Example - -```ts -import { - Configuration, - OGCWMSApi, -} from '@geoengine/openapi-client'; -import type { WmsLegendGraphicHandlerRequest } from '@geoengine/openapi-client'; - -async function example() { - console.log("🚀 Testing @geoengine/openapi-client SDK..."); - const config = new Configuration({ - // Configure HTTP bearer authorization: session_token - accessToken: "YOUR BEARER TOKEN", - }); - const api = new OGCWMSApi(config); - - const body = { - // string | Workflow id - workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // WmsVersion - version: ..., - // WmsService - service: ..., - // GetLegendGraphicRequest - request: ..., // string - layer: , - } satisfies WmsLegendGraphicHandlerRequest; - - try { - const data = await api.wmsLegendGraphicHandler(body); - console.log(data); - } catch (error) { - console.error(error); - } -} - -// Run the test -example().catch(console.error); -``` - -### Parameters - - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **version** | `WmsVersion` | | [Defaults to `undefined`] [Enum: 1.3.0] | -| **service** | `WmsService` | | [Defaults to `undefined`] [Enum: WMS] | -| **request** | `GetLegendGraphicRequest` | | [Defaults to `undefined`] [Enum: GetLegendGraphic] | -| **layer** | `string` | | [Defaults to `undefined`] | - -### Return type - -`void` (Empty response body) - -### Authorization - -[session_token](../README.md#session_token) - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: Not defined - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **501** | Not implemented | - | - -[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) - - -## wmsMapHandler - -> Blob wmsMapHandler(workflow, version, service, request, width, height, bbox, format, layers, styles, crs, time, transparent, bgcolor, sld, sldBody, elevation, exceptions) - -Get WMS Map - -### Example - -```ts -import { - Configuration, - OGCWMSApi, -} from '@geoengine/openapi-client'; -import type { WmsMapHandlerRequest } from '@geoengine/openapi-client'; - -async function example() { - console.log("🚀 Testing @geoengine/openapi-client SDK..."); - const config = new Configuration({ - // Configure HTTP bearer authorization: session_token - accessToken: "YOUR BEARER TOKEN", - }); - const api = new OGCWMSApi(config); - - const body = { - // string | Workflow id - workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // WmsVersion - version: ..., - // WmsService - service: ..., - // GetMapRequest - request: ..., - // number - width: 512, + bbox: -90,-180,90,180, // number height: 256, // string - bbox: -90,-180,90,180, - // GetMapFormat - format: ..., + layer: layer_example, // string layers: , // string + queryLayers: queryLayers_example, + // 'GetCapabilities' | 'GetMap' | 'GetFeatureInfo' | 'GetStyles' | 'GetLegendGraphic' | type of WMS request + request: request_example, + // WmsService + service: ..., + // string styles: custom:{"type":"linearGradient","breakpoints":[{"value":1,"color":[0,0,0,255]},{"value":255,"color":[255,255,255,255]}],"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}, + // number + width: 512, + // string (optional) + bgcolor: bgcolor_example, // string (optional) crs: EPSG:4326, // string (optional) - time: 2014-04-01T12:00:00.000Z, - // boolean (optional) - transparent: true, + elevation: elevation_example, + // GetMapExceptionFormat (optional) + exceptions: ..., + // GetCapabilitiesFormat (optional) + format: ..., // string (optional) - bgcolor: bgcolor_example, + infoFormat: infoFormat_example, // string (optional) sld: sld_example, // string (optional) sldBody: sldBody_example, // string (optional) - elevation: elevation_example, - // GetMapExceptionFormat (optional) - exceptions: ..., - } satisfies WmsMapHandlerRequest; + time: 2014-04-01T12:00:00.000Z, + // boolean (optional) + transparent: true, + // WmsVersion (optional) + version: ..., + } satisfies WmsHandlerRequest; try { - const data = await api.wmsMapHandler(body); + const data = await api.wmsHandler(body); console.log(data); } catch (error) { console.error(error); @@ -252,27 +94,30 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **version** | `WmsVersion` | | [Defaults to `undefined`] [Enum: 1.3.0] | -| **service** | `WmsService` | | [Defaults to `undefined`] [Enum: WMS] | -| **request** | `GetMapRequest` | | [Defaults to `undefined`] [Enum: GetMap] | -| **width** | `number` | | [Defaults to `undefined`] | -| **height** | `number` | | [Defaults to `undefined`] | | **bbox** | `string` | | [Defaults to `undefined`] | -| **format** | `GetMapFormat` | | [Defaults to `undefined`] [Enum: image/png] | +| **height** | `number` | | [Defaults to `undefined`] | +| **layer** | `string` | | [Defaults to `undefined`] | | **layers** | `string` | | [Defaults to `undefined`] | +| **queryLayers** | `string` | | [Defaults to `undefined`] | +| **request** | `GetCapabilities`, `GetMap`, `GetFeatureInfo`, `GetStyles`, `GetLegendGraphic` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetMap, GetFeatureInfo, GetStyles, GetLegendGraphic] | +| **service** | `WmsService` | | [Defaults to `undefined`] [Enum: WMS] | | **styles** | `string` | | [Defaults to `undefined`] | -| **crs** | `string` | | [Optional] [Defaults to `undefined`] | -| **time** | `string` | | [Optional] [Defaults to `undefined`] | -| **transparent** | `boolean` | | [Optional] [Defaults to `undefined`] | +| **width** | `number` | | [Defaults to `undefined`] | | **bgcolor** | `string` | | [Optional] [Defaults to `undefined`] | -| **sld** | `string` | | [Optional] [Defaults to `undefined`] | -| **sldBody** | `string` | | [Optional] [Defaults to `undefined`] | +| **crs** | `string` | | [Optional] [Defaults to `undefined`] | | **elevation** | `string` | | [Optional] [Defaults to `undefined`] | | **exceptions** | `GetMapExceptionFormat` | | [Optional] [Defaults to `undefined`] [Enum: XML, JSON] | +| **format** | `GetCapabilitiesFormat` | | [Optional] [Defaults to `undefined`] [Enum: text/xml] | +| **infoFormat** | `string` | | [Optional] [Defaults to `undefined`] | +| **sld** | `string` | | [Optional] [Defaults to `undefined`] | +| **sldBody** | `string` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **transparent** | `boolean` | | [Optional] [Defaults to `undefined`] | +| **version** | `WmsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.3.0] | ### Return type -**Blob** +**string** ### Authorization @@ -281,13 +126,13 @@ example().catch(console.error); ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: `image/png` +- **Accept**: `text/xml` ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | PNG Image | - | +| **200** | OK | - | [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts index e6406dec..4a62e1b8 100644 --- a/typescript/src/apis/OGCWMSApi.ts +++ b/typescript/src/apis/OGCWMSApi.ts @@ -16,68 +16,43 @@ import * as runtime from '../runtime'; import type { GetCapabilitiesFormat, - GetCapabilitiesRequest, - GetLegendGraphicRequest, GetMapExceptionFormat, - GetMapFormat, - GetMapRequest, WmsService, WmsVersion, } from '../models/index'; import { GetCapabilitiesFormatFromJSON, GetCapabilitiesFormatToJSON, - GetCapabilitiesRequestFromJSON, - GetCapabilitiesRequestToJSON, - GetLegendGraphicRequestFromJSON, - GetLegendGraphicRequestToJSON, GetMapExceptionFormatFromJSON, GetMapExceptionFormatToJSON, - GetMapFormatFromJSON, - GetMapFormatToJSON, - GetMapRequestFromJSON, - GetMapRequestToJSON, WmsServiceFromJSON, WmsServiceToJSON, WmsVersionFromJSON, WmsVersionToJSON, } from '../models/index'; -export interface WmsCapabilitiesHandlerRequest { +export interface WmsHandlerRequest { workflow: string; - version: WmsVersion | null; - service: WmsService; - request: GetCapabilitiesRequest; - format: GetCapabilitiesFormat | null; -} - -export interface WmsLegendGraphicHandlerRequest { - workflow: string; - version: WmsVersion; - service: WmsService; - request: GetLegendGraphicRequest; - layer: string; -} - -export interface WmsMapHandlerRequest { - workflow: string; - version: WmsVersion; - service: WmsService; - request: GetMapRequest; - width: number; - height: number; bbox: string; - format: GetMapFormat; + height: number; + layer: string; layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; styles: string; - crs?: string | null; - time?: string; - transparent?: boolean | null; + width: number; bgcolor?: string | null; - sld?: string | null; - sldBody?: string | null; + crs?: string | null; elevation?: string | null; exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; } /** @@ -88,270 +63,137 @@ export class OGCWMSApi extends runtime.BaseAPI { /** * Get WMS Capabilities */ - async wmsCapabilitiesHandlerRaw(requestParameters: WmsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError( 'workflow', - 'Required parameter "workflow" was null or undefined when calling wmsCapabilitiesHandler().' + 'Required parameter "workflow" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['version'] == null) { + if (requestParameters['bbox'] == null) { throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wmsCapabilitiesHandler().' + 'bbox', + 'Required parameter "bbox" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['service'] == null) { + if (requestParameters['height'] == null) { throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wmsCapabilitiesHandler().' + 'height', + 'Required parameter "height" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['request'] == null) { + if (requestParameters['layer'] == null) { throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wmsCapabilitiesHandler().' + 'layer', + 'Required parameter "layer" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['format'] == null) { + if (requestParameters['layers'] == null) { throw new runtime.RequiredError( - 'format', - 'Required parameter "format" was null or undefined when calling wmsCapabilitiesHandler().' + 'layers', + 'Required parameter "layers" was null or undefined when calling wmsHandler().' ); } - const queryParameters: any = {}; - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wms/{workflow}?request=GetCapabilities`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } - } - - /** - * Get WMS Capabilities - */ - async wmsCapabilitiesHandler(requestParameters: WmsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wmsCapabilitiesHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - - /** - * Get WMS Legend Graphic - */ - async wmsLegendGraphicHandlerRaw(requestParameters: WmsLegendGraphicHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { + if (requestParameters['queryLayers'] == null) { throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wmsLegendGraphicHandler().' + 'queryLayers', + 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['version'] == null) { + if (requestParameters['request'] == null) { throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wmsLegendGraphicHandler().' + 'request', + 'Required parameter "request" was null or undefined when calling wmsHandler().' ); } if (requestParameters['service'] == null) { throw new runtime.RequiredError( 'service', - 'Required parameter "service" was null or undefined when calling wmsLegendGraphicHandler().' + 'Required parameter "service" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['request'] == null) { + if (requestParameters['styles'] == null) { throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wmsLegendGraphicHandler().' + 'styles', + 'Required parameter "styles" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['layer'] == null) { + if (requestParameters['width'] == null) { throw new runtime.RequiredError( - 'layer', - 'Required parameter "layer" was null or undefined when calling wmsLegendGraphicHandler().' + 'width', + 'Required parameter "width" was null or undefined when calling wmsHandler().' ); } const queryParameters: any = {}; - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wms/{workflow}?request=GetLegendGraphic`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - return new runtime.VoidApiResponse(response); - } - - /** - * Get WMS Legend Graphic - */ - async wmsLegendGraphicHandler(requestParameters: WmsLegendGraphicHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - await this.wmsLegendGraphicHandlerRaw(requestParameters, initOverrides); - } - - /** - * Get WMS Map - */ - async wmsMapHandlerRaw(requestParameters: WmsMapHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wmsMapHandler().' - ); - } - - if (requestParameters['version'] == null) { - throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError( - 'width', - 'Required parameter "width" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError( - 'height', - 'Required parameter "height" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError( - 'format', - 'Required parameter "format" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError( - 'layers', - 'Required parameter "layers" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError( - 'styles', - 'Required parameter "styles" was null or undefined when calling wmsMapHandler().' - ); + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - const queryParameters: any = {}; - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; } if (requestParameters['request'] != null) { queryParameters['request'] = requestParameters['request']; } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; } if (requestParameters['styles'] != null) { @@ -366,24 +208,12 @@ export class OGCWMSApi extends runtime.BaseAPI { queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; } const headerParameters: runtime.HTTPHeaders = {}; @@ -397,7 +227,7 @@ export class OGCWMSApi extends runtime.BaseAPI { } } - let urlPath = `/wms/{workflow}?request=GetMap`; + let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = await this.request({ @@ -407,15 +237,31 @@ export class OGCWMSApi extends runtime.BaseAPI { query: queryParameters, }, initOverrides); - return new runtime.BlobApiResponse(response); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } } /** - * Get WMS Map + * Get WMS Capabilities */ - async wmsMapHandler(requestParameters: WmsMapHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wmsMapHandlerRaw(requestParameters, initOverrides); + async wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wmsHandlerRaw(requestParameters, initOverrides); return await response.value(); } } + +/** + * @export + */ +export const WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +} as const; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/util/ui-dev-update.sh b/util/ui-dev-update.sh index cf1645a3..7f2293d6 100755 --- a/util/ui-dev-update.sh +++ b/util/ui-dev-update.sh @@ -46,6 +46,5 @@ fi cd ../geoengine-ui npm uninstall @geoengine/openapi-client -npm install "https://github.com/geo-engine/openapi-client.git#${current_branch}" --save - +npm install @geoengine/openapi-client@"https://github.com/geo-engine/openapi-client.git#${current_branch}" cd - From 4c53035b81e72c050f18ca1e356ac621626a92f7 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 25 Nov 2025 11:11:48 +0100 Subject: [PATCH 03/15] update openapi-client --- .generation/input/openapi.json | 2 +- python/.openapi-generator/FILES | 12 +- python/README.md | 8 +- python/geoengine_openapi_client/__init__.py | 8 +- .../geoengine_openapi_client/api/__init__.py | 4 +- .../api/{ogcwcs_api.py => ogc_api.py} | 1052 ++++++++++++----- .../api/ogcwfs_api.py | 539 --------- .../api/ogcwms_api.py | 642 ---------- .../{test_ogcwfs_api.py => test_ogc_api.py} | 22 +- python/test/test_ogcwcs_api.py | 53 - python/test/test_ogcwms_api.py | 39 - typescript/README.md | 8 +- typescript/dist/apis/OGCApi.d.ts | 127 ++ .../dist/apis/{OGCWCSApi.js => OGCApi.js} | 307 +++-- typescript/dist/apis/OGCWCSApi.d.ts | 71 -- typescript/dist/apis/OGCWFSApi.d.ts | 51 - typescript/dist/apis/OGCWFSApi.js | 131 -- typescript/dist/apis/OGCWMSApi.d.ts | 60 - typescript/dist/apis/OGCWMSApi.js | 171 --- typescript/dist/apis/index.d.ts | 4 +- typescript/dist/apis/index.js | 4 +- typescript/dist/esm/apis/OGCApi.d.ts | 127 ++ .../dist/esm/apis/{OGCWCSApi.js => OGCApi.js} | 303 +++-- typescript/dist/esm/apis/OGCWCSApi.d.ts | 71 -- typescript/dist/esm/apis/OGCWFSApi.d.ts | 51 - typescript/dist/esm/apis/OGCWFSApi.js | 127 -- typescript/dist/esm/apis/OGCWMSApi.d.ts | 60 - typescript/dist/esm/apis/OGCWMSApi.js | 167 --- typescript/dist/esm/apis/index.d.ts | 4 +- typescript/dist/esm/apis/index.js | 4 +- typescript/docs/OGCApi.md | 362 ++++++ typescript/src/apis/OGCApi.ts | 621 ++++++++++ typescript/src/apis/OGCWCSApi.ts | 391 ------ typescript/src/apis/OGCWFSApi.ts | 192 --- typescript/src/apis/OGCWMSApi.ts | 267 ----- typescript/src/apis/index.ts | 4 +- 36 files changed, 2475 insertions(+), 3591 deletions(-) rename python/geoengine_openapi_client/api/{ogcwcs_api.py => ogc_api.py} (65%) delete mode 100644 python/geoengine_openapi_client/api/ogcwfs_api.py delete mode 100644 python/geoengine_openapi_client/api/ogcwms_api.py rename python/test/{test_ogcwfs_api.py => test_ogc_api.py} (60%) delete mode 100644 python/test/test_ogcwcs_api.py delete mode 100644 python/test/test_ogcwms_api.py create mode 100644 typescript/dist/apis/OGCApi.d.ts rename typescript/dist/apis/{OGCWCSApi.js => OGCApi.js} (53%) delete mode 100644 typescript/dist/apis/OGCWCSApi.d.ts delete mode 100644 typescript/dist/apis/OGCWFSApi.d.ts delete mode 100644 typescript/dist/apis/OGCWFSApi.js delete mode 100644 typescript/dist/apis/OGCWMSApi.d.ts delete mode 100644 typescript/dist/apis/OGCWMSApi.js create mode 100644 typescript/dist/esm/apis/OGCApi.d.ts rename typescript/dist/esm/apis/{OGCWCSApi.js => OGCApi.js} (54%) delete mode 100644 typescript/dist/esm/apis/OGCWCSApi.d.ts delete mode 100644 typescript/dist/esm/apis/OGCWFSApi.d.ts delete mode 100644 typescript/dist/esm/apis/OGCWFSApi.js delete mode 100644 typescript/dist/esm/apis/OGCWMSApi.d.ts delete mode 100644 typescript/dist/esm/apis/OGCWMSApi.js create mode 100644 typescript/docs/OGCApi.md create mode 100644 typescript/src/apis/OGCApi.ts delete mode 100644 typescript/src/apis/OGCWCSApi.ts delete mode 100644 typescript/src/apis/OGCWFSApi.ts delete mode 100644 typescript/src/apis/OGCWMSApi.ts diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index c3ee9213..3323edf2 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=DescribeCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage Description","operationId":"wcs_describe_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/DescribeCoverageRequest"}},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCapabilities":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Capabilities","operationId":"wcs_capabilities_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCapabilitiesRequest"}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wcs/{workflow}?request=GetCoverage":{"get":{"tags":["OGC WCS"],"summary":"Get WCS Coverage","operationId":"wcs_get_coverage_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"version","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsVersion"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"request","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageRequest"}},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}}],"responses":{"200":{"$ref":"#/components/responses/PngResponse"}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"Get WMS Capabilities","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":true,"schema":{"type":"string"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":true,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":true,"schema":{"type":"string"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":true,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index 817a5836..e0474946 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -117,9 +117,7 @@ docs/MultiPoint.md docs/MultiPolygon.md docs/NetCdfCfDataProviderDefinition.md docs/NumberParam.md -docs/OGCWCSApi.md -docs/OGCWFSApi.md -docs/OGCWMSApi.md +docs/OGCApi.md docs/OgrMetaData.md docs/OgrSourceColumnSpec.md docs/OgrSourceDataset.md @@ -276,9 +274,7 @@ geoengine_openapi_client/api/datasets_api.py geoengine_openapi_client/api/general_api.py geoengine_openapi_client/api/layers_api.py geoengine_openapi_client/api/ml_api.py -geoengine_openapi_client/api/ogcwcs_api.py -geoengine_openapi_client/api/ogcwfs_api.py -geoengine_openapi_client/api/ogcwms_api.py +geoengine_openapi_client/api/ogc_api.py geoengine_openapi_client/api/permissions_api.py geoengine_openapi_client/api/plots_api.py geoengine_openapi_client/api/projects_api.py @@ -667,9 +663,7 @@ test/test_multi_point.py test/test_multi_polygon.py test/test_net_cdf_cf_data_provider_definition.py test/test_number_param.py -test/test_ogcwcs_api.py -test/test_ogcwfs_api.py -test/test_ogcwms_api.py +test/test_ogc_api.py test/test_ogr_meta_data.py test/test_ogr_source_column_spec.py test/test_ogr_source_dataset.py diff --git a/python/README.md b/python/README.md index 824ad688..d78d5deb 100644 --- a/python/README.md +++ b/python/README.md @@ -135,11 +135,9 @@ Class | Method | HTTP request | Description *MLApi* | [**add_ml_model**](docs/MLApi.md#add_ml_model) | **POST** /ml/models | Create a new ml model. *MLApi* | [**get_ml_model**](docs/MLApi.md#get_ml_model) | **GET** /ml/models/{model_name} | Get ml model by name. *MLApi* | [**list_ml_models**](docs/MLApi.md#list_ml_models) | **GET** /ml/models | List ml models. -*OGCWCSApi* | [**wcs_capabilities_handler**](docs/OGCWCSApi.md#wcs_capabilities_handler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities -*OGCWCSApi* | [**wcs_describe_coverage_handler**](docs/OGCWCSApi.md#wcs_describe_coverage_handler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description -*OGCWCSApi* | [**wcs_get_coverage_handler**](docs/OGCWCSApi.md#wcs_get_coverage_handler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage -*OGCWFSApi* | [**wfs_handler**](docs/OGCWFSApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint -*OGCWMSApi* | [**wms_handler**](docs/OGCWMSApi.md#wms_handler) | **GET** /wms/{workflow} | Get WMS Capabilities +*OGCApi* | [**wcs_handler**](docs/OGCApi.md#wcs_handler) | **GET** /wcs/{workflow} | OGC WCS endpoint +*OGCApi* | [**wfs_handler**](docs/OGCApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint +*OGCApi* | [**wms_handler**](docs/OGCApi.md#wms_handler) | **GET** /wms/{workflow} | OGC WMS endpoint *PermissionsApi* | [**add_permission_handler**](docs/PermissionsApi.md#add_permission_handler) | **PUT** /permissions | Adds a new permission. *PermissionsApi* | [**get_resource_permissions_handler**](docs/PermissionsApi.md#get_resource_permissions_handler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. *PermissionsApi* | [**remove_permission_handler**](docs/PermissionsApi.md#remove_permission_handler) | **DELETE** /permissions | Removes an existing permission. diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index 26307970..6aa07dc6 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -23,9 +23,7 @@ "GeneralApi", "LayersApi", "MLApi", - "OGCWCSApi", - "OGCWFSApi", - "OGCWMSApi", + "OGCApi", "PermissionsApi", "PlotsApi", "ProjectsApi", @@ -302,9 +300,7 @@ from geoengine_openapi_client.api.general_api import GeneralApi as GeneralApi from geoengine_openapi_client.api.layers_api import LayersApi as LayersApi from geoengine_openapi_client.api.ml_api import MLApi as MLApi -from geoengine_openapi_client.api.ogcwcs_api import OGCWCSApi as OGCWCSApi -from geoengine_openapi_client.api.ogcwfs_api import OGCWFSApi as OGCWFSApi -from geoengine_openapi_client.api.ogcwms_api import OGCWMSApi as OGCWMSApi +from geoengine_openapi_client.api.ogc_api import OGCApi as OGCApi from geoengine_openapi_client.api.permissions_api import PermissionsApi as PermissionsApi from geoengine_openapi_client.api.plots_api import PlotsApi as PlotsApi from geoengine_openapi_client.api.projects_api import ProjectsApi as ProjectsApi diff --git a/python/geoengine_openapi_client/api/__init__.py b/python/geoengine_openapi_client/api/__init__.py index 9f6abc5d..cdedf975 100644 --- a/python/geoengine_openapi_client/api/__init__.py +++ b/python/geoengine_openapi_client/api/__init__.py @@ -5,9 +5,7 @@ from geoengine_openapi_client.api.general_api import GeneralApi from geoengine_openapi_client.api.layers_api import LayersApi from geoengine_openapi_client.api.ml_api import MLApi -from geoengine_openapi_client.api.ogcwcs_api import OGCWCSApi -from geoengine_openapi_client.api.ogcwfs_api import OGCWFSApi -from geoengine_openapi_client.api.ogcwms_api import OGCWMSApi +from geoengine_openapi_client.api.ogc_api import OGCApi from geoengine_openapi_client.api.permissions_api import PermissionsApi from geoengine_openapi_client.api.plots_api import PlotsApi from geoengine_openapi_client.api.projects_api import ProjectsApi diff --git a/python/geoengine_openapi_client/api/ogcwcs_api.py b/python/geoengine_openapi_client/api/ogc_api.py similarity index 65% rename from python/geoengine_openapi_client/api/ogcwcs_api.py rename to python/geoengine_openapi_client/api/ogc_api.py index 0259682f..9e05d80a 100644 --- a/python/geoengine_openapi_client/api/ogcwcs_api.py +++ b/python/geoengine_openapi_client/api/ogc_api.py @@ -17,23 +17,27 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictBytes, StrictFloat, StrictInt, StrictStr -from typing import Optional, Tuple, Union +from pydantic import Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Optional, Union from typing_extensions import Annotated from uuid import UUID -from geoengine_openapi_client.models.describe_coverage_request import DescribeCoverageRequest -from geoengine_openapi_client.models.get_capabilities_request import GetCapabilitiesRequest +from geoengine_openapi_client.models.geo_json import GeoJson +from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat -from geoengine_openapi_client.models.get_coverage_request import GetCoverageRequest +from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat from geoengine_openapi_client.models.wcs_service import WcsService from geoengine_openapi_client.models.wcs_version import WcsVersion +from geoengine_openapi_client.models.wfs_service import WfsService +from geoengine_openapi_client.models.wfs_version import WfsVersion +from geoengine_openapi_client.models.wms_service import WmsService +from geoengine_openapi_client.models.wms_version import WmsVersion from geoengine_openapi_client.api_client import ApiClient, RequestSerialized from geoengine_openapi_client.api_response import ApiResponse from geoengine_openapi_client.rest import RESTResponseType -class OGCWCSApi: +class OGCApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -47,11 +51,22 @@ def __init__(self, api_client=None) -> None: @validate_call - def wcs_capabilities_handler( + def wcs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], + boundingbox: StrictStr, + format: GetCoverageFormat, + gridbasecrs: StrictStr, + identifier: StrictStr, + identifiers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], service: WcsService, - request: GetCapabilitiesRequest, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + time: Optional[StrictStr] = None, version: Optional[WcsVersion] = None, _request_timeout: Union[ None, @@ -66,15 +81,37 @@ def wcs_capabilities_handler( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> str: - """Get WCS Capabilities + """OGC WCS endpoint :param workflow: Workflow id (required) :type workflow: str + :param boundingbox: (required) + :type boundingbox: str + :param format: (required) + :type format: GetCoverageFormat + :param gridbasecrs: (required) + :type gridbasecrs: str + :param identifier: (required) + :type identifier: str + :param identifiers: (required) + :type identifiers: str + :param request: type of WMS request (required) + :type request: str :param service: (required) :type service: WcsService - :param request: (required) - :type request: GetCapabilitiesRequest + :param gridoffsets: + :type gridoffsets: str + :param gridorigin: + :type gridorigin: str + :param nodatavalue: + :type nodatavalue: float + :param resx: + :type resx: float + :param resy: + :type resy: float + :param time: + :type time: str :param version: :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one @@ -99,10 +136,21 @@ def wcs_capabilities_handler( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_capabilities_handler_serialize( + _param = self._wcs_handler_serialize( workflow=workflow, - service=service, + boundingbox=boundingbox, + format=format, + gridbasecrs=gridbasecrs, + identifier=identifier, + identifiers=identifiers, request=request, + service=service, + gridoffsets=gridoffsets, + gridorigin=gridorigin, + nodatavalue=nodatavalue, + resx=resx, + resy=resy, + time=time, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -125,11 +173,22 @@ def wcs_capabilities_handler( @validate_call - def wcs_capabilities_handler_with_http_info( + def wcs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], + boundingbox: StrictStr, + format: GetCoverageFormat, + gridbasecrs: StrictStr, + identifier: StrictStr, + identifiers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], service: WcsService, - request: GetCapabilitiesRequest, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + time: Optional[StrictStr] = None, version: Optional[WcsVersion] = None, _request_timeout: Union[ None, @@ -144,15 +203,37 @@ def wcs_capabilities_handler_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[str]: - """Get WCS Capabilities + """OGC WCS endpoint :param workflow: Workflow id (required) :type workflow: str + :param boundingbox: (required) + :type boundingbox: str + :param format: (required) + :type format: GetCoverageFormat + :param gridbasecrs: (required) + :type gridbasecrs: str + :param identifier: (required) + :type identifier: str + :param identifiers: (required) + :type identifiers: str + :param request: type of WMS request (required) + :type request: str :param service: (required) :type service: WcsService - :param request: (required) - :type request: GetCapabilitiesRequest + :param gridoffsets: + :type gridoffsets: str + :param gridorigin: + :type gridorigin: str + :param nodatavalue: + :type nodatavalue: float + :param resx: + :type resx: float + :param resy: + :type resy: float + :param time: + :type time: str :param version: :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one @@ -177,10 +258,21 @@ def wcs_capabilities_handler_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_capabilities_handler_serialize( + _param = self._wcs_handler_serialize( workflow=workflow, - service=service, + boundingbox=boundingbox, + format=format, + gridbasecrs=gridbasecrs, + identifier=identifier, + identifiers=identifiers, request=request, + service=service, + gridoffsets=gridoffsets, + gridorigin=gridorigin, + nodatavalue=nodatavalue, + resx=resx, + resy=resy, + time=time, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -203,11 +295,22 @@ def wcs_capabilities_handler_with_http_info( @validate_call - def wcs_capabilities_handler_without_preload_content( + def wcs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], + boundingbox: StrictStr, + format: GetCoverageFormat, + gridbasecrs: StrictStr, + identifier: StrictStr, + identifiers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], service: WcsService, - request: GetCapabilitiesRequest, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + time: Optional[StrictStr] = None, version: Optional[WcsVersion] = None, _request_timeout: Union[ None, @@ -222,15 +325,37 @@ def wcs_capabilities_handler_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get WCS Capabilities + """OGC WCS endpoint :param workflow: Workflow id (required) :type workflow: str + :param boundingbox: (required) + :type boundingbox: str + :param format: (required) + :type format: GetCoverageFormat + :param gridbasecrs: (required) + :type gridbasecrs: str + :param identifier: (required) + :type identifier: str + :param identifiers: (required) + :type identifiers: str + :param request: type of WMS request (required) + :type request: str :param service: (required) :type service: WcsService - :param request: (required) - :type request: GetCapabilitiesRequest + :param gridoffsets: + :type gridoffsets: str + :param gridorigin: + :type gridorigin: str + :param nodatavalue: + :type nodatavalue: float + :param resx: + :type resx: float + :param resy: + :type resy: float + :param time: + :type time: str :param version: :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one @@ -255,10 +380,21 @@ def wcs_capabilities_handler_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_capabilities_handler_serialize( + _param = self._wcs_handler_serialize( workflow=workflow, - service=service, + boundingbox=boundingbox, + format=format, + gridbasecrs=gridbasecrs, + identifier=identifier, + identifiers=identifiers, request=request, + service=service, + gridoffsets=gridoffsets, + gridorigin=gridorigin, + nodatavalue=nodatavalue, + resx=resx, + resy=resy, + time=time, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -276,11 +412,22 @@ def wcs_capabilities_handler_without_preload_content( return response_data.response - def _wcs_capabilities_handler_serialize( + def _wcs_handler_serialize( self, workflow, - service, + boundingbox, + format, + gridbasecrs, + identifier, + identifiers, request, + service, + gridoffsets, + gridorigin, + nodatavalue, + resx, + resy, + time, version, _request_auth, _content_type, @@ -306,17 +453,61 @@ def _wcs_capabilities_handler_serialize( if workflow is not None: _path_params['workflow'] = workflow # process the query parameters - if version is not None: + if boundingbox is not None: - _query_params.append(('version', version.value)) + _query_params.append(('boundingbox', boundingbox)) + + if format is not None: + + _query_params.append(('format', format.value)) + + if gridbasecrs is not None: + + _query_params.append(('gridbasecrs', gridbasecrs)) + + if gridoffsets is not None: + + _query_params.append(('gridoffsets', gridoffsets)) + + if gridorigin is not None: + + _query_params.append(('gridorigin', gridorigin)) + + if identifier is not None: + + _query_params.append(('identifier', identifier)) + + if identifiers is not None: + + _query_params.append(('identifiers', identifiers)) + + if nodatavalue is not None: + + _query_params.append(('nodatavalue', nodatavalue)) + + if request is not None: + + _query_params.append(('request', request)) + + if resx is not None: + + _query_params.append(('resx', resx)) + + if resy is not None: + + _query_params.append(('resy', resy)) if service is not None: _query_params.append(('service', service.value)) - if request is not None: + if time is not None: + + _query_params.append(('time', time)) + + if version is not None: - _query_params.append(('request', request.value)) + _query_params.append(('version', version.value)) # process the header parameters # process the form parameters @@ -339,7 +530,7 @@ def _wcs_capabilities_handler_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/wcs/{workflow}?request=GetCapabilities', + resource_path='/wcs/{workflow}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -356,13 +547,23 @@ def _wcs_capabilities_handler_serialize( @validate_call - def wcs_describe_coverage_handler( + def wfs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WcsVersion, - service: WcsService, - request: DescribeCoverageRequest, - identifiers: StrictStr, + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], + service: WfsService, + type_names: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -375,20 +576,40 @@ def wcs_describe_coverage_handler( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: - """Get WCS Coverage Description + ) -> GeoJson: + """OGC WFS endpoint :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WcsVersion + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str :param service: (required) - :type service: WcsService - :param request: (required) - :type request: DescribeCoverageRequest - :param identifiers: (required) - :type identifiers: str + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: + :type count: int + :param filter: + :type filter: str + :param namespaces: + :type namespaces: str + :param property_name: + :type property_name: str + :param query_resolution: Vendor parameter for specifying a spatial query resolution + :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -411,12 +632,22 @@ def wcs_describe_coverage_handler( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_describe_coverage_handler_serialize( + _param = self._wfs_handler_serialize( workflow=workflow, - version=version, - service=service, + bbox=bbox, request=request, - identifiers=identifiers, + service=service, + type_names=type_names, + count=count, + filter=filter, + namespaces=namespaces, + property_name=property_name, + query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -424,7 +655,7 @@ def wcs_describe_coverage_handler( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "str", + '200': "GeoJson", } response_data = self.api_client.call_api( *_param, @@ -438,13 +669,23 @@ def wcs_describe_coverage_handler( @validate_call - def wcs_describe_coverage_handler_with_http_info( + def wfs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WcsVersion, - service: WcsService, - request: DescribeCoverageRequest, - identifiers: StrictStr, + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], + service: WfsService, + type_names: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -457,20 +698,40 @@ def wcs_describe_coverage_handler_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: - """Get WCS Coverage Description + ) -> ApiResponse[GeoJson]: + """OGC WFS endpoint :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WcsVersion + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str :param service: (required) - :type service: WcsService - :param request: (required) - :type request: DescribeCoverageRequest - :param identifiers: (required) - :type identifiers: str + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: + :type count: int + :param filter: + :type filter: str + :param namespaces: + :type namespaces: str + :param property_name: + :type property_name: str + :param query_resolution: Vendor parameter for specifying a spatial query resolution + :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -493,12 +754,22 @@ def wcs_describe_coverage_handler_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_describe_coverage_handler_serialize( + _param = self._wfs_handler_serialize( workflow=workflow, - version=version, - service=service, + bbox=bbox, request=request, - identifiers=identifiers, + service=service, + type_names=type_names, + count=count, + filter=filter, + namespaces=namespaces, + property_name=property_name, + query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -506,7 +777,7 @@ def wcs_describe_coverage_handler_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "str", + '200': "GeoJson", } response_data = self.api_client.call_api( *_param, @@ -520,13 +791,23 @@ def wcs_describe_coverage_handler_with_http_info( @validate_call - def wcs_describe_coverage_handler_without_preload_content( + def wfs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WcsVersion, - service: WcsService, - request: DescribeCoverageRequest, - identifiers: StrictStr, + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], + service: WfsService, + type_names: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -540,19 +821,39 @@ def wcs_describe_coverage_handler_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get WCS Coverage Description + """OGC WFS endpoint :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WcsVersion + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str :param service: (required) - :type service: WcsService - :param request: (required) - :type request: DescribeCoverageRequest - :param identifiers: (required) - :type identifiers: str + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: + :type count: int + :param filter: + :type filter: str + :param namespaces: + :type namespaces: str + :param property_name: + :type property_name: str + :param query_resolution: Vendor parameter for specifying a spatial query resolution + :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -575,12 +876,22 @@ def wcs_describe_coverage_handler_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_describe_coverage_handler_serialize( + _param = self._wfs_handler_serialize( workflow=workflow, - version=version, - service=service, + bbox=bbox, request=request, - identifiers=identifiers, + service=service, + type_names=type_names, + count=count, + filter=filter, + namespaces=namespaces, + property_name=property_name, + query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -588,7 +899,7 @@ def wcs_describe_coverage_handler_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "str", + '200': "GeoJson", } response_data = self.api_client.call_api( *_param, @@ -597,13 +908,23 @@ def wcs_describe_coverage_handler_without_preload_content( return response_data.response - def _wcs_describe_coverage_handler_serialize( + def _wfs_handler_serialize( self, workflow, - version, - service, + bbox, request, - identifiers, + service, + type_names, + count, + filter, + namespaces, + property_name, + query_resolution, + result_type, + sort_by, + srs_name, + time, + version, _request_auth, _content_type, _headers, @@ -628,21 +949,61 @@ def _wcs_describe_coverage_handler_serialize( if workflow is not None: _path_params['workflow'] = workflow # process the query parameters - if version is not None: + if bbox is not None: - _query_params.append(('version', version.value)) + _query_params.append(('bbox', bbox)) + + if count is not None: + + _query_params.append(('count', count)) + + if filter is not None: + + _query_params.append(('filter', filter)) + + if namespaces is not None: + + _query_params.append(('namespaces', namespaces)) + + if property_name is not None: + + _query_params.append(('propertyName', property_name)) + + if query_resolution is not None: + + _query_params.append(('queryResolution', query_resolution)) + + if request is not None: + + _query_params.append(('request', request)) + + if result_type is not None: + + _query_params.append(('resultType', result_type)) if service is not None: _query_params.append(('service', service.value)) - if request is not None: + if sort_by is not None: - _query_params.append(('request', request.value)) + _query_params.append(('sortBy', sort_by)) - if identifiers is not None: + if srs_name is not None: - _query_params.append(('identifiers', identifiers)) + _query_params.append(('srsName', srs_name)) + + if time is not None: + + _query_params.append(('time', time)) + + if type_names is not None: + + _query_params.append(('typeNames', type_names)) + + if version is not None: + + _query_params.append(('version', version.value)) # process the header parameters # process the form parameters @@ -653,7 +1014,7 @@ def _wcs_describe_coverage_handler_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'text/xml' + 'application/json' ] ) @@ -665,7 +1026,7 @@ def _wcs_describe_coverage_handler_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/wcs/{workflow}?request=DescribeCoverage', + resource_path='/wfs/{workflow}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -682,22 +1043,29 @@ def _wcs_describe_coverage_handler_serialize( @validate_call - def wcs_get_coverage_handler( + def wms_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WcsVersion, - service: WcsService, - request: GetCoverageRequest, - format: GetCoverageFormat, - identifier: StrictStr, - boundingbox: StrictStr, - gridbasecrs: StrictStr, - gridorigin: Optional[StrictStr] = None, - gridoffsets: Optional[StrictStr] = None, + bbox: StrictStr, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, + layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, + styles: StrictStr, + width: Annotated[int, Field(strict=True, ge=0)], + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, time: Optional[StrictStr] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -710,38 +1078,52 @@ def wcs_get_coverage_handler( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """Get WCS Coverage + ) -> str: + """OGC WMS endpoint :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WcsVersion + :param bbox: (required) + :type bbox: str + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str + :param layers: (required) + :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str :param service: (required) - :type service: WcsService - :param request: (required) - :type request: GetCoverageRequest - :param format: (required) - :type format: GetCoverageFormat - :param identifier: (required) - :type identifier: str - :param boundingbox: (required) - :type boundingbox: str - :param gridbasecrs: (required) - :type gridbasecrs: str - :param gridorigin: - :type gridorigin: str - :param gridoffsets: - :type gridoffsets: str + :type service: WmsService + :param styles: (required) + :type styles: str + :param width: (required) + :type width: int + :param bgcolor: + :type bgcolor: str + :param crs: + :type crs: str + :param elevation: + :type elevation: str + :param exceptions: + :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str :param time: :type time: str - :param resx: - :type resx: float - :param resy: - :type resy: float - :param nodatavalue: - :type nodatavalue: float + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -764,21 +1146,28 @@ def wcs_get_coverage_handler( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_get_coverage_handler_serialize( + _param = self._wms_handler_serialize( workflow=workflow, - version=version, - service=service, + bbox=bbox, + height=height, + layer=layer, + layers=layers, + query_layers=query_layers, request=request, + service=service, + styles=styles, + width=width, + bgcolor=bgcolor, + crs=crs, + elevation=elevation, + exceptions=exceptions, format=format, - identifier=identifier, - boundingbox=boundingbox, - gridbasecrs=gridbasecrs, - gridorigin=gridorigin, - gridoffsets=gridoffsets, + info_format=info_format, + sld=sld, + sld_body=sld_body, time=time, - resx=resx, - resy=resy, - nodatavalue=nodatavalue, + transparent=transparent, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -786,7 +1175,7 @@ def wcs_get_coverage_handler( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -800,22 +1189,29 @@ def wcs_get_coverage_handler( @validate_call - def wcs_get_coverage_handler_with_http_info( + def wms_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WcsVersion, - service: WcsService, - request: GetCoverageRequest, - format: GetCoverageFormat, - identifier: StrictStr, - boundingbox: StrictStr, - gridbasecrs: StrictStr, - gridorigin: Optional[StrictStr] = None, - gridoffsets: Optional[StrictStr] = None, + bbox: StrictStr, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, + layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, + styles: StrictStr, + width: Annotated[int, Field(strict=True, ge=0)], + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, time: Optional[StrictStr] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -828,38 +1224,52 @@ def wcs_get_coverage_handler_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """Get WCS Coverage + ) -> ApiResponse[str]: + """OGC WMS endpoint :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WcsVersion + :param bbox: (required) + :type bbox: str + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str + :param layers: (required) + :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str :param service: (required) - :type service: WcsService - :param request: (required) - :type request: GetCoverageRequest - :param format: (required) - :type format: GetCoverageFormat - :param identifier: (required) - :type identifier: str - :param boundingbox: (required) - :type boundingbox: str - :param gridbasecrs: (required) - :type gridbasecrs: str - :param gridorigin: - :type gridorigin: str - :param gridoffsets: - :type gridoffsets: str + :type service: WmsService + :param styles: (required) + :type styles: str + :param width: (required) + :type width: int + :param bgcolor: + :type bgcolor: str + :param crs: + :type crs: str + :param elevation: + :type elevation: str + :param exceptions: + :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str :param time: :type time: str - :param resx: - :type resx: float - :param resy: - :type resy: float - :param nodatavalue: - :type nodatavalue: float + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -882,21 +1292,28 @@ def wcs_get_coverage_handler_with_http_info( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_get_coverage_handler_serialize( + _param = self._wms_handler_serialize( workflow=workflow, - version=version, - service=service, + bbox=bbox, + height=height, + layer=layer, + layers=layers, + query_layers=query_layers, request=request, + service=service, + styles=styles, + width=width, + bgcolor=bgcolor, + crs=crs, + elevation=elevation, + exceptions=exceptions, format=format, - identifier=identifier, - boundingbox=boundingbox, - gridbasecrs=gridbasecrs, - gridorigin=gridorigin, - gridoffsets=gridoffsets, + info_format=info_format, + sld=sld, + sld_body=sld_body, time=time, - resx=resx, - resy=resy, - nodatavalue=nodatavalue, + transparent=transparent, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -904,7 +1321,7 @@ def wcs_get_coverage_handler_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -918,22 +1335,29 @@ def wcs_get_coverage_handler_with_http_info( @validate_call - def wcs_get_coverage_handler_without_preload_content( + def wms_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - version: WcsVersion, - service: WcsService, - request: GetCoverageRequest, - format: GetCoverageFormat, - identifier: StrictStr, - boundingbox: StrictStr, - gridbasecrs: StrictStr, - gridorigin: Optional[StrictStr] = None, - gridoffsets: Optional[StrictStr] = None, + bbox: StrictStr, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, + layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, + styles: StrictStr, + width: Annotated[int, Field(strict=True, ge=0)], + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, time: Optional[StrictStr] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -947,37 +1371,51 @@ def wcs_get_coverage_handler_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Get WCS Coverage + """OGC WMS endpoint :param workflow: Workflow id (required) :type workflow: str - :param version: (required) - :type version: WcsVersion + :param bbox: (required) + :type bbox: str + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str + :param layers: (required) + :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str :param service: (required) - :type service: WcsService - :param request: (required) - :type request: GetCoverageRequest - :param format: (required) - :type format: GetCoverageFormat - :param identifier: (required) - :type identifier: str - :param boundingbox: (required) - :type boundingbox: str - :param gridbasecrs: (required) - :type gridbasecrs: str - :param gridorigin: - :type gridorigin: str - :param gridoffsets: - :type gridoffsets: str + :type service: WmsService + :param styles: (required) + :type styles: str + :param width: (required) + :type width: int + :param bgcolor: + :type bgcolor: str + :param crs: + :type crs: str + :param elevation: + :type elevation: str + :param exceptions: + :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str :param time: :type time: str - :param resx: - :type resx: float - :param resy: - :type resy: float - :param nodatavalue: - :type nodatavalue: float + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1000,21 +1438,28 @@ def wcs_get_coverage_handler_without_preload_content( :return: Returns the result object. """ # noqa: E501 - _param = self._wcs_get_coverage_handler_serialize( + _param = self._wms_handler_serialize( workflow=workflow, - version=version, - service=service, + bbox=bbox, + height=height, + layer=layer, + layers=layers, + query_layers=query_layers, request=request, + service=service, + styles=styles, + width=width, + bgcolor=bgcolor, + crs=crs, + elevation=elevation, + exceptions=exceptions, format=format, - identifier=identifier, - boundingbox=boundingbox, - gridbasecrs=gridbasecrs, - gridorigin=gridorigin, - gridoffsets=gridoffsets, + info_format=info_format, + sld=sld, + sld_body=sld_body, time=time, - resx=resx, - resy=resy, - nodatavalue=nodatavalue, + transparent=transparent, + version=version, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1022,7 +1467,7 @@ def wcs_get_coverage_handler_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -1031,22 +1476,29 @@ def wcs_get_coverage_handler_without_preload_content( return response_data.response - def _wcs_get_coverage_handler_serialize( + def _wms_handler_serialize( self, workflow, - version, - service, + bbox, + height, + layer, + layers, + query_layers, request, + service, + styles, + width, + bgcolor, + crs, + elevation, + exceptions, format, - identifier, - boundingbox, - gridbasecrs, - gridorigin, - gridoffsets, + info_format, + sld, + sld_body, time, - resx, - resy, - nodatavalue, + transparent, + version, _request_auth, _content_type, _headers, @@ -1071,57 +1523,85 @@ def _wcs_get_coverage_handler_serialize( if workflow is not None: _path_params['workflow'] = workflow # process the query parameters - if version is not None: + if bbox is not None: - _query_params.append(('version', version.value)) + _query_params.append(('bbox', bbox)) - if service is not None: + if bgcolor is not None: - _query_params.append(('service', service.value)) + _query_params.append(('bgcolor', bgcolor)) - if request is not None: + if crs is not None: - _query_params.append(('request', request.value)) + _query_params.append(('crs', crs)) + + if elevation is not None: + + _query_params.append(('elevation', elevation)) + + if exceptions is not None: + + _query_params.append(('exceptions', exceptions.value)) if format is not None: _query_params.append(('format', format.value)) - if identifier is not None: + if height is not None: - _query_params.append(('identifier', identifier)) + _query_params.append(('height', height)) - if boundingbox is not None: + if info_format is not None: - _query_params.append(('boundingbox', boundingbox)) + _query_params.append(('info_format', info_format)) - if gridbasecrs is not None: + if layer is not None: - _query_params.append(('gridbasecrs', gridbasecrs)) + _query_params.append(('layer', layer)) - if gridorigin is not None: + if layers is not None: - _query_params.append(('gridorigin', gridorigin)) + _query_params.append(('layers', layers)) - if gridoffsets is not None: + if query_layers is not None: - _query_params.append(('gridoffsets', gridoffsets)) + _query_params.append(('query_layers', query_layers)) + + if request is not None: + + _query_params.append(('request', request)) + + if service is not None: + + _query_params.append(('service', service.value)) + + if sld is not None: + + _query_params.append(('sld', sld)) + + if sld_body is not None: + + _query_params.append(('sld_body', sld_body)) + + if styles is not None: + + _query_params.append(('styles', styles)) if time is not None: _query_params.append(('time', time)) - if resx is not None: + if transparent is not None: - _query_params.append(('resx', resx)) + _query_params.append(('transparent', transparent)) - if resy is not None: + if version is not None: - _query_params.append(('resy', resy)) + _query_params.append(('version', version.value)) - if nodatavalue is not None: + if width is not None: - _query_params.append(('nodatavalue', nodatavalue)) + _query_params.append(('width', width)) # process the header parameters # process the form parameters @@ -1132,7 +1612,7 @@ def _wcs_get_coverage_handler_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'image/png' + 'text/xml' ] ) @@ -1144,7 +1624,7 @@ def _wcs_get_coverage_handler_serialize( return self.api_client.param_serialize( method='GET', - resource_path='/wcs/{workflow}?request=GetCoverage', + resource_path='/wms/{workflow}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py deleted file mode 100644 index fb04df9b..00000000 --- a/python/geoengine_openapi_client/api/ogcwfs_api.py +++ /dev/null @@ -1,539 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictStr, field_validator -from typing import Optional -from typing_extensions import Annotated -from uuid import UUID -from geoengine_openapi_client.models.geo_json import GeoJson -from geoengine_openapi_client.models.wfs_service import WfsService -from geoengine_openapi_client.models.wfs_version import WfsVersion - -from geoengine_openapi_client.api_client import ApiClient, RequestSerialized -from geoengine_openapi_client.api_response import ApiResponse -from geoengine_openapi_client.rest import RESTResponseType - - -class OGCWFSApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call - def wfs_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GeoJson: - """OGC WFS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: - :type count: int - :param filter: - :type filter: str - :param namespaces: - :type namespaces: str - :param property_name: - :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution - :type query_resolution: str - :param result_type: - :type result_type: str - :param sort_by: - :type sort_by: str - :param srs_name: - :type srs_name: str - :param time: - :type time: str - :param version: - :type version: WfsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_handler_serialize( - workflow=workflow, - bbox=bbox, - request=request, - service=service, - type_names=type_names, - count=count, - filter=filter, - namespaces=namespaces, - property_name=property_name, - query_resolution=query_resolution, - result_type=result_type, - sort_by=sort_by, - srs_name=srs_name, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GeoJson", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wfs_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GeoJson]: - """OGC WFS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: - :type count: int - :param filter: - :type filter: str - :param namespaces: - :type namespaces: str - :param property_name: - :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution - :type query_resolution: str - :param result_type: - :type result_type: str - :param sort_by: - :type sort_by: str - :param srs_name: - :type srs_name: str - :param time: - :type time: str - :param version: - :type version: WfsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_handler_serialize( - workflow=workflow, - bbox=bbox, - request=request, - service=service, - type_names=type_names, - count=count, - filter=filter, - namespaces=namespaces, - property_name=property_name, - query_resolution=query_resolution, - result_type=result_type, - sort_by=sort_by, - srs_name=srs_name, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GeoJson", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wfs_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """OGC WFS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: - :type count: int - :param filter: - :type filter: str - :param namespaces: - :type namespaces: str - :param property_name: - :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution - :type query_resolution: str - :param result_type: - :type result_type: str - :param sort_by: - :type sort_by: str - :param srs_name: - :type srs_name: str - :param time: - :type time: str - :param version: - :type version: WfsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_handler_serialize( - workflow=workflow, - bbox=bbox, - request=request, - service=service, - type_names=type_names, - count=count, - filter=filter, - namespaces=namespaces, - property_name=property_name, - query_resolution=query_resolution, - result_type=result_type, - sort_by=sort_by, - srs_name=srs_name, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GeoJson", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wfs_handler_serialize( - self, - workflow, - bbox, - request, - service, - type_names, - count, - filter, - namespaces, - property_name, - query_resolution, - result_type, - sort_by, - srs_name, - time, - version, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - # process the query parameters - if bbox is not None: - - _query_params.append(('bbox', bbox)) - - if count is not None: - - _query_params.append(('count', count)) - - if filter is not None: - - _query_params.append(('filter', filter)) - - if namespaces is not None: - - _query_params.append(('namespaces', namespaces)) - - if property_name is not None: - - _query_params.append(('propertyName', property_name)) - - if query_resolution is not None: - - _query_params.append(('queryResolution', query_resolution)) - - if request is not None: - - _query_params.append(('request', request)) - - if result_type is not None: - - _query_params.append(('resultType', result_type)) - - if service is not None: - - _query_params.append(('service', service.value)) - - if sort_by is not None: - - _query_params.append(('sortBy', sort_by)) - - if srs_name is not None: - - _query_params.append(('srsName', srs_name)) - - if time is not None: - - _query_params.append(('time', time)) - - if type_names is not None: - - _query_params.append(('typeNames', type_names)) - - if version is not None: - - _query_params.append(('version', version.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/wfs/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py deleted file mode 100644 index b0755415..00000000 --- a/python/geoengine_openapi_client/api/ogcwms_api.py +++ /dev/null @@ -1,642 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictStr, field_validator -from typing import Optional -from typing_extensions import Annotated -from uuid import UUID -from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat -from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat -from geoengine_openapi_client.models.wms_service import WmsService -from geoengine_openapi_client.models.wms_version import WmsVersion - -from geoengine_openapi_client.api_client import ApiClient, RequestSerialized -from geoengine_openapi_client.api_response import ApiResponse -from geoengine_openapi_client.rest import RESTResponseType - - -class OGCWMSApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call - def wms_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - height: Annotated[int, Field(strict=True, ge=0)], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - styles: StrictStr, - width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: - """Get WMS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param height: (required) - :type height: int - :param layer: (required) - :type layer: str - :param layers: (required) - :type layers: str - :param query_layers: (required) - :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str - :param time: - :type time: str - :param transparent: - :type transparent: bool - :param version: - :type version: WmsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_handler_serialize( - workflow=workflow, - bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, - bgcolor=bgcolor, - crs=crs, - elevation=elevation, - exceptions=exceptions, - format=format, - info_format=info_format, - sld=sld, - sld_body=sld_body, - time=time, - transparent=transparent, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wms_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - height: Annotated[int, Field(strict=True, ge=0)], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - styles: StrictStr, - width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: - """Get WMS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param height: (required) - :type height: int - :param layer: (required) - :type layer: str - :param layers: (required) - :type layers: str - :param query_layers: (required) - :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str - :param time: - :type time: str - :param transparent: - :type transparent: bool - :param version: - :type version: WmsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_handler_serialize( - workflow=workflow, - bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, - bgcolor=bgcolor, - crs=crs, - elevation=elevation, - exceptions=exceptions, - format=format, - info_format=info_format, - sld=sld, - sld_body=sld_body, - time=time, - transparent=transparent, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wms_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - height: Annotated[int, Field(strict=True, ge=0)], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - styles: StrictStr, - width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Get WMS Capabilities - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param height: (required) - :type height: int - :param layer: (required) - :type layer: str - :param layers: (required) - :type layers: str - :param query_layers: (required) - :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str - :param time: - :type time: str - :param transparent: - :type transparent: bool - :param version: - :type version: WmsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_handler_serialize( - workflow=workflow, - bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, - bgcolor=bgcolor, - crs=crs, - elevation=elevation, - exceptions=exceptions, - format=format, - info_format=info_format, - sld=sld, - sld_body=sld_body, - time=time, - transparent=transparent, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wms_handler_serialize( - self, - workflow, - bbox, - height, - layer, - layers, - query_layers, - request, - service, - styles, - width, - bgcolor, - crs, - elevation, - exceptions, - format, - info_format, - sld, - sld_body, - time, - transparent, - version, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - # process the query parameters - if bbox is not None: - - _query_params.append(('bbox', bbox)) - - if bgcolor is not None: - - _query_params.append(('bgcolor', bgcolor)) - - if crs is not None: - - _query_params.append(('crs', crs)) - - if elevation is not None: - - _query_params.append(('elevation', elevation)) - - if exceptions is not None: - - _query_params.append(('exceptions', exceptions.value)) - - if format is not None: - - _query_params.append(('format', format.value)) - - if height is not None: - - _query_params.append(('height', height)) - - if info_format is not None: - - _query_params.append(('info_format', info_format)) - - if layer is not None: - - _query_params.append(('layer', layer)) - - if layers is not None: - - _query_params.append(('layers', layers)) - - if query_layers is not None: - - _query_params.append(('query_layers', query_layers)) - - if request is not None: - - _query_params.append(('request', request)) - - if service is not None: - - _query_params.append(('service', service.value)) - - if sld is not None: - - _query_params.append(('sld', sld)) - - if sld_body is not None: - - _query_params.append(('sld_body', sld_body)) - - if styles is not None: - - _query_params.append(('styles', styles)) - - if time is not None: - - _query_params.append(('time', time)) - - if transparent is not None: - - _query_params.append(('transparent', transparent)) - - if version is not None: - - _query_params.append(('version', version.value)) - - if width is not None: - - _query_params.append(('width', width)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/xml' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/wms/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/python/test/test_ogcwfs_api.py b/python/test/test_ogc_api.py similarity index 60% rename from python/test/test_ogcwfs_api.py rename to python/test/test_ogc_api.py index 4b2b0b0c..b178c4ad 100644 --- a/python/test/test_ogcwfs_api.py +++ b/python/test/test_ogc_api.py @@ -15,18 +15,25 @@ import unittest -from geoengine_openapi_client.api.ogcwfs_api import OGCWFSApi +from geoengine_openapi_client.api.ogc_api import OGCApi -class TestOGCWFSApi(unittest.TestCase): - """OGCWFSApi unit test stubs""" +class TestOGCApi(unittest.TestCase): + """OGCApi unit test stubs""" def setUp(self) -> None: - self.api = OGCWFSApi() + self.api = OGCApi() def tearDown(self) -> None: pass + def test_wcs_handler(self) -> None: + """Test case for wcs_handler + + OGC WCS endpoint + """ + pass + def test_wfs_handler(self) -> None: """Test case for wfs_handler @@ -34,6 +41,13 @@ def test_wfs_handler(self) -> None: """ pass + def test_wms_handler(self) -> None: + """Test case for wms_handler + + OGC WMS endpoint + """ + pass + if __name__ == '__main__': unittest.main() diff --git a/python/test/test_ogcwcs_api.py b/python/test/test_ogcwcs_api.py deleted file mode 100644 index a93cd651..00000000 --- a/python/test/test_ogcwcs_api.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.api.ogcwcs_api import OGCWCSApi - - -class TestOGCWCSApi(unittest.TestCase): - """OGCWCSApi unit test stubs""" - - def setUp(self) -> None: - self.api = OGCWCSApi() - - def tearDown(self) -> None: - pass - - def test_wcs_capabilities_handler(self) -> None: - """Test case for wcs_capabilities_handler - - Get WCS Capabilities - """ - pass - - def test_wcs_describe_coverage_handler(self) -> None: - """Test case for wcs_describe_coverage_handler - - Get WCS Coverage Description - """ - pass - - def test_wcs_get_coverage_handler(self) -> None: - """Test case for wcs_get_coverage_handler - - Get WCS Coverage - """ - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/python/test/test_ogcwms_api.py b/python/test/test_ogcwms_api.py deleted file mode 100644 index 915b250a..00000000 --- a/python/test/test_ogcwms_api.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.api.ogcwms_api import OGCWMSApi - - -class TestOGCWMSApi(unittest.TestCase): - """OGCWMSApi unit test stubs""" - - def setUp(self) -> None: - self.api = OGCWMSApi() - - def tearDown(self) -> None: - pass - - def test_wms_handler(self) -> None: - """Test case for wms_handler - - Get WMS Capabilities - """ - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/typescript/README.md b/typescript/README.md index 6be7a188..a37ee7c5 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -98,11 +98,9 @@ All URIs are relative to *http://127.0.0.1:3030/api* *MLApi* | [**addMlModel**](docs/MLApi.md#addmlmodel) | **POST** /ml/models | Create a new ml model. *MLApi* | [**getMlModel**](docs/MLApi.md#getmlmodel) | **GET** /ml/models/{model_name} | Get ml model by name. *MLApi* | [**listMlModels**](docs/MLApi.md#listmlmodels) | **GET** /ml/models | List ml models. -*OGCWCSApi* | [**wcsCapabilitiesHandler**](docs/OGCWCSApi.md#wcscapabilitieshandler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities -*OGCWCSApi* | [**wcsDescribeCoverageHandler**](docs/OGCWCSApi.md#wcsdescribecoveragehandler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description -*OGCWCSApi* | [**wcsGetCoverageHandler**](docs/OGCWCSApi.md#wcsgetcoveragehandler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage -*OGCWFSApi* | [**wfsHandler**](docs/OGCWFSApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint -*OGCWMSApi* | [**wmsHandler**](docs/OGCWMSApi.md#wmshandler) | **GET** /wms/{workflow} | Get WMS Capabilities +*OGCApi* | [**wcsHandler**](docs/OGCApi.md#wcshandler) | **GET** /wcs/{workflow} | OGC WCS endpoint +*OGCApi* | [**wfsHandler**](docs/OGCApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint +*OGCApi* | [**wmsHandler**](docs/OGCApi.md#wmshandler) | **GET** /wms/{workflow} | OGC WMS endpoint *PermissionsApi* | [**addPermissionHandler**](docs/PermissionsApi.md#addpermissionhandler) | **PUT** /permissions | Adds a new permission. *PermissionsApi* | [**getResourcePermissionsHandler**](docs/PermissionsApi.md#getresourcepermissionshandler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. *PermissionsApi* | [**removePermissionHandler**](docs/PermissionsApi.md#removepermissionhandler) | **DELETE** /permissions | Removes an existing permission. diff --git a/typescript/dist/apis/OGCApi.d.ts b/typescript/dist/apis/OGCApi.d.ts new file mode 100644 index 00000000..3d8afbdb --- /dev/null +++ b/typescript/dist/apis/OGCApi.d.ts @@ -0,0 +1,127 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GeoJson, GetCapabilitiesFormat, GetCoverageFormat, GetMapExceptionFormat, WcsService, WcsVersion, WfsService, WfsVersion, WmsService, WmsVersion } from '../models/index'; +export interface WcsHandlerRequest { + workflow: string; + boundingbox: string; + format: GetCoverageFormat; + gridbasecrs: string; + identifier: string; + identifiers: string; + request: WcsHandlerRequestEnum; + service: WcsService; + gridoffsets?: string; + gridorigin?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + time?: string; + version?: WcsVersion | null; +} +export interface WfsHandlerRequest { + workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; + service: WfsService; + typeNames: string; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; +} +export interface WmsHandlerRequest { + workflow: string; + bbox: string; + height: number; + layer: string; + layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; + styles: string; + width: number; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; +} +/** + * + */ +export declare class OGCApi extends runtime.BaseAPI { + /** + * OGC WCS endpoint + */ + wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WCS endpoint + */ + wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + /** + * OGC WFS endpoint + */ + wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WFS endpoint + */ + wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + /** + * OGC WMS endpoint + */ + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WMS endpoint + */ + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WcsHandlerRequestEnum: { + readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; + readonly DescribeCoverage: "DescribeCoverage"; + readonly GetCoverage: "GetCoverage"; +}; +export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; +/** + * @export + */ +export declare const WfsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; +/** + * @export + */ +export declare const WmsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWCSApi.js b/typescript/dist/apis/OGCApi.js similarity index 53% rename from typescript/dist/apis/OGCWCSApi.js rename to typescript/dist/apis/OGCApi.js index 6566d787..ad30d851 100644 --- a/typescript/dist/apis/OGCWCSApi.js +++ b/typescript/dist/apis/OGCApi.js @@ -22,36 +22,85 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.OGCWCSApi = void 0; +exports.WmsHandlerRequestEnum = exports.WfsHandlerRequestEnum = exports.WcsHandlerRequestEnum = exports.OGCApi = void 0; const runtime = require("../runtime"); +const index_1 = require("../models/index"); /** * */ -class OGCWCSApi extends runtime.BaseAPI { +class OGCApi extends runtime.BaseAPI { /** - * Get WCS Capabilities + * OGC WCS endpoint */ - wcsCapabilitiesHandlerRaw(requestParameters, initOverrides) { + wcsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsCapabilitiesHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsCapabilitiesHandler().'); + if (requestParameters['boundingbox'] == null) { + throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['format'] == null) { + throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['gridbasecrs'] == null) { + throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifier'] == null) { + throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifiers'] == null) { + throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); } if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsCapabilitiesHandler().'); + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + } + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + } + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; + } + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; + } + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; + } + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; } if (requestParameters['request'] != null) { queryParameters['request'] = requestParameters['request']; } + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; + } + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -60,7 +109,7 @@ class OGCWCSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wcs/{workflow}?request=GetCapabilities`; + let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -77,46 +126,76 @@ class OGCWCSApi extends runtime.BaseAPI { }); } /** - * Get WCS Capabilities + * OGC WCS endpoint */ - wcsCapabilitiesHandler(requestParameters, initOverrides) { + wcsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsCapabilitiesHandlerRaw(requestParameters, initOverrides); + const response = yield this.wcsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } /** - * Get WCS Coverage Description + * OGC WFS endpoint */ - wcsDescribeCoverageHandlerRaw(requestParameters, initOverrides) { + wfsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsDescribeCoverageHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsDescribeCoverageHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsDescribeCoverageHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsDescribeCoverageHandler().'); + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsDescribeCoverageHandler().'); + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; + } + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; + } + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; + } + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; + } + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; } if (requestParameters['request'] != null) { queryParameters['request'] = requestParameters['request']; } - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -126,7 +205,7 @@ class OGCWCSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wcs/{workflow}?request=DescribeCoverage`; + let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -134,91 +213,113 @@ class OGCWCSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } + return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.GeoJsonFromJSON)(jsonValue)); }); } /** - * Get WCS Coverage Description + * OGC WFS endpoint */ - wcsDescribeCoverageHandler(requestParameters, initOverrides) { + wfsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsDescribeCoverageHandlerRaw(requestParameters, initOverrides); + const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } /** - * Get WCS Coverage + * OGC WMS endpoint */ - wcsGetCoverageHandlerRaw(requestParameters, initOverrides) { + wmsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsGetCoverageHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['height'] == null) { + throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); } - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); } - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); } - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; + } + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; + } + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } if (requestParameters['format'] != null) { queryParameters['format'] = requestParameters['format']; } - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; + } + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; + } + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; } if (requestParameters['time'] != null) { queryParameters['time'] = requestParameters['time']; } - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -228,7 +329,7 @@ class OGCWCSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wcs/{workflow}?request=GetCoverage`; + let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -236,17 +337,47 @@ class OGCWCSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - return new runtime.BlobApiResponse(response); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } }); } /** - * Get WCS Coverage + * OGC WMS endpoint */ - wcsGetCoverageHandler(requestParameters, initOverrides) { + wmsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsGetCoverageHandlerRaw(requestParameters, initOverrides); + const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } } -exports.OGCWCSApi = OGCWCSApi; +exports.OGCApi = OGCApi; +/** + * @export + */ +exports.WcsHandlerRequestEnum = { + GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +}; +/** + * @export + */ +exports.WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; +/** + * @export + */ +exports.WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; diff --git a/typescript/dist/apis/OGCWCSApi.d.ts b/typescript/dist/apis/OGCWCSApi.d.ts deleted file mode 100644 index a33cd786..00000000 --- a/typescript/dist/apis/OGCWCSApi.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { DescribeCoverageRequest, GetCapabilitiesRequest, GetCoverageFormat, GetCoverageRequest, WcsService, WcsVersion } from '../models/index'; -export interface WcsCapabilitiesHandlerRequest { - workflow: string; - service: WcsService; - request: GetCapabilitiesRequest; - version?: WcsVersion | null; -} -export interface WcsDescribeCoverageHandlerRequest { - workflow: string; - version: WcsVersion; - service: WcsService; - request: DescribeCoverageRequest; - identifiers: string; -} -export interface WcsGetCoverageHandlerRequest { - workflow: string; - version: WcsVersion; - service: WcsService; - request: GetCoverageRequest; - format: GetCoverageFormat; - identifier: string; - boundingbox: string; - gridbasecrs: string; - gridorigin?: string; - gridoffsets?: string; - time?: string; - resx?: number | null; - resy?: number | null; - nodatavalue?: number | null; -} -/** - * - */ -export declare class OGCWCSApi extends runtime.BaseAPI { - /** - * Get WCS Capabilities - */ - wcsCapabilitiesHandlerRaw(requestParameters: WcsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Capabilities - */ - wcsCapabilitiesHandler(requestParameters: WcsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WCS Coverage Description - */ - wcsDescribeCoverageHandlerRaw(requestParameters: WcsDescribeCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Coverage Description - */ - wcsDescribeCoverageHandler(requestParameters: WcsDescribeCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WCS Coverage - */ - wcsGetCoverageHandlerRaw(requestParameters: WcsGetCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Coverage - */ - wcsGetCoverageHandler(requestParameters: WcsGetCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts deleted file mode 100644 index af5bf03e..00000000 --- a/typescript/dist/apis/OGCWFSApi.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { GeoJson, WfsService, WfsVersion } from '../models/index'; -export interface WfsHandlerRequest { - workflow: string; - bbox: string; - request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; -} -/** - * - */ -export declare class OGCWFSApi extends runtime.BaseAPI { - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} -/** - * @export - */ -export declare const WfsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetFeature: "GetFeature"; -}; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js deleted file mode 100644 index c537f958..00000000 --- a/typescript/dist/apis/OGCWFSApi.js +++ /dev/null @@ -1,131 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.WfsHandlerRequestEnum = exports.OGCWFSApi = void 0; -const runtime = require("../runtime"); -const index_1 = require("../models/index"); -/** - * - */ -class OGCWFSApi extends runtime.BaseAPI { - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; - } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; - } - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; - } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; - } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wfs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.GeoJsonFromJSON)(jsonValue)); - }); - } - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } -} -exports.OGCWFSApi = OGCWFSApi; -/** - * @export - */ -exports.WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -}; diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts deleted file mode 100644 index 521c0557..00000000 --- a/typescript/dist/apis/OGCWMSApi.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; -export interface WmsHandlerRequest { - workflow: string; - bbox: string; - height: number; - layer: string; - layers: string; - queryLayers: string; - request: WmsHandlerRequestEnum; - service: WmsService; - styles: string; - width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; -} -/** - * - */ -export declare class OGCWMSApi extends runtime.BaseAPI { - /** - * Get WMS Capabilities - */ - wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WMS Capabilities - */ - wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} -/** - * @export - */ -export declare const WmsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetMap: "GetMap"; - readonly GetFeatureInfo: "GetFeatureInfo"; - readonly GetStyles: "GetStyles"; - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWMSApi.js b/typescript/dist/apis/OGCWMSApi.js deleted file mode 100644 index 377db6c2..00000000 --- a/typescript/dist/apis/OGCWMSApi.js +++ /dev/null @@ -1,171 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.WmsHandlerRequestEnum = exports.OGCWMSApi = void 0; -const runtime = require("../runtime"); -/** - * - */ -class OGCWMSApi extends runtime.BaseAPI { - /** - * Get WMS Capabilities - */ - wmsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; - } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wms/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * Get WMS Capabilities - */ - wmsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } -} -exports.OGCWMSApi = OGCWMSApi; -/** - * @export - */ -exports.WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -}; diff --git a/typescript/dist/apis/index.d.ts b/typescript/dist/apis/index.d.ts index c5367b2f..2e92c7aa 100644 --- a/typescript/dist/apis/index.d.ts +++ b/typescript/dist/apis/index.d.ts @@ -2,9 +2,7 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCWCSApi'; -export * from './OGCWFSApi'; -export * from './OGCWMSApi'; +export * from './OGCApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; diff --git a/typescript/dist/apis/index.js b/typescript/dist/apis/index.js index 25733265..51405e72 100644 --- a/typescript/dist/apis/index.js +++ b/typescript/dist/apis/index.js @@ -20,9 +20,7 @@ __exportStar(require("./DatasetsApi"), exports); __exportStar(require("./GeneralApi"), exports); __exportStar(require("./LayersApi"), exports); __exportStar(require("./MLApi"), exports); -__exportStar(require("./OGCWCSApi"), exports); -__exportStar(require("./OGCWFSApi"), exports); -__exportStar(require("./OGCWMSApi"), exports); +__exportStar(require("./OGCApi"), exports); __exportStar(require("./PermissionsApi"), exports); __exportStar(require("./PlotsApi"), exports); __exportStar(require("./ProjectsApi"), exports); diff --git a/typescript/dist/esm/apis/OGCApi.d.ts b/typescript/dist/esm/apis/OGCApi.d.ts new file mode 100644 index 00000000..3d8afbdb --- /dev/null +++ b/typescript/dist/esm/apis/OGCApi.d.ts @@ -0,0 +1,127 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GeoJson, GetCapabilitiesFormat, GetCoverageFormat, GetMapExceptionFormat, WcsService, WcsVersion, WfsService, WfsVersion, WmsService, WmsVersion } from '../models/index'; +export interface WcsHandlerRequest { + workflow: string; + boundingbox: string; + format: GetCoverageFormat; + gridbasecrs: string; + identifier: string; + identifiers: string; + request: WcsHandlerRequestEnum; + service: WcsService; + gridoffsets?: string; + gridorigin?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + time?: string; + version?: WcsVersion | null; +} +export interface WfsHandlerRequest { + workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; + service: WfsService; + typeNames: string; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; +} +export interface WmsHandlerRequest { + workflow: string; + bbox: string; + height: number; + layer: string; + layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; + styles: string; + width: number; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; +} +/** + * + */ +export declare class OGCApi extends runtime.BaseAPI { + /** + * OGC WCS endpoint + */ + wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WCS endpoint + */ + wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + /** + * OGC WFS endpoint + */ + wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WFS endpoint + */ + wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + /** + * OGC WMS endpoint + */ + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WMS endpoint + */ + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WcsHandlerRequestEnum: { + readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; + readonly DescribeCoverage: "DescribeCoverage"; + readonly GetCoverage: "GetCoverage"; +}; +export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; +/** + * @export + */ +export declare const WfsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; +/** + * @export + */ +export declare const WmsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWCSApi.js b/typescript/dist/esm/apis/OGCApi.js similarity index 54% rename from typescript/dist/esm/apis/OGCWCSApi.js rename to typescript/dist/esm/apis/OGCApi.js index 067fe03a..14412704 100644 --- a/typescript/dist/esm/apis/OGCWCSApi.js +++ b/typescript/dist/esm/apis/OGCApi.js @@ -21,34 +21,83 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; import * as runtime from '../runtime'; +import { GeoJsonFromJSON, } from '../models/index'; /** * */ -export class OGCWCSApi extends runtime.BaseAPI { +export class OGCApi extends runtime.BaseAPI { /** - * Get WCS Capabilities + * OGC WCS endpoint */ - wcsCapabilitiesHandlerRaw(requestParameters, initOverrides) { + wcsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsCapabilitiesHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsCapabilitiesHandler().'); + if (requestParameters['boundingbox'] == null) { + throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['format'] == null) { + throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['gridbasecrs'] == null) { + throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifier'] == null) { + throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifiers'] == null) { + throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); } if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsCapabilitiesHandler().'); + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + } + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + } + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; + } + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; + } + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; + } + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; } if (requestParameters['request'] != null) { queryParameters['request'] = requestParameters['request']; } + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; + } + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -57,7 +106,7 @@ export class OGCWCSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wcs/{workflow}?request=GetCapabilities`; + let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -74,46 +123,76 @@ export class OGCWCSApi extends runtime.BaseAPI { }); } /** - * Get WCS Capabilities + * OGC WCS endpoint */ - wcsCapabilitiesHandler(requestParameters, initOverrides) { + wcsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsCapabilitiesHandlerRaw(requestParameters, initOverrides); + const response = yield this.wcsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } /** - * Get WCS Coverage Description + * OGC WFS endpoint */ - wcsDescribeCoverageHandlerRaw(requestParameters, initOverrides) { + wfsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsDescribeCoverageHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsDescribeCoverageHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsDescribeCoverageHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsDescribeCoverageHandler().'); + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsDescribeCoverageHandler().'); + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; + } + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; + } + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; + } + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; + } + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; } if (requestParameters['request'] != null) { queryParameters['request'] = requestParameters['request']; } - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -123,7 +202,7 @@ export class OGCWCSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wcs/{workflow}?request=DescribeCoverage`; + let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -131,91 +210,113 @@ export class OGCWCSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } + return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); }); } /** - * Get WCS Coverage Description + * OGC WFS endpoint */ - wcsDescribeCoverageHandler(requestParameters, initOverrides) { + wfsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsDescribeCoverageHandlerRaw(requestParameters, initOverrides); + const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } /** - * Get WCS Coverage + * OGC WMS endpoint */ - wcsGetCoverageHandlerRaw(requestParameters, initOverrides) { + wmsHandlerRaw(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsGetCoverageHandler().'); + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['height'] == null) { + throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); } - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); } - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); } - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsGetCoverageHandler().'); + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); } const queryParameters = {}; - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; + } + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; + } + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } if (requestParameters['format'] != null) { queryParameters['format'] = requestParameters['format']; } - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; + } + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; + } + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; } if (requestParameters['time'] != null) { queryParameters['time'] = requestParameters['time']; } - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { @@ -225,7 +326,7 @@ export class OGCWCSApi extends runtime.BaseAPI { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } - let urlPath = `/wcs/{workflow}?request=GetCoverage`; + let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); const response = yield this.request({ path: urlPath, @@ -233,16 +334,46 @@ export class OGCWCSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - return new runtime.BlobApiResponse(response); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } }); } /** - * Get WCS Coverage + * OGC WMS endpoint */ - wcsGetCoverageHandler(requestParameters, initOverrides) { + wmsHandler(requestParameters, initOverrides) { return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsGetCoverageHandlerRaw(requestParameters, initOverrides); + const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); return yield response.value(); }); } } +/** + * @export + */ +export const WcsHandlerRequestEnum = { + GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +}; +/** + * @export + */ +export const WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; +/** + * @export + */ +export const WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; diff --git a/typescript/dist/esm/apis/OGCWCSApi.d.ts b/typescript/dist/esm/apis/OGCWCSApi.d.ts deleted file mode 100644 index a33cd786..00000000 --- a/typescript/dist/esm/apis/OGCWCSApi.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { DescribeCoverageRequest, GetCapabilitiesRequest, GetCoverageFormat, GetCoverageRequest, WcsService, WcsVersion } from '../models/index'; -export interface WcsCapabilitiesHandlerRequest { - workflow: string; - service: WcsService; - request: GetCapabilitiesRequest; - version?: WcsVersion | null; -} -export interface WcsDescribeCoverageHandlerRequest { - workflow: string; - version: WcsVersion; - service: WcsService; - request: DescribeCoverageRequest; - identifiers: string; -} -export interface WcsGetCoverageHandlerRequest { - workflow: string; - version: WcsVersion; - service: WcsService; - request: GetCoverageRequest; - format: GetCoverageFormat; - identifier: string; - boundingbox: string; - gridbasecrs: string; - gridorigin?: string; - gridoffsets?: string; - time?: string; - resx?: number | null; - resy?: number | null; - nodatavalue?: number | null; -} -/** - * - */ -export declare class OGCWCSApi extends runtime.BaseAPI { - /** - * Get WCS Capabilities - */ - wcsCapabilitiesHandlerRaw(requestParameters: WcsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Capabilities - */ - wcsCapabilitiesHandler(requestParameters: WcsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WCS Coverage Description - */ - wcsDescribeCoverageHandlerRaw(requestParameters: WcsDescribeCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Coverage Description - */ - wcsDescribeCoverageHandler(requestParameters: WcsDescribeCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * Get WCS Coverage - */ - wcsGetCoverageHandlerRaw(requestParameters: WcsGetCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WCS Coverage - */ - wcsGetCoverageHandler(requestParameters: WcsGetCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts deleted file mode 100644 index af5bf03e..00000000 --- a/typescript/dist/esm/apis/OGCWFSApi.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { GeoJson, WfsService, WfsVersion } from '../models/index'; -export interface WfsHandlerRequest { - workflow: string; - bbox: string; - request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; -} -/** - * - */ -export declare class OGCWFSApi extends runtime.BaseAPI { - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} -/** - * @export - */ -export declare const WfsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetFeature: "GetFeature"; -}; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js deleted file mode 100644 index 3a083ad6..00000000 --- a/typescript/dist/esm/apis/OGCWFSApi.js +++ /dev/null @@ -1,127 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import * as runtime from '../runtime'; -import { GeoJsonFromJSON, } from '../models/index'; -/** - * - */ -export class OGCWFSApi extends runtime.BaseAPI { - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; - } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; - } - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; - } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; - } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wfs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); - }); - } - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } -} -/** - * @export - */ -export const WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -}; diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts deleted file mode 100644 index 521c0557..00000000 --- a/typescript/dist/esm/apis/OGCWMSApi.d.ts +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; -export interface WmsHandlerRequest { - workflow: string; - bbox: string; - height: number; - layer: string; - layers: string; - queryLayers: string; - request: WmsHandlerRequestEnum; - service: WmsService; - styles: string; - width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; -} -/** - * - */ -export declare class OGCWMSApi extends runtime.BaseAPI { - /** - * Get WMS Capabilities - */ - wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * Get WMS Capabilities - */ - wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} -/** - * @export - */ -export declare const WmsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetMap: "GetMap"; - readonly GetFeatureInfo: "GetFeatureInfo"; - readonly GetStyles: "GetStyles"; - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWMSApi.js b/typescript/dist/esm/apis/OGCWMSApi.js deleted file mode 100644 index e9aac838..00000000 --- a/typescript/dist/esm/apis/OGCWMSApi.js +++ /dev/null @@ -1,167 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import * as runtime from '../runtime'; -/** - * - */ -export class OGCWMSApi extends runtime.BaseAPI { - /** - * Get WMS Capabilities - */ - wmsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; - } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wms/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * Get WMS Capabilities - */ - wmsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } -} -/** - * @export - */ -export const WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -}; diff --git a/typescript/dist/esm/apis/index.d.ts b/typescript/dist/esm/apis/index.d.ts index c5367b2f..2e92c7aa 100644 --- a/typescript/dist/esm/apis/index.d.ts +++ b/typescript/dist/esm/apis/index.d.ts @@ -2,9 +2,7 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCWCSApi'; -export * from './OGCWFSApi'; -export * from './OGCWMSApi'; +export * from './OGCApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; diff --git a/typescript/dist/esm/apis/index.js b/typescript/dist/esm/apis/index.js index 6cf969fc..5ee11a64 100644 --- a/typescript/dist/esm/apis/index.js +++ b/typescript/dist/esm/apis/index.js @@ -4,9 +4,7 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCWCSApi'; -export * from './OGCWFSApi'; -export * from './OGCWMSApi'; +export * from './OGCApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; diff --git a/typescript/docs/OGCApi.md b/typescript/docs/OGCApi.md new file mode 100644 index 00000000..b68d68b2 --- /dev/null +++ b/typescript/docs/OGCApi.md @@ -0,0 +1,362 @@ +# OGCApi + +All URIs are relative to *http://127.0.0.1:3030/api* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**wcsHandler**](OGCApi.md#wcshandler) | **GET** /wcs/{workflow} | OGC WCS endpoint | +| [**wfsHandler**](OGCApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint | +| [**wmsHandler**](OGCApi.md#wmshandler) | **GET** /wms/{workflow} | OGC WMS endpoint | + + + +## wcsHandler + +> string wcsHandler(workflow, boundingbox, format, gridbasecrs, identifier, identifiers, request, service, gridoffsets, gridorigin, nodatavalue, resx, resy, time, version) + +OGC WCS endpoint + +### Example + +```ts +import { + Configuration, + OGCApi, +} from '@geoengine/openapi-client'; +import type { WcsHandlerRequest } from '@geoengine/openapi-client'; + +async function example() { + console.log("🚀 Testing @geoengine/openapi-client SDK..."); + const config = new Configuration({ + // Configure HTTP bearer authorization: session_token + accessToken: "YOUR BEARER TOKEN", + }); + const api = new OGCApi(config); + + const body = { + // string | Workflow id + workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, + // string + boundingbox: -90,-180,90,180,urn:ogc:def:crs:EPSG::4326, + // GetCoverageFormat + format: ..., + // string + gridbasecrs: urn:ogc:def:crs:EPSG::4326, + // string + identifier: , + // string + identifiers: , + // 'GetCapabilGetCapabilitiesities' | 'DescribeCoverage' | 'GetCoverage' | type of WMS request + request: request_example, + // WcsService + service: ..., + // string (optional) + gridoffsets: -0.1,0.1, + // string (optional) + gridorigin: 90,-180, + // number (optional) + nodatavalue: 1.2, + // number (optional) + resx: 1.2, + // number (optional) + resy: 1.2, + // string (optional) + time: time_example, + // WcsVersion (optional) + version: ..., + } satisfies WcsHandlerRequest; + + try { + const data = await api.wcsHandler(body); + console.log(data); + } catch (error) { + console.error(error); + } +} + +// Run the test +example().catch(console.error); +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | +| **boundingbox** | `string` | | [Defaults to `undefined`] | +| **format** | `GetCoverageFormat` | | [Defaults to `undefined`] [Enum: image/tiff] | +| **gridbasecrs** | `string` | | [Defaults to `undefined`] | +| **identifier** | `string` | | [Defaults to `undefined`] | +| **identifiers** | `string` | | [Defaults to `undefined`] | +| **request** | `GetCapabilGetCapabilitiesities`, `DescribeCoverage`, `GetCoverage` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilGetCapabilitiesities, DescribeCoverage, GetCoverage] | +| **service** | `WcsService` | | [Defaults to `undefined`] [Enum: WCS] | +| **gridoffsets** | `string` | | [Optional] [Defaults to `undefined`] | +| **gridorigin** | `string` | | [Optional] [Defaults to `undefined`] | +| **nodatavalue** | `number` | | [Optional] [Defaults to `undefined`] | +| **resx** | `number` | | [Optional] [Defaults to `undefined`] | +| **resy** | `number` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **version** | `WcsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | + +### Return type + +**string** + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: `text/xml` + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + +## wfsHandler + +> GeoJson wfsHandler(workflow, bbox, request, service, typeNames, count, filter, namespaces, propertyName, queryResolution, resultType, sortBy, srsName, time, version) + +OGC WFS endpoint + +### Example + +```ts +import { + Configuration, + OGCApi, +} from '@geoengine/openapi-client'; +import type { WfsHandlerRequest } from '@geoengine/openapi-client'; + +async function example() { + console.log("🚀 Testing @geoengine/openapi-client SDK..."); + const config = new Configuration({ + // Configure HTTP bearer authorization: session_token + accessToken: "YOUR BEARER TOKEN", + }); + const api = new OGCApi(config); + + const body = { + // string | Workflow id + workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, + // string + bbox: -90,-180,90,180, + // 'GetCapabilities' | 'GetFeature' | type of WFS request + request: request_example, + // WfsService + service: ..., + // string + typeNames: , + // number (optional) + count: 789, + // string (optional) + filter: filter_example, + // string (optional) + namespaces: namespaces_example, + // string (optional) + propertyName: propertyName_example, + // string | Vendor parameter for specifying a spatial query resolution (optional) + queryResolution: queryResolution_example, + // string (optional) + resultType: resultType_example, + // string (optional) + sortBy: sortBy_example, + // string (optional) + srsName: EPSG:4326, + // string (optional) + time: 2014-04-01T12:00:00.000Z, + // WfsVersion (optional) + version: ..., + } satisfies WfsHandlerRequest; + + try { + const data = await api.wfsHandler(body); + console.log(data); + } catch (error) { + console.error(error); + } +} + +// Run the test +example().catch(console.error); +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | +| **bbox** | `string` | | [Defaults to `undefined`] | +| **request** | `GetCapabilities`, `GetFeature` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | +| **service** | `WfsService` | | [Defaults to `undefined`] [Enum: WFS] | +| **typeNames** | `string` | | [Defaults to `undefined`] | +| **count** | `number` | | [Optional] [Defaults to `undefined`] | +| **filter** | `string` | | [Optional] [Defaults to `undefined`] | +| **namespaces** | `string` | | [Optional] [Defaults to `undefined`] | +| **propertyName** | `string` | | [Optional] [Defaults to `undefined`] | +| **queryResolution** | `string` | Vendor parameter for specifying a spatial query resolution | [Optional] [Defaults to `undefined`] | +| **resultType** | `string` | | [Optional] [Defaults to `undefined`] | +| **sortBy** | `string` | | [Optional] [Defaults to `undefined`] | +| **srsName** | `string` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **version** | `WfsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 2.0.0] | + +### Return type + +[**GeoJson**](GeoJson.md) + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: `application/json` + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + +## wmsHandler + +> string wmsHandler(workflow, bbox, height, layer, layers, queryLayers, request, service, styles, width, bgcolor, crs, elevation, exceptions, format, infoFormat, sld, sldBody, time, transparent, version) + +OGC WMS endpoint + +### Example + +```ts +import { + Configuration, + OGCApi, +} from '@geoengine/openapi-client'; +import type { WmsHandlerRequest } from '@geoengine/openapi-client'; + +async function example() { + console.log("🚀 Testing @geoengine/openapi-client SDK..."); + const config = new Configuration({ + // Configure HTTP bearer authorization: session_token + accessToken: "YOUR BEARER TOKEN", + }); + const api = new OGCApi(config); + + const body = { + // string | Workflow id + workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, + // string + bbox: -90,-180,90,180, + // number + height: 256, + // string + layer: layer_example, + // string + layers: , + // string + queryLayers: queryLayers_example, + // 'GetCapabilities' | 'GetMap' | 'GetFeatureInfo' | 'GetStyles' | 'GetLegendGraphic' | type of WMS request + request: request_example, + // WmsService + service: ..., + // string + styles: custom:{"type":"linearGradient","breakpoints":[{"value":1,"color":[0,0,0,255]},{"value":255,"color":[255,255,255,255]}],"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}, + // number + width: 512, + // string (optional) + bgcolor: bgcolor_example, + // string (optional) + crs: EPSG:4326, + // string (optional) + elevation: elevation_example, + // GetMapExceptionFormat (optional) + exceptions: ..., + // GetCapabilitiesFormat (optional) + format: ..., + // string (optional) + infoFormat: infoFormat_example, + // string (optional) + sld: sld_example, + // string (optional) + sldBody: sldBody_example, + // string (optional) + time: 2014-04-01T12:00:00.000Z, + // boolean (optional) + transparent: true, + // WmsVersion (optional) + version: ..., + } satisfies WmsHandlerRequest; + + try { + const data = await api.wmsHandler(body); + console.log(data); + } catch (error) { + console.error(error); + } +} + +// Run the test +example().catch(console.error); +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | +| **bbox** | `string` | | [Defaults to `undefined`] | +| **height** | `number` | | [Defaults to `undefined`] | +| **layer** | `string` | | [Defaults to `undefined`] | +| **layers** | `string` | | [Defaults to `undefined`] | +| **queryLayers** | `string` | | [Defaults to `undefined`] | +| **request** | `GetCapabilities`, `GetMap`, `GetFeatureInfo`, `GetStyles`, `GetLegendGraphic` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetMap, GetFeatureInfo, GetStyles, GetLegendGraphic] | +| **service** | `WmsService` | | [Defaults to `undefined`] [Enum: WMS] | +| **styles** | `string` | | [Defaults to `undefined`] | +| **width** | `number` | | [Defaults to `undefined`] | +| **bgcolor** | `string` | | [Optional] [Defaults to `undefined`] | +| **crs** | `string` | | [Optional] [Defaults to `undefined`] | +| **elevation** | `string` | | [Optional] [Defaults to `undefined`] | +| **exceptions** | `GetMapExceptionFormat` | | [Optional] [Defaults to `undefined`] [Enum: XML, JSON] | +| **format** | `GetCapabilitiesFormat` | | [Optional] [Defaults to `undefined`] [Enum: text/xml] | +| **infoFormat** | `string` | | [Optional] [Defaults to `undefined`] | +| **sld** | `string` | | [Optional] [Defaults to `undefined`] | +| **sldBody** | `string` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **transparent** | `boolean` | | [Optional] [Defaults to `undefined`] | +| **version** | `WmsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.3.0] | + +### Return type + +**string** + +### Authorization + +[session_token](../README.md#session_token) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: `text/xml` + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | OK | - | + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + diff --git a/typescript/src/apis/OGCApi.ts b/typescript/src/apis/OGCApi.ts new file mode 100644 index 00000000..d28a379e --- /dev/null +++ b/typescript/src/apis/OGCApi.ts @@ -0,0 +1,621 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + GeoJson, + GetCapabilitiesFormat, + GetCoverageFormat, + GetMapExceptionFormat, + WcsService, + WcsVersion, + WfsService, + WfsVersion, + WmsService, + WmsVersion, +} from '../models/index'; +import { + GeoJsonFromJSON, + GeoJsonToJSON, + GetCapabilitiesFormatFromJSON, + GetCapabilitiesFormatToJSON, + GetCoverageFormatFromJSON, + GetCoverageFormatToJSON, + GetMapExceptionFormatFromJSON, + GetMapExceptionFormatToJSON, + WcsServiceFromJSON, + WcsServiceToJSON, + WcsVersionFromJSON, + WcsVersionToJSON, + WfsServiceFromJSON, + WfsServiceToJSON, + WfsVersionFromJSON, + WfsVersionToJSON, + WmsServiceFromJSON, + WmsServiceToJSON, + WmsVersionFromJSON, + WmsVersionToJSON, +} from '../models/index'; + +export interface WcsHandlerRequest { + workflow: string; + boundingbox: string; + format: GetCoverageFormat; + gridbasecrs: string; + identifier: string; + identifiers: string; + request: WcsHandlerRequestEnum; + service: WcsService; + gridoffsets?: string; + gridorigin?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + time?: string; + version?: WcsVersion | null; +} + +export interface WfsHandlerRequest { + workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; + service: WfsService; + typeNames: string; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; +} + +export interface WmsHandlerRequest { + workflow: string; + bbox: string; + height: number; + layer: string; + layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; + styles: string; + width: number; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; +} + +/** + * + */ +export class OGCApi extends runtime.BaseAPI { + + /** + * OGC WCS endpoint + */ + async wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError( + 'workflow', + 'Required parameter "workflow" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['boundingbox'] == null) { + throw new runtime.RequiredError( + 'boundingbox', + 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['format'] == null) { + throw new runtime.RequiredError( + 'format', + 'Required parameter "format" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['gridbasecrs'] == null) { + throw new runtime.RequiredError( + 'gridbasecrs', + 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['identifier'] == null) { + throw new runtime.RequiredError( + 'identifier', + 'Required parameter "identifier" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['identifiers'] == null) { + throw new runtime.RequiredError( + 'identifiers', + 'Required parameter "identifiers" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['request'] == null) { + throw new runtime.RequiredError( + 'request', + 'Required parameter "request" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wcsHandler().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; + } + + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + } + + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + } + + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; + } + + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; + } + + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; + } + + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; + } + + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; + } + + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; + } + + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("session_token", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/wcs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * OGC WCS endpoint + */ + async wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wcsHandlerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * OGC WFS endpoint + */ + async wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError( + 'workflow', + 'Required parameter "workflow" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError( + 'bbox', + 'Required parameter "bbox" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['request'] == null) { + throw new runtime.RequiredError( + 'request', + 'Required parameter "request" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError( + 'typeNames', + 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; + } + + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; + } + + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; + } + + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; + } + + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; + } + + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; + } + + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("session_token", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/wfs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); + } + + /** + * OGC WFS endpoint + */ + async wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wfsHandlerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * OGC WMS endpoint + */ + async wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError( + 'workflow', + 'Required parameter "workflow" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError( + 'bbox', + 'Required parameter "bbox" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['height'] == null) { + throw new runtime.RequiredError( + 'height', + 'Required parameter "height" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError( + 'layer', + 'Required parameter "layer" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError( + 'layers', + 'Required parameter "layers" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError( + 'queryLayers', + 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['request'] == null) { + throw new runtime.RequiredError( + 'request', + 'Required parameter "request" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError( + 'styles', + 'Required parameter "styles" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['width'] == null) { + throw new runtime.RequiredError( + 'width', + 'Required parameter "width" was null or undefined when calling wmsHandler().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; + } + + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; + } + + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; + } + + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; + } + + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; + } + + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; + } + + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; + } + + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; + } + + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; + } + + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; + } + + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; + } + + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; + } + + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; + } + + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("session_token", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/wms/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * OGC WMS endpoint + */ + async wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wmsHandlerRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const WcsHandlerRequestEnum = { + GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +} as const; +export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; +/** + * @export + */ +export const WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +} as const; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; +/** + * @export + */ +export const WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +} as const; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/src/apis/OGCWCSApi.ts b/typescript/src/apis/OGCWCSApi.ts deleted file mode 100644 index 6c9d614f..00000000 --- a/typescript/src/apis/OGCWCSApi.ts +++ /dev/null @@ -1,391 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import * as runtime from '../runtime'; -import type { - DescribeCoverageRequest, - GetCapabilitiesRequest, - GetCoverageFormat, - GetCoverageRequest, - WcsService, - WcsVersion, -} from '../models/index'; -import { - DescribeCoverageRequestFromJSON, - DescribeCoverageRequestToJSON, - GetCapabilitiesRequestFromJSON, - GetCapabilitiesRequestToJSON, - GetCoverageFormatFromJSON, - GetCoverageFormatToJSON, - GetCoverageRequestFromJSON, - GetCoverageRequestToJSON, - WcsServiceFromJSON, - WcsServiceToJSON, - WcsVersionFromJSON, - WcsVersionToJSON, -} from '../models/index'; - -export interface WcsCapabilitiesHandlerRequest { - workflow: string; - service: WcsService; - request: GetCapabilitiesRequest; - version?: WcsVersion | null; -} - -export interface WcsDescribeCoverageHandlerRequest { - workflow: string; - version: WcsVersion; - service: WcsService; - request: DescribeCoverageRequest; - identifiers: string; -} - -export interface WcsGetCoverageHandlerRequest { - workflow: string; - version: WcsVersion; - service: WcsService; - request: GetCoverageRequest; - format: GetCoverageFormat; - identifier: string; - boundingbox: string; - gridbasecrs: string; - gridorigin?: string; - gridoffsets?: string; - time?: string; - resx?: number | null; - resy?: number | null; - nodatavalue?: number | null; -} - -/** - * - */ -export class OGCWCSApi extends runtime.BaseAPI { - - /** - * Get WCS Capabilities - */ - async wcsCapabilitiesHandlerRaw(requestParameters: WcsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wcsCapabilitiesHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wcsCapabilitiesHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wcsCapabilitiesHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wcs/{workflow}?request=GetCapabilities`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } - } - - /** - * Get WCS Capabilities - */ - async wcsCapabilitiesHandler(requestParameters: WcsCapabilitiesHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wcsCapabilitiesHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - - /** - * Get WCS Coverage Description - */ - async wcsDescribeCoverageHandlerRaw(requestParameters: WcsDescribeCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wcsDescribeCoverageHandler().' - ); - } - - if (requestParameters['version'] == null) { - throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wcsDescribeCoverageHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wcsDescribeCoverageHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wcsDescribeCoverageHandler().' - ); - } - - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError( - 'identifiers', - 'Required parameter "identifiers" was null or undefined when calling wcsDescribeCoverageHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wcs/{workflow}?request=DescribeCoverage`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } - } - - /** - * Get WCS Coverage Description - */ - async wcsDescribeCoverageHandler(requestParameters: WcsDescribeCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wcsDescribeCoverageHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - - /** - * Get WCS Coverage - */ - async wcsGetCoverageHandlerRaw(requestParameters: WcsGetCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - if (requestParameters['version'] == null) { - throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - if (requestParameters['format'] == null) { - throw new runtime.RequiredError( - 'format', - 'Required parameter "format" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError( - 'identifier', - 'Required parameter "identifier" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError( - 'boundingbox', - 'Required parameter "boundingbox" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError( - 'gridbasecrs', - 'Required parameter "gridbasecrs" was null or undefined when calling wcsGetCoverageHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; - } - - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; - } - - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; - } - - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; - } - - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; - } - - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; - } - - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; - } - - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wcs/{workflow}?request=GetCoverage`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - return new runtime.BlobApiResponse(response); - } - - /** - * Get WCS Coverage - */ - async wcsGetCoverageHandler(requestParameters: WcsGetCoverageHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wcsGetCoverageHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - -} diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts deleted file mode 100644 index 54afd543..00000000 --- a/typescript/src/apis/OGCWFSApi.ts +++ /dev/null @@ -1,192 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import * as runtime from '../runtime'; -import type { - GeoJson, - WfsService, - WfsVersion, -} from '../models/index'; -import { - GeoJsonFromJSON, - GeoJsonToJSON, - WfsServiceFromJSON, - WfsServiceToJSON, - WfsVersionFromJSON, - WfsVersionToJSON, -} from '../models/index'; - -export interface WfsHandlerRequest { - workflow: string; - bbox: string; - request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; -} - -/** - * - */ -export class OGCWFSApi extends runtime.BaseAPI { - - /** - * OGC WFS endpoint - */ - async wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError( - 'typeNames', - 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; - } - - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; - } - - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; - } - - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; - } - - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; - } - - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wfs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); - } - - /** - * OGC WFS endpoint - */ - async wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wfsHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - -} - -/** - * @export - */ -export const WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -} as const; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts deleted file mode 100644 index 4a62e1b8..00000000 --- a/typescript/src/apis/OGCWMSApi.ts +++ /dev/null @@ -1,267 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import * as runtime from '../runtime'; -import type { - GetCapabilitiesFormat, - GetMapExceptionFormat, - WmsService, - WmsVersion, -} from '../models/index'; -import { - GetCapabilitiesFormatFromJSON, - GetCapabilitiesFormatToJSON, - GetMapExceptionFormatFromJSON, - GetMapExceptionFormatToJSON, - WmsServiceFromJSON, - WmsServiceToJSON, - WmsVersionFromJSON, - WmsVersionToJSON, -} from '../models/index'; - -export interface WmsHandlerRequest { - workflow: string; - bbox: string; - height: number; - layer: string; - layers: string; - queryLayers: string; - request: WmsHandlerRequestEnum; - service: WmsService; - styles: string; - width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; -} - -/** - * - */ -export class OGCWMSApi extends runtime.BaseAPI { - - /** - * Get WMS Capabilities - */ - async wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['height'] == null) { - throw new runtime.RequiredError( - 'height', - 'Required parameter "height" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError( - 'layer', - 'Required parameter "layer" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError( - 'layers', - 'Required parameter "layers" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError( - 'queryLayers', - 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError( - 'styles', - 'Required parameter "styles" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['width'] == null) { - throw new runtime.RequiredError( - 'width', - 'Required parameter "width" was null or undefined when calling wmsHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; - } - - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; - } - - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; - } - - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; - } - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wms/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } - } - - /** - * Get WMS Capabilities - */ - async wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wmsHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - -} - -/** - * @export - */ -export const WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -} as const; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/src/apis/index.ts b/typescript/src/apis/index.ts index 6cf969fc..5ee11a64 100644 --- a/typescript/src/apis/index.ts +++ b/typescript/src/apis/index.ts @@ -4,9 +4,7 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCWCSApi'; -export * from './OGCWFSApi'; -export * from './OGCWMSApi'; +export * from './OGCApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; From 1829936103015f1adc593ea7fb2e70b695af7543 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 25 Nov 2025 11:30:09 +0100 Subject: [PATCH 04/15] update openapi-client --- .generation/input/openapi.json | 2 +- python/.openapi-generator/FILES | 12 +- python/README.md | 6 +- python/geoengine_openapi_client/__init__.py | 8 +- .../geoengine_openapi_client/api/__init__.py | 4 +- .../geoengine_openapi_client/api/ogc_api.py | 1640 ----------------- .../api/ogcwcs_api.py | 539 ++++++ .../api/ogcwfs_api.py | 539 ++++++ .../api/ogcwms_api.py | 642 +++++++ .../{test_ogc_api.py => test_ogcwcs_api.py} | 22 +- python/test/test_ogcwfs_api.py | 39 + python/test/test_ogcwms_api.py | 39 + typescript/README.md | 6 +- typescript/dist/apis/OGCApi.d.ts | 127 -- typescript/dist/apis/OGCApi.js | 383 ---- typescript/dist/apis/OGCWCSApi.d.ts | 52 + typescript/dist/apis/OGCWCSApi.js | 145 ++ typescript/dist/apis/OGCWFSApi.d.ts | 51 + typescript/dist/apis/OGCWFSApi.js | 131 ++ typescript/dist/apis/OGCWMSApi.d.ts | 60 + typescript/dist/apis/OGCWMSApi.js | 171 ++ typescript/dist/apis/index.d.ts | 4 +- typescript/dist/apis/index.js | 4 +- typescript/dist/esm/apis/OGCApi.d.ts | 127 -- typescript/dist/esm/apis/OGCApi.js | 379 ---- typescript/dist/esm/apis/OGCWCSApi.d.ts | 52 + typescript/dist/esm/apis/OGCWCSApi.js | 141 ++ typescript/dist/esm/apis/OGCWFSApi.d.ts | 51 + typescript/dist/esm/apis/OGCWFSApi.js | 127 ++ typescript/dist/esm/apis/OGCWMSApi.d.ts | 60 + typescript/dist/esm/apis/OGCWMSApi.js | 167 ++ typescript/dist/esm/apis/index.d.ts | 4 +- typescript/dist/esm/apis/index.js | 4 +- typescript/docs/OGCWCSApi.md | 226 +-- typescript/docs/OGCWMSApi.md | 4 +- typescript/src/apis/OGCApi.ts | 621 ------- typescript/src/apis/OGCWCSApi.ts | 218 +++ typescript/src/apis/OGCWFSApi.ts | 192 ++ typescript/src/apis/OGCWMSApi.ts | 267 +++ typescript/src/apis/index.ts | 4 +- 40 files changed, 3763 insertions(+), 3507 deletions(-) delete mode 100644 python/geoengine_openapi_client/api/ogc_api.py create mode 100644 python/geoengine_openapi_client/api/ogcwcs_api.py create mode 100644 python/geoengine_openapi_client/api/ogcwfs_api.py create mode 100644 python/geoengine_openapi_client/api/ogcwms_api.py rename python/test/{test_ogc_api.py => test_ogcwcs_api.py} (60%) create mode 100644 python/test/test_ogcwfs_api.py create mode 100644 python/test/test_ogcwms_api.py delete mode 100644 typescript/dist/apis/OGCApi.d.ts delete mode 100644 typescript/dist/apis/OGCApi.js create mode 100644 typescript/dist/apis/OGCWCSApi.d.ts create mode 100644 typescript/dist/apis/OGCWCSApi.js create mode 100644 typescript/dist/apis/OGCWFSApi.d.ts create mode 100644 typescript/dist/apis/OGCWFSApi.js create mode 100644 typescript/dist/apis/OGCWMSApi.d.ts create mode 100644 typescript/dist/apis/OGCWMSApi.js delete mode 100644 typescript/dist/esm/apis/OGCApi.d.ts delete mode 100644 typescript/dist/esm/apis/OGCApi.js create mode 100644 typescript/dist/esm/apis/OGCWCSApi.d.ts create mode 100644 typescript/dist/esm/apis/OGCWCSApi.js create mode 100644 typescript/dist/esm/apis/OGCWFSApi.d.ts create mode 100644 typescript/dist/esm/apis/OGCWFSApi.js create mode 100644 typescript/dist/esm/apis/OGCWMSApi.d.ts create mode 100644 typescript/dist/esm/apis/OGCWMSApi.js delete mode 100644 typescript/src/apis/OGCApi.ts create mode 100644 typescript/src/apis/OGCWCSApi.ts create mode 100644 typescript/src/apis/OGCWFSApi.ts create mode 100644 typescript/src/apis/OGCWMSApi.ts diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 3323edf2..ed5b940a 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":true,"schema":{"type":"string"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":true,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":true,"schema":{"type":"string"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":true,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index e0474946..817a5836 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -117,7 +117,9 @@ docs/MultiPoint.md docs/MultiPolygon.md docs/NetCdfCfDataProviderDefinition.md docs/NumberParam.md -docs/OGCApi.md +docs/OGCWCSApi.md +docs/OGCWFSApi.md +docs/OGCWMSApi.md docs/OgrMetaData.md docs/OgrSourceColumnSpec.md docs/OgrSourceDataset.md @@ -274,7 +276,9 @@ geoengine_openapi_client/api/datasets_api.py geoengine_openapi_client/api/general_api.py geoengine_openapi_client/api/layers_api.py geoengine_openapi_client/api/ml_api.py -geoengine_openapi_client/api/ogc_api.py +geoengine_openapi_client/api/ogcwcs_api.py +geoengine_openapi_client/api/ogcwfs_api.py +geoengine_openapi_client/api/ogcwms_api.py geoengine_openapi_client/api/permissions_api.py geoengine_openapi_client/api/plots_api.py geoengine_openapi_client/api/projects_api.py @@ -663,7 +667,9 @@ test/test_multi_point.py test/test_multi_polygon.py test/test_net_cdf_cf_data_provider_definition.py test/test_number_param.py -test/test_ogc_api.py +test/test_ogcwcs_api.py +test/test_ogcwfs_api.py +test/test_ogcwms_api.py test/test_ogr_meta_data.py test/test_ogr_source_column_spec.py test/test_ogr_source_dataset.py diff --git a/python/README.md b/python/README.md index d78d5deb..885d920d 100644 --- a/python/README.md +++ b/python/README.md @@ -135,9 +135,9 @@ Class | Method | HTTP request | Description *MLApi* | [**add_ml_model**](docs/MLApi.md#add_ml_model) | **POST** /ml/models | Create a new ml model. *MLApi* | [**get_ml_model**](docs/MLApi.md#get_ml_model) | **GET** /ml/models/{model_name} | Get ml model by name. *MLApi* | [**list_ml_models**](docs/MLApi.md#list_ml_models) | **GET** /ml/models | List ml models. -*OGCApi* | [**wcs_handler**](docs/OGCApi.md#wcs_handler) | **GET** /wcs/{workflow} | OGC WCS endpoint -*OGCApi* | [**wfs_handler**](docs/OGCApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint -*OGCApi* | [**wms_handler**](docs/OGCApi.md#wms_handler) | **GET** /wms/{workflow} | OGC WMS endpoint +*OGCWCSApi* | [**wcs_handler**](docs/OGCWCSApi.md#wcs_handler) | **GET** /wcs/{workflow} | OGC WCS endpoint +*OGCWFSApi* | [**wfs_handler**](docs/OGCWFSApi.md#wfs_handler) | **GET** /wfs/{workflow} | OGC WFS endpoint +*OGCWMSApi* | [**wms_handler**](docs/OGCWMSApi.md#wms_handler) | **GET** /wms/{workflow} | OGC WMS endpoint *PermissionsApi* | [**add_permission_handler**](docs/PermissionsApi.md#add_permission_handler) | **PUT** /permissions | Adds a new permission. *PermissionsApi* | [**get_resource_permissions_handler**](docs/PermissionsApi.md#get_resource_permissions_handler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. *PermissionsApi* | [**remove_permission_handler**](docs/PermissionsApi.md#remove_permission_handler) | **DELETE** /permissions | Removes an existing permission. diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index 6aa07dc6..26307970 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -23,7 +23,9 @@ "GeneralApi", "LayersApi", "MLApi", - "OGCApi", + "OGCWCSApi", + "OGCWFSApi", + "OGCWMSApi", "PermissionsApi", "PlotsApi", "ProjectsApi", @@ -300,7 +302,9 @@ from geoengine_openapi_client.api.general_api import GeneralApi as GeneralApi from geoengine_openapi_client.api.layers_api import LayersApi as LayersApi from geoengine_openapi_client.api.ml_api import MLApi as MLApi -from geoengine_openapi_client.api.ogc_api import OGCApi as OGCApi +from geoengine_openapi_client.api.ogcwcs_api import OGCWCSApi as OGCWCSApi +from geoengine_openapi_client.api.ogcwfs_api import OGCWFSApi as OGCWFSApi +from geoengine_openapi_client.api.ogcwms_api import OGCWMSApi as OGCWMSApi from geoengine_openapi_client.api.permissions_api import PermissionsApi as PermissionsApi from geoengine_openapi_client.api.plots_api import PlotsApi as PlotsApi from geoengine_openapi_client.api.projects_api import ProjectsApi as ProjectsApi diff --git a/python/geoengine_openapi_client/api/__init__.py b/python/geoengine_openapi_client/api/__init__.py index cdedf975..9f6abc5d 100644 --- a/python/geoengine_openapi_client/api/__init__.py +++ b/python/geoengine_openapi_client/api/__init__.py @@ -5,7 +5,9 @@ from geoengine_openapi_client.api.general_api import GeneralApi from geoengine_openapi_client.api.layers_api import LayersApi from geoengine_openapi_client.api.ml_api import MLApi -from geoengine_openapi_client.api.ogc_api import OGCApi +from geoengine_openapi_client.api.ogcwcs_api import OGCWCSApi +from geoengine_openapi_client.api.ogcwfs_api import OGCWFSApi +from geoengine_openapi_client.api.ogcwms_api import OGCWMSApi from geoengine_openapi_client.api.permissions_api import PermissionsApi from geoengine_openapi_client.api.plots_api import PlotsApi from geoengine_openapi_client.api.projects_api import ProjectsApi diff --git a/python/geoengine_openapi_client/api/ogc_api.py b/python/geoengine_openapi_client/api/ogc_api.py deleted file mode 100644 index 9e05d80a..00000000 --- a/python/geoengine_openapi_client/api/ogc_api.py +++ /dev/null @@ -1,1640 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator -from typing import Optional, Union -from typing_extensions import Annotated -from uuid import UUID -from geoengine_openapi_client.models.geo_json import GeoJson -from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat -from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat -from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat -from geoengine_openapi_client.models.wcs_service import WcsService -from geoengine_openapi_client.models.wcs_version import WcsVersion -from geoengine_openapi_client.models.wfs_service import WfsService -from geoengine_openapi_client.models.wfs_version import WfsVersion -from geoengine_openapi_client.models.wms_service import WmsService -from geoengine_openapi_client.models.wms_version import WmsVersion - -from geoengine_openapi_client.api_client import ApiClient, RequestSerialized -from geoengine_openapi_client.api_response import ApiResponse -from geoengine_openapi_client.rest import RESTResponseType - - -class OGCApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call - def wcs_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - boundingbox: StrictStr, - format: GetCoverageFormat, - gridbasecrs: StrictStr, - identifier: StrictStr, - identifiers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WcsService, - gridoffsets: Optional[StrictStr] = None, - gridorigin: Optional[StrictStr] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - time: Optional[StrictStr] = None, - version: Optional[WcsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: - """OGC WCS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param boundingbox: (required) - :type boundingbox: str - :param format: (required) - :type format: GetCoverageFormat - :param gridbasecrs: (required) - :type gridbasecrs: str - :param identifier: (required) - :type identifier: str - :param identifiers: (required) - :type identifiers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WcsService - :param gridoffsets: - :type gridoffsets: str - :param gridorigin: - :type gridorigin: str - :param nodatavalue: - :type nodatavalue: float - :param resx: - :type resx: float - :param resy: - :type resy: float - :param time: - :type time: str - :param version: - :type version: WcsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wcs_handler_serialize( - workflow=workflow, - boundingbox=boundingbox, - format=format, - gridbasecrs=gridbasecrs, - identifier=identifier, - identifiers=identifiers, - request=request, - service=service, - gridoffsets=gridoffsets, - gridorigin=gridorigin, - nodatavalue=nodatavalue, - resx=resx, - resy=resy, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wcs_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - boundingbox: StrictStr, - format: GetCoverageFormat, - gridbasecrs: StrictStr, - identifier: StrictStr, - identifiers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WcsService, - gridoffsets: Optional[StrictStr] = None, - gridorigin: Optional[StrictStr] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - time: Optional[StrictStr] = None, - version: Optional[WcsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: - """OGC WCS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param boundingbox: (required) - :type boundingbox: str - :param format: (required) - :type format: GetCoverageFormat - :param gridbasecrs: (required) - :type gridbasecrs: str - :param identifier: (required) - :type identifier: str - :param identifiers: (required) - :type identifiers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WcsService - :param gridoffsets: - :type gridoffsets: str - :param gridorigin: - :type gridorigin: str - :param nodatavalue: - :type nodatavalue: float - :param resx: - :type resx: float - :param resy: - :type resy: float - :param time: - :type time: str - :param version: - :type version: WcsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wcs_handler_serialize( - workflow=workflow, - boundingbox=boundingbox, - format=format, - gridbasecrs=gridbasecrs, - identifier=identifier, - identifiers=identifiers, - request=request, - service=service, - gridoffsets=gridoffsets, - gridorigin=gridorigin, - nodatavalue=nodatavalue, - resx=resx, - resy=resy, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wcs_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - boundingbox: StrictStr, - format: GetCoverageFormat, - gridbasecrs: StrictStr, - identifier: StrictStr, - identifiers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WcsService, - gridoffsets: Optional[StrictStr] = None, - gridorigin: Optional[StrictStr] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - time: Optional[StrictStr] = None, - version: Optional[WcsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """OGC WCS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param boundingbox: (required) - :type boundingbox: str - :param format: (required) - :type format: GetCoverageFormat - :param gridbasecrs: (required) - :type gridbasecrs: str - :param identifier: (required) - :type identifier: str - :param identifiers: (required) - :type identifiers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WcsService - :param gridoffsets: - :type gridoffsets: str - :param gridorigin: - :type gridorigin: str - :param nodatavalue: - :type nodatavalue: float - :param resx: - :type resx: float - :param resy: - :type resy: float - :param time: - :type time: str - :param version: - :type version: WcsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wcs_handler_serialize( - workflow=workflow, - boundingbox=boundingbox, - format=format, - gridbasecrs=gridbasecrs, - identifier=identifier, - identifiers=identifiers, - request=request, - service=service, - gridoffsets=gridoffsets, - gridorigin=gridorigin, - nodatavalue=nodatavalue, - resx=resx, - resy=resy, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wcs_handler_serialize( - self, - workflow, - boundingbox, - format, - gridbasecrs, - identifier, - identifiers, - request, - service, - gridoffsets, - gridorigin, - nodatavalue, - resx, - resy, - time, - version, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - # process the query parameters - if boundingbox is not None: - - _query_params.append(('boundingbox', boundingbox)) - - if format is not None: - - _query_params.append(('format', format.value)) - - if gridbasecrs is not None: - - _query_params.append(('gridbasecrs', gridbasecrs)) - - if gridoffsets is not None: - - _query_params.append(('gridoffsets', gridoffsets)) - - if gridorigin is not None: - - _query_params.append(('gridorigin', gridorigin)) - - if identifier is not None: - - _query_params.append(('identifier', identifier)) - - if identifiers is not None: - - _query_params.append(('identifiers', identifiers)) - - if nodatavalue is not None: - - _query_params.append(('nodatavalue', nodatavalue)) - - if request is not None: - - _query_params.append(('request', request)) - - if resx is not None: - - _query_params.append(('resx', resx)) - - if resy is not None: - - _query_params.append(('resy', resy)) - - if service is not None: - - _query_params.append(('service', service.value)) - - if time is not None: - - _query_params.append(('time', time)) - - if version is not None: - - _query_params.append(('version', version.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/xml' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/wcs/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def wfs_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> GeoJson: - """OGC WFS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: - :type count: int - :param filter: - :type filter: str - :param namespaces: - :type namespaces: str - :param property_name: - :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution - :type query_resolution: str - :param result_type: - :type result_type: str - :param sort_by: - :type sort_by: str - :param srs_name: - :type srs_name: str - :param time: - :type time: str - :param version: - :type version: WfsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_handler_serialize( - workflow=workflow, - bbox=bbox, - request=request, - service=service, - type_names=type_names, - count=count, - filter=filter, - namespaces=namespaces, - property_name=property_name, - query_resolution=query_resolution, - result_type=result_type, - sort_by=sort_by, - srs_name=srs_name, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GeoJson", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wfs_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[GeoJson]: - """OGC WFS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: - :type count: int - :param filter: - :type filter: str - :param namespaces: - :type namespaces: str - :param property_name: - :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution - :type query_resolution: str - :param result_type: - :type result_type: str - :param sort_by: - :type sort_by: str - :param srs_name: - :type srs_name: str - :param time: - :type time: str - :param version: - :type version: WfsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_handler_serialize( - workflow=workflow, - bbox=bbox, - request=request, - service=service, - type_names=type_names, - count=count, - filter=filter, - namespaces=namespaces, - property_name=property_name, - query_resolution=query_resolution, - result_type=result_type, - sort_by=sort_by, - srs_name=srs_name, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GeoJson", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wfs_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """OGC WFS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: - :type count: int - :param filter: - :type filter: str - :param namespaces: - :type namespaces: str - :param property_name: - :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution - :type query_resolution: str - :param result_type: - :type result_type: str - :param sort_by: - :type sort_by: str - :param srs_name: - :type srs_name: str - :param time: - :type time: str - :param version: - :type version: WfsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wfs_handler_serialize( - workflow=workflow, - bbox=bbox, - request=request, - service=service, - type_names=type_names, - count=count, - filter=filter, - namespaces=namespaces, - property_name=property_name, - query_resolution=query_resolution, - result_type=result_type, - sort_by=sort_by, - srs_name=srs_name, - time=time, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "GeoJson", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wfs_handler_serialize( - self, - workflow, - bbox, - request, - service, - type_names, - count, - filter, - namespaces, - property_name, - query_resolution, - result_type, - sort_by, - srs_name, - time, - version, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - # process the query parameters - if bbox is not None: - - _query_params.append(('bbox', bbox)) - - if count is not None: - - _query_params.append(('count', count)) - - if filter is not None: - - _query_params.append(('filter', filter)) - - if namespaces is not None: - - _query_params.append(('namespaces', namespaces)) - - if property_name is not None: - - _query_params.append(('propertyName', property_name)) - - if query_resolution is not None: - - _query_params.append(('queryResolution', query_resolution)) - - if request is not None: - - _query_params.append(('request', request)) - - if result_type is not None: - - _query_params.append(('resultType', result_type)) - - if service is not None: - - _query_params.append(('service', service.value)) - - if sort_by is not None: - - _query_params.append(('sortBy', sort_by)) - - if srs_name is not None: - - _query_params.append(('srsName', srs_name)) - - if time is not None: - - _query_params.append(('time', time)) - - if type_names is not None: - - _query_params.append(('typeNames', type_names)) - - if version is not None: - - _query_params.append(('version', version.value)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/wfs/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def wms_handler( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - height: Annotated[int, Field(strict=True, ge=0)], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - styles: StrictStr, - width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: - """OGC WMS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param height: (required) - :type height: int - :param layer: (required) - :type layer: str - :param layers: (required) - :type layers: str - :param query_layers: (required) - :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str - :param time: - :type time: str - :param transparent: - :type transparent: bool - :param version: - :type version: WmsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_handler_serialize( - workflow=workflow, - bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, - bgcolor=bgcolor, - crs=crs, - elevation=elevation, - exceptions=exceptions, - format=format, - info_format=info_format, - sld=sld, - sld_body=sld_body, - time=time, - transparent=transparent, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def wms_handler_with_http_info( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - height: Annotated[int, Field(strict=True, ge=0)], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - styles: StrictStr, - width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: - """OGC WMS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param height: (required) - :type height: int - :param layer: (required) - :type layer: str - :param layers: (required) - :type layers: str - :param query_layers: (required) - :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str - :param time: - :type time: str - :param transparent: - :type transparent: bool - :param version: - :type version: WmsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_handler_serialize( - workflow=workflow, - bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, - bgcolor=bgcolor, - crs=crs, - elevation=elevation, - exceptions=exceptions, - format=format, - info_format=info_format, - sld=sld, - sld_body=sld_body, - time=time, - transparent=transparent, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def wms_handler_without_preload_content( - self, - workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - height: Annotated[int, Field(strict=True, ge=0)], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, - request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - styles: StrictStr, - width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """OGC WMS endpoint - - - :param workflow: Workflow id (required) - :type workflow: str - :param bbox: (required) - :type bbox: str - :param height: (required) - :type height: int - :param layer: (required) - :type layer: str - :param layers: (required) - :type layers: str - :param query_layers: (required) - :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) - :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: - :type sld: str - :param sld_body: - :type sld_body: str - :param time: - :type time: str - :param transparent: - :type transparent: bool - :param version: - :type version: WmsVersion - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._wms_handler_serialize( - workflow=workflow, - bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, - bgcolor=bgcolor, - crs=crs, - elevation=elevation, - exceptions=exceptions, - format=format, - info_format=info_format, - sld=sld, - sld_body=sld_body, - time=time, - transparent=transparent, - version=version, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "str", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _wms_handler_serialize( - self, - workflow, - bbox, - height, - layer, - layers, - query_layers, - request, - service, - styles, - width, - bgcolor, - crs, - elevation, - exceptions, - format, - info_format, - sld, - sld_body, - time, - transparent, - version, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if workflow is not None: - _path_params['workflow'] = workflow - # process the query parameters - if bbox is not None: - - _query_params.append(('bbox', bbox)) - - if bgcolor is not None: - - _query_params.append(('bgcolor', bgcolor)) - - if crs is not None: - - _query_params.append(('crs', crs)) - - if elevation is not None: - - _query_params.append(('elevation', elevation)) - - if exceptions is not None: - - _query_params.append(('exceptions', exceptions.value)) - - if format is not None: - - _query_params.append(('format', format.value)) - - if height is not None: - - _query_params.append(('height', height)) - - if info_format is not None: - - _query_params.append(('info_format', info_format)) - - if layer is not None: - - _query_params.append(('layer', layer)) - - if layers is not None: - - _query_params.append(('layers', layers)) - - if query_layers is not None: - - _query_params.append(('query_layers', query_layers)) - - if request is not None: - - _query_params.append(('request', request)) - - if service is not None: - - _query_params.append(('service', service.value)) - - if sld is not None: - - _query_params.append(('sld', sld)) - - if sld_body is not None: - - _query_params.append(('sld_body', sld_body)) - - if styles is not None: - - _query_params.append(('styles', styles)) - - if time is not None: - - _query_params.append(('time', time)) - - if transparent is not None: - - _query_params.append(('transparent', transparent)) - - if version is not None: - - _query_params.append(('version', version.value)) - - if width is not None: - - _query_params.append(('width', width)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'text/xml' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'session_token' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/wms/{workflow}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/python/geoengine_openapi_client/api/ogcwcs_api.py b/python/geoengine_openapi_client/api/ogcwcs_api.py new file mode 100644 index 00000000..fed04194 --- /dev/null +++ b/python/geoengine_openapi_client/api/ogcwcs_api.py @@ -0,0 +1,539 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictFloat, StrictInt, StrictStr, field_validator +from typing import Optional, Union +from typing_extensions import Annotated +from uuid import UUID +from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat +from geoengine_openapi_client.models.wcs_service import WcsService +from geoengine_openapi_client.models.wcs_version import WcsVersion + +from geoengine_openapi_client.api_client import ApiClient, RequestSerialized +from geoengine_openapi_client.api_response import ApiResponse +from geoengine_openapi_client.rest import RESTResponseType + + +class OGCWCSApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def wcs_handler( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + boundingbox: StrictStr, + format: GetCoverageFormat, + gridbasecrs: StrictStr, + identifier: StrictStr, + identifiers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WcsService, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + time: Optional[StrictStr] = None, + version: Optional[WcsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> str: + """OGC WCS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param boundingbox: (required) + :type boundingbox: str + :param format: (required) + :type format: GetCoverageFormat + :param gridbasecrs: (required) + :type gridbasecrs: str + :param identifier: (required) + :type identifier: str + :param identifiers: (required) + :type identifiers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WcsService + :param gridoffsets: + :type gridoffsets: str + :param gridorigin: + :type gridorigin: str + :param nodatavalue: + :type nodatavalue: float + :param resx: + :type resx: float + :param resy: + :type resy: float + :param time: + :type time: str + :param version: + :type version: WcsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wcs_handler_serialize( + workflow=workflow, + boundingbox=boundingbox, + format=format, + gridbasecrs=gridbasecrs, + identifier=identifier, + identifiers=identifiers, + request=request, + service=service, + gridoffsets=gridoffsets, + gridorigin=gridorigin, + nodatavalue=nodatavalue, + resx=resx, + resy=resy, + time=time, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def wcs_handler_with_http_info( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + boundingbox: StrictStr, + format: GetCoverageFormat, + gridbasecrs: StrictStr, + identifier: StrictStr, + identifiers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WcsService, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + time: Optional[StrictStr] = None, + version: Optional[WcsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[str]: + """OGC WCS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param boundingbox: (required) + :type boundingbox: str + :param format: (required) + :type format: GetCoverageFormat + :param gridbasecrs: (required) + :type gridbasecrs: str + :param identifier: (required) + :type identifier: str + :param identifiers: (required) + :type identifiers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WcsService + :param gridoffsets: + :type gridoffsets: str + :param gridorigin: + :type gridorigin: str + :param nodatavalue: + :type nodatavalue: float + :param resx: + :type resx: float + :param resy: + :type resy: float + :param time: + :type time: str + :param version: + :type version: WcsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wcs_handler_serialize( + workflow=workflow, + boundingbox=boundingbox, + format=format, + gridbasecrs=gridbasecrs, + identifier=identifier, + identifiers=identifiers, + request=request, + service=service, + gridoffsets=gridoffsets, + gridorigin=gridorigin, + nodatavalue=nodatavalue, + resx=resx, + resy=resy, + time=time, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def wcs_handler_without_preload_content( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + boundingbox: StrictStr, + format: GetCoverageFormat, + gridbasecrs: StrictStr, + identifier: StrictStr, + identifiers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WcsService, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + time: Optional[StrictStr] = None, + version: Optional[WcsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """OGC WCS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param boundingbox: (required) + :type boundingbox: str + :param format: (required) + :type format: GetCoverageFormat + :param gridbasecrs: (required) + :type gridbasecrs: str + :param identifier: (required) + :type identifier: str + :param identifiers: (required) + :type identifiers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WcsService + :param gridoffsets: + :type gridoffsets: str + :param gridorigin: + :type gridorigin: str + :param nodatavalue: + :type nodatavalue: float + :param resx: + :type resx: float + :param resy: + :type resy: float + :param time: + :type time: str + :param version: + :type version: WcsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wcs_handler_serialize( + workflow=workflow, + boundingbox=boundingbox, + format=format, + gridbasecrs=gridbasecrs, + identifier=identifier, + identifiers=identifiers, + request=request, + service=service, + gridoffsets=gridoffsets, + gridorigin=gridorigin, + nodatavalue=nodatavalue, + resx=resx, + resy=resy, + time=time, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _wcs_handler_serialize( + self, + workflow, + boundingbox, + format, + gridbasecrs, + identifier, + identifiers, + request, + service, + gridoffsets, + gridorigin, + nodatavalue, + resx, + resy, + time, + version, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if workflow is not None: + _path_params['workflow'] = workflow + # process the query parameters + if boundingbox is not None: + + _query_params.append(('boundingbox', boundingbox)) + + if format is not None: + + _query_params.append(('format', format.value)) + + if gridbasecrs is not None: + + _query_params.append(('gridbasecrs', gridbasecrs)) + + if gridoffsets is not None: + + _query_params.append(('gridoffsets', gridoffsets)) + + if gridorigin is not None: + + _query_params.append(('gridorigin', gridorigin)) + + if identifier is not None: + + _query_params.append(('identifier', identifier)) + + if identifiers is not None: + + _query_params.append(('identifiers', identifiers)) + + if nodatavalue is not None: + + _query_params.append(('nodatavalue', nodatavalue)) + + if request is not None: + + _query_params.append(('request', request)) + + if resx is not None: + + _query_params.append(('resx', resx)) + + if resy is not None: + + _query_params.append(('resy', resy)) + + if service is not None: + + _query_params.append(('service', service.value)) + + if time is not None: + + _query_params.append(('time', time)) + + if version is not None: + + _query_params.append(('version', version.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/xml' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'session_token' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/wcs/{workflow}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py new file mode 100644 index 00000000..fb04df9b --- /dev/null +++ b/python/geoengine_openapi_client/api/ogcwfs_api.py @@ -0,0 +1,539 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from uuid import UUID +from geoengine_openapi_client.models.geo_json import GeoJson +from geoengine_openapi_client.models.wfs_service import WfsService +from geoengine_openapi_client.models.wfs_version import WfsVersion + +from geoengine_openapi_client.api_client import ApiClient, RequestSerialized +from geoengine_openapi_client.api_response import ApiResponse +from geoengine_openapi_client.rest import RESTResponseType + + +class OGCWFSApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def wfs_handler( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], + service: WfsService, + type_names: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GeoJson: + """OGC WFS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str + :param service: (required) + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: + :type count: int + :param filter: + :type filter: str + :param namespaces: + :type namespaces: str + :param property_name: + :type property_name: str + :param query_resolution: Vendor parameter for specifying a spatial query resolution + :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wfs_handler_serialize( + workflow=workflow, + bbox=bbox, + request=request, + service=service, + type_names=type_names, + count=count, + filter=filter, + namespaces=namespaces, + property_name=property_name, + query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GeoJson", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def wfs_handler_with_http_info( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], + service: WfsService, + type_names: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GeoJson]: + """OGC WFS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str + :param service: (required) + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: + :type count: int + :param filter: + :type filter: str + :param namespaces: + :type namespaces: str + :param property_name: + :type property_name: str + :param query_resolution: Vendor parameter for specifying a spatial query resolution + :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wfs_handler_serialize( + workflow=workflow, + bbox=bbox, + request=request, + service=service, + type_names=type_names, + count=count, + filter=filter, + namespaces=namespaces, + property_name=property_name, + query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GeoJson", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def wfs_handler_without_preload_content( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + request: Annotated[StrictStr, Field(description="type of WFS request")], + service: WfsService, + type_names: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """OGC WFS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param bbox: (required) + :type bbox: str + :param request: type of WFS request (required) + :type request: str + :param service: (required) + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: + :type count: int + :param filter: + :type filter: str + :param namespaces: + :type namespaces: str + :param property_name: + :type property_name: str + :param query_resolution: Vendor parameter for specifying a spatial query resolution + :type query_resolution: str + :param result_type: + :type result_type: str + :param sort_by: + :type sort_by: str + :param srs_name: + :type srs_name: str + :param time: + :type time: str + :param version: + :type version: WfsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wfs_handler_serialize( + workflow=workflow, + bbox=bbox, + request=request, + service=service, + type_names=type_names, + count=count, + filter=filter, + namespaces=namespaces, + property_name=property_name, + query_resolution=query_resolution, + result_type=result_type, + sort_by=sort_by, + srs_name=srs_name, + time=time, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GeoJson", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _wfs_handler_serialize( + self, + workflow, + bbox, + request, + service, + type_names, + count, + filter, + namespaces, + property_name, + query_resolution, + result_type, + sort_by, + srs_name, + time, + version, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if workflow is not None: + _path_params['workflow'] = workflow + # process the query parameters + if bbox is not None: + + _query_params.append(('bbox', bbox)) + + if count is not None: + + _query_params.append(('count', count)) + + if filter is not None: + + _query_params.append(('filter', filter)) + + if namespaces is not None: + + _query_params.append(('namespaces', namespaces)) + + if property_name is not None: + + _query_params.append(('propertyName', property_name)) + + if query_resolution is not None: + + _query_params.append(('queryResolution', query_resolution)) + + if request is not None: + + _query_params.append(('request', request)) + + if result_type is not None: + + _query_params.append(('resultType', result_type)) + + if service is not None: + + _query_params.append(('service', service.value)) + + if sort_by is not None: + + _query_params.append(('sortBy', sort_by)) + + if srs_name is not None: + + _query_params.append(('srsName', srs_name)) + + if time is not None: + + _query_params.append(('time', time)) + + if type_names is not None: + + _query_params.append(('typeNames', type_names)) + + if version is not None: + + _query_params.append(('version', version.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'session_token' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/wfs/{workflow}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py new file mode 100644 index 00000000..3b57c1ce --- /dev/null +++ b/python/geoengine_openapi_client/api/ogcwms_api.py @@ -0,0 +1,642 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBool, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from uuid import UUID +from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat +from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat +from geoengine_openapi_client.models.wms_service import WmsService +from geoengine_openapi_client.models.wms_version import WmsVersion + +from geoengine_openapi_client.api_client import ApiClient, RequestSerialized +from geoengine_openapi_client.api_response import ApiResponse +from geoengine_openapi_client.rest import RESTResponseType + + +class OGCWMSApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def wms_handler( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, + layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, + styles: StrictStr, + width: Annotated[int, Field(strict=True, ge=0)], + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> str: + """OGC WMS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param bbox: (required) + :type bbox: str + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str + :param layers: (required) + :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WmsService + :param styles: (required) + :type styles: str + :param width: (required) + :type width: int + :param bgcolor: + :type bgcolor: str + :param crs: + :type crs: str + :param elevation: + :type elevation: str + :param exceptions: + :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str + :param time: + :type time: str + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wms_handler_serialize( + workflow=workflow, + bbox=bbox, + height=height, + layer=layer, + layers=layers, + query_layers=query_layers, + request=request, + service=service, + styles=styles, + width=width, + bgcolor=bgcolor, + crs=crs, + elevation=elevation, + exceptions=exceptions, + format=format, + info_format=info_format, + sld=sld, + sld_body=sld_body, + time=time, + transparent=transparent, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def wms_handler_with_http_info( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, + layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, + styles: StrictStr, + width: Annotated[int, Field(strict=True, ge=0)], + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[str]: + """OGC WMS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param bbox: (required) + :type bbox: str + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str + :param layers: (required) + :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WmsService + :param styles: (required) + :type styles: str + :param width: (required) + :type width: int + :param bgcolor: + :type bgcolor: str + :param crs: + :type crs: str + :param elevation: + :type elevation: str + :param exceptions: + :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str + :param time: + :type time: str + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wms_handler_serialize( + workflow=workflow, + bbox=bbox, + height=height, + layer=layer, + layers=layers, + query_layers=query_layers, + request=request, + service=service, + styles=styles, + width=width, + bgcolor=bgcolor, + crs=crs, + elevation=elevation, + exceptions=exceptions, + format=format, + info_format=info_format, + sld=sld, + sld_body=sld_body, + time=time, + transparent=transparent, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def wms_handler_without_preload_content( + self, + workflow: Annotated[UUID, Field(description="Workflow id")], + bbox: StrictStr, + height: Annotated[int, Field(strict=True, ge=0)], + layer: StrictStr, + layers: StrictStr, + query_layers: StrictStr, + request: Annotated[StrictStr, Field(description="type of WMS request")], + service: WmsService, + styles: StrictStr, + width: Annotated[int, Field(strict=True, ge=0)], + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + info_format: Optional[StrictStr] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """OGC WMS endpoint + + + :param workflow: Workflow id (required) + :type workflow: str + :param bbox: (required) + :type bbox: str + :param height: (required) + :type height: int + :param layer: (required) + :type layer: str + :param layers: (required) + :type layers: str + :param query_layers: (required) + :type query_layers: str + :param request: type of WMS request (required) + :type request: str + :param service: (required) + :type service: WmsService + :param styles: (required) + :type styles: str + :param width: (required) + :type width: int + :param bgcolor: + :type bgcolor: str + :param crs: + :type crs: str + :param elevation: + :type elevation: str + :param exceptions: + :type exceptions: GetMapExceptionFormat + :param format: + :type format: GetCapabilitiesFormat + :param info_format: + :type info_format: str + :param sld: + :type sld: str + :param sld_body: + :type sld_body: str + :param time: + :type time: str + :param transparent: + :type transparent: bool + :param version: + :type version: WmsVersion + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._wms_handler_serialize( + workflow=workflow, + bbox=bbox, + height=height, + layer=layer, + layers=layers, + query_layers=query_layers, + request=request, + service=service, + styles=styles, + width=width, + bgcolor=bgcolor, + crs=crs, + elevation=elevation, + exceptions=exceptions, + format=format, + info_format=info_format, + sld=sld, + sld_body=sld_body, + time=time, + transparent=transparent, + version=version, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _wms_handler_serialize( + self, + workflow, + bbox, + height, + layer, + layers, + query_layers, + request, + service, + styles, + width, + bgcolor, + crs, + elevation, + exceptions, + format, + info_format, + sld, + sld_body, + time, + transparent, + version, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if workflow is not None: + _path_params['workflow'] = workflow + # process the query parameters + if bbox is not None: + + _query_params.append(('bbox', bbox)) + + if bgcolor is not None: + + _query_params.append(('bgcolor', bgcolor)) + + if crs is not None: + + _query_params.append(('crs', crs)) + + if elevation is not None: + + _query_params.append(('elevation', elevation)) + + if exceptions is not None: + + _query_params.append(('exceptions', exceptions.value)) + + if format is not None: + + _query_params.append(('format', format.value)) + + if height is not None: + + _query_params.append(('height', height)) + + if info_format is not None: + + _query_params.append(('info_format', info_format)) + + if layer is not None: + + _query_params.append(('layer', layer)) + + if layers is not None: + + _query_params.append(('layers', layers)) + + if query_layers is not None: + + _query_params.append(('query_layers', query_layers)) + + if request is not None: + + _query_params.append(('request', request)) + + if service is not None: + + _query_params.append(('service', service.value)) + + if sld is not None: + + _query_params.append(('sld', sld)) + + if sld_body is not None: + + _query_params.append(('sld_body', sld_body)) + + if styles is not None: + + _query_params.append(('styles', styles)) + + if time is not None: + + _query_params.append(('time', time)) + + if transparent is not None: + + _query_params.append(('transparent', transparent)) + + if version is not None: + + _query_params.append(('version', version.value)) + + if width is not None: + + _query_params.append(('width', width)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'text/xml' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'session_token' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/wms/{workflow}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/python/test/test_ogc_api.py b/python/test/test_ogcwcs_api.py similarity index 60% rename from python/test/test_ogc_api.py rename to python/test/test_ogcwcs_api.py index b178c4ad..bc55f610 100644 --- a/python/test/test_ogc_api.py +++ b/python/test/test_ogcwcs_api.py @@ -15,14 +15,14 @@ import unittest -from geoengine_openapi_client.api.ogc_api import OGCApi +from geoengine_openapi_client.api.ogcwcs_api import OGCWCSApi -class TestOGCApi(unittest.TestCase): - """OGCApi unit test stubs""" +class TestOGCWCSApi(unittest.TestCase): + """OGCWCSApi unit test stubs""" def setUp(self) -> None: - self.api = OGCApi() + self.api = OGCWCSApi() def tearDown(self) -> None: pass @@ -34,20 +34,6 @@ def test_wcs_handler(self) -> None: """ pass - def test_wfs_handler(self) -> None: - """Test case for wfs_handler - - OGC WFS endpoint - """ - pass - - def test_wms_handler(self) -> None: - """Test case for wms_handler - - OGC WMS endpoint - """ - pass - if __name__ == '__main__': unittest.main() diff --git a/python/test/test_ogcwfs_api.py b/python/test/test_ogcwfs_api.py new file mode 100644 index 00000000..4b2b0b0c --- /dev/null +++ b/python/test/test_ogcwfs_api.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.api.ogcwfs_api import OGCWFSApi + + +class TestOGCWFSApi(unittest.TestCase): + """OGCWFSApi unit test stubs""" + + def setUp(self) -> None: + self.api = OGCWFSApi() + + def tearDown(self) -> None: + pass + + def test_wfs_handler(self) -> None: + """Test case for wfs_handler + + OGC WFS endpoint + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_ogcwms_api.py b/python/test/test_ogcwms_api.py new file mode 100644 index 00000000..2f9605f9 --- /dev/null +++ b/python/test/test_ogcwms_api.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.api.ogcwms_api import OGCWMSApi + + +class TestOGCWMSApi(unittest.TestCase): + """OGCWMSApi unit test stubs""" + + def setUp(self) -> None: + self.api = OGCWMSApi() + + def tearDown(self) -> None: + pass + + def test_wms_handler(self) -> None: + """Test case for wms_handler + + OGC WMS endpoint + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/typescript/README.md b/typescript/README.md index a37ee7c5..ba2345b1 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -98,9 +98,9 @@ All URIs are relative to *http://127.0.0.1:3030/api* *MLApi* | [**addMlModel**](docs/MLApi.md#addmlmodel) | **POST** /ml/models | Create a new ml model. *MLApi* | [**getMlModel**](docs/MLApi.md#getmlmodel) | **GET** /ml/models/{model_name} | Get ml model by name. *MLApi* | [**listMlModels**](docs/MLApi.md#listmlmodels) | **GET** /ml/models | List ml models. -*OGCApi* | [**wcsHandler**](docs/OGCApi.md#wcshandler) | **GET** /wcs/{workflow} | OGC WCS endpoint -*OGCApi* | [**wfsHandler**](docs/OGCApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint -*OGCApi* | [**wmsHandler**](docs/OGCApi.md#wmshandler) | **GET** /wms/{workflow} | OGC WMS endpoint +*OGCWCSApi* | [**wcsHandler**](docs/OGCWCSApi.md#wcshandler) | **GET** /wcs/{workflow} | OGC WCS endpoint +*OGCWFSApi* | [**wfsHandler**](docs/OGCWFSApi.md#wfshandler) | **GET** /wfs/{workflow} | OGC WFS endpoint +*OGCWMSApi* | [**wmsHandler**](docs/OGCWMSApi.md#wmshandler) | **GET** /wms/{workflow} | OGC WMS endpoint *PermissionsApi* | [**addPermissionHandler**](docs/PermissionsApi.md#addpermissionhandler) | **PUT** /permissions | Adds a new permission. *PermissionsApi* | [**getResourcePermissionsHandler**](docs/PermissionsApi.md#getresourcepermissionshandler) | **GET** /permissions/resources/{resource_type}/{resource_id} | Lists permission for a given resource. *PermissionsApi* | [**removePermissionHandler**](docs/PermissionsApi.md#removepermissionhandler) | **DELETE** /permissions | Removes an existing permission. diff --git a/typescript/dist/apis/OGCApi.d.ts b/typescript/dist/apis/OGCApi.d.ts deleted file mode 100644 index 3d8afbdb..00000000 --- a/typescript/dist/apis/OGCApi.d.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { GeoJson, GetCapabilitiesFormat, GetCoverageFormat, GetMapExceptionFormat, WcsService, WcsVersion, WfsService, WfsVersion, WmsService, WmsVersion } from '../models/index'; -export interface WcsHandlerRequest { - workflow: string; - boundingbox: string; - format: GetCoverageFormat; - gridbasecrs: string; - identifier: string; - identifiers: string; - request: WcsHandlerRequestEnum; - service: WcsService; - gridoffsets?: string; - gridorigin?: string; - nodatavalue?: number | null; - resx?: number | null; - resy?: number | null; - time?: string; - version?: WcsVersion | null; -} -export interface WfsHandlerRequest { - workflow: string; - bbox: string; - request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; -} -export interface WmsHandlerRequest { - workflow: string; - bbox: string; - height: number; - layer: string; - layers: string; - queryLayers: string; - request: WmsHandlerRequestEnum; - service: WmsService; - styles: string; - width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; -} -/** - * - */ -export declare class OGCApi extends runtime.BaseAPI { - /** - * OGC WCS endpoint - */ - wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WCS endpoint - */ - wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * OGC WMS endpoint - */ - wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WMS endpoint - */ - wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} -/** - * @export - */ -export declare const WcsHandlerRequestEnum: { - readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; - readonly DescribeCoverage: "DescribeCoverage"; - readonly GetCoverage: "GetCoverage"; -}; -export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; -/** - * @export - */ -export declare const WfsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetFeature: "GetFeature"; -}; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; -/** - * @export - */ -export declare const WmsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetMap: "GetMap"; - readonly GetFeatureInfo: "GetFeatureInfo"; - readonly GetStyles: "GetStyles"; - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCApi.js b/typescript/dist/apis/OGCApi.js deleted file mode 100644 index ad30d851..00000000 --- a/typescript/dist/apis/OGCApi.js +++ /dev/null @@ -1,383 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.WmsHandlerRequestEnum = exports.WfsHandlerRequestEnum = exports.WcsHandlerRequestEnum = exports.OGCApi = void 0; -const runtime = require("../runtime"); -const index_1 = require("../models/index"); -/** - * - */ -class OGCApi extends runtime.BaseAPI { - /** - * OGC WCS endpoint - */ - wcsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); - } - const queryParameters = {}; - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; - } - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; - } - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; - } - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; - } - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; - } - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; - } - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wcs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * OGC WCS endpoint - */ - wcsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; - } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; - } - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; - } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; - } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wfs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.GeoJsonFromJSON)(jsonValue)); - }); - } - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * OGC WMS endpoint - */ - wmsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; - } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wms/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * OGC WMS endpoint - */ - wmsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } -} -exports.OGCApi = OGCApi; -/** - * @export - */ -exports.WcsHandlerRequestEnum = { - GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', - DescribeCoverage: 'DescribeCoverage', - GetCoverage: 'GetCoverage' -}; -/** - * @export - */ -exports.WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -}; -/** - * @export - */ -exports.WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -}; diff --git a/typescript/dist/apis/OGCWCSApi.d.ts b/typescript/dist/apis/OGCWCSApi.d.ts new file mode 100644 index 00000000..d3431654 --- /dev/null +++ b/typescript/dist/apis/OGCWCSApi.d.ts @@ -0,0 +1,52 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GetCoverageFormat, WcsService, WcsVersion } from '../models/index'; +export interface WcsHandlerRequest { + workflow: string; + boundingbox: string; + format: GetCoverageFormat; + gridbasecrs: string; + identifier: string; + identifiers: string; + request: WcsHandlerRequestEnum; + service: WcsService; + gridoffsets?: string; + gridorigin?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + time?: string; + version?: WcsVersion | null; +} +/** + * + */ +export declare class OGCWCSApi extends runtime.BaseAPI { + /** + * OGC WCS endpoint + */ + wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WCS endpoint + */ + wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WcsHandlerRequestEnum: { + readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; + readonly DescribeCoverage: "DescribeCoverage"; + readonly GetCoverage: "GetCoverage"; +}; +export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWCSApi.js b/typescript/dist/apis/OGCWCSApi.js new file mode 100644 index 00000000..b3b265a8 --- /dev/null +++ b/typescript/dist/apis/OGCWCSApi.js @@ -0,0 +1,145 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WcsHandlerRequestEnum = exports.OGCWCSApi = void 0; +const runtime = require("../runtime"); +/** + * + */ +class OGCWCSApi extends runtime.BaseAPI { + /** + * OGC WCS endpoint + */ + wcsHandlerRaw(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['boundingbox'] == null) { + throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['format'] == null) { + throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['gridbasecrs'] == null) { + throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifier'] == null) { + throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifiers'] == null) { + throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); + } + const queryParameters = {}; + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; + } + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + } + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + } + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; + } + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; + } + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; + } + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; + } + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + const headerParameters = {}; + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = yield token("session_token", []); + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + let urlPath = `/wcs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + const response = yield this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } + }); + } + /** + * OGC WCS endpoint + */ + wcsHandler(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + const response = yield this.wcsHandlerRaw(requestParameters, initOverrides); + return yield response.value(); + }); + } +} +exports.OGCWCSApi = OGCWCSApi; +/** + * @export + */ +exports.WcsHandlerRequestEnum = { + GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +}; diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts new file mode 100644 index 00000000..af5bf03e --- /dev/null +++ b/typescript/dist/apis/OGCWFSApi.d.ts @@ -0,0 +1,51 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GeoJson, WfsService, WfsVersion } from '../models/index'; +export interface WfsHandlerRequest { + workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; + service: WfsService; + typeNames: string; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; +} +/** + * + */ +export declare class OGCWFSApi extends runtime.BaseAPI { + /** + * OGC WFS endpoint + */ + wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WFS endpoint + */ + wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WfsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js new file mode 100644 index 00000000..c537f958 --- /dev/null +++ b/typescript/dist/apis/OGCWFSApi.js @@ -0,0 +1,131 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WfsHandlerRequestEnum = exports.OGCWFSApi = void 0; +const runtime = require("../runtime"); +const index_1 = require("../models/index"); +/** + * + */ +class OGCWFSApi extends runtime.BaseAPI { + /** + * OGC WFS endpoint + */ + wfsHandlerRaw(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); + } + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; + } + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; + } + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; + } + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; + } + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + const headerParameters = {}; + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = yield token("session_token", []); + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + let urlPath = `/wfs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + const response = yield this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.GeoJsonFromJSON)(jsonValue)); + }); + } + /** + * OGC WFS endpoint + */ + wfsHandler(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); + return yield response.value(); + }); + } +} +exports.OGCWFSApi = OGCWFSApi; +/** + * @export + */ +exports.WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts new file mode 100644 index 00000000..c22d0f64 --- /dev/null +++ b/typescript/dist/apis/OGCWMSApi.d.ts @@ -0,0 +1,60 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; +export interface WmsHandlerRequest { + workflow: string; + bbox: string; + height: number; + layer: string; + layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; + styles: string; + width: number; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; +} +/** + * + */ +export declare class OGCWMSApi extends runtime.BaseAPI { + /** + * OGC WMS endpoint + */ + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WMS endpoint + */ + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WmsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWMSApi.js b/typescript/dist/apis/OGCWMSApi.js new file mode 100644 index 00000000..9bd23691 --- /dev/null +++ b/typescript/dist/apis/OGCWMSApi.js @@ -0,0 +1,171 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WmsHandlerRequestEnum = exports.OGCWMSApi = void 0; +const runtime = require("../runtime"); +/** + * + */ +class OGCWMSApi extends runtime.BaseAPI { + /** + * OGC WMS endpoint + */ + wmsHandlerRaw(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['height'] == null) { + throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); + } + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; + } + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; + } + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; + } + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; + } + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; + } + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; + } + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; + } + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; + } + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; + } + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; + } + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; + } + const headerParameters = {}; + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = yield token("session_token", []); + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + let urlPath = `/wms/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + const response = yield this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } + }); + } + /** + * OGC WMS endpoint + */ + wmsHandler(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); + return yield response.value(); + }); + } +} +exports.OGCWMSApi = OGCWMSApi; +/** + * @export + */ +exports.WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; diff --git a/typescript/dist/apis/index.d.ts b/typescript/dist/apis/index.d.ts index 2e92c7aa..c5367b2f 100644 --- a/typescript/dist/apis/index.d.ts +++ b/typescript/dist/apis/index.d.ts @@ -2,7 +2,9 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCApi'; +export * from './OGCWCSApi'; +export * from './OGCWFSApi'; +export * from './OGCWMSApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; diff --git a/typescript/dist/apis/index.js b/typescript/dist/apis/index.js index 51405e72..25733265 100644 --- a/typescript/dist/apis/index.js +++ b/typescript/dist/apis/index.js @@ -20,7 +20,9 @@ __exportStar(require("./DatasetsApi"), exports); __exportStar(require("./GeneralApi"), exports); __exportStar(require("./LayersApi"), exports); __exportStar(require("./MLApi"), exports); -__exportStar(require("./OGCApi"), exports); +__exportStar(require("./OGCWCSApi"), exports); +__exportStar(require("./OGCWFSApi"), exports); +__exportStar(require("./OGCWMSApi"), exports); __exportStar(require("./PermissionsApi"), exports); __exportStar(require("./PlotsApi"), exports); __exportStar(require("./ProjectsApi"), exports); diff --git a/typescript/dist/esm/apis/OGCApi.d.ts b/typescript/dist/esm/apis/OGCApi.d.ts deleted file mode 100644 index 3d8afbdb..00000000 --- a/typescript/dist/esm/apis/OGCApi.d.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -import * as runtime from '../runtime'; -import type { GeoJson, GetCapabilitiesFormat, GetCoverageFormat, GetMapExceptionFormat, WcsService, WcsVersion, WfsService, WfsVersion, WmsService, WmsVersion } from '../models/index'; -export interface WcsHandlerRequest { - workflow: string; - boundingbox: string; - format: GetCoverageFormat; - gridbasecrs: string; - identifier: string; - identifiers: string; - request: WcsHandlerRequestEnum; - service: WcsService; - gridoffsets?: string; - gridorigin?: string; - nodatavalue?: number | null; - resx?: number | null; - resy?: number | null; - time?: string; - version?: WcsVersion | null; -} -export interface WfsHandlerRequest { - workflow: string; - bbox: string; - request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; -} -export interface WmsHandlerRequest { - workflow: string; - bbox: string; - height: number; - layer: string; - layers: string; - queryLayers: string; - request: WmsHandlerRequestEnum; - service: WmsService; - styles: string; - width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; -} -/** - * - */ -export declare class OGCApi extends runtime.BaseAPI { - /** - * OGC WCS endpoint - */ - wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WCS endpoint - */ - wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; - /** - * OGC WMS endpoint - */ - wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; - /** - * OGC WMS endpoint - */ - wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; -} -/** - * @export - */ -export declare const WcsHandlerRequestEnum: { - readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; - readonly DescribeCoverage: "DescribeCoverage"; - readonly GetCoverage: "GetCoverage"; -}; -export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; -/** - * @export - */ -export declare const WfsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetFeature: "GetFeature"; -}; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; -/** - * @export - */ -export declare const WmsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetMap: "GetMap"; - readonly GetFeatureInfo: "GetFeatureInfo"; - readonly GetStyles: "GetStyles"; - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCApi.js b/typescript/dist/esm/apis/OGCApi.js deleted file mode 100644 index 14412704..00000000 --- a/typescript/dist/esm/apis/OGCApi.js +++ /dev/null @@ -1,379 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -import * as runtime from '../runtime'; -import { GeoJsonFromJSON, } from '../models/index'; -/** - * - */ -export class OGCApi extends runtime.BaseAPI { - /** - * OGC WCS endpoint - */ - wcsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); - } - const queryParameters = {}; - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; - } - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; - } - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; - } - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; - } - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; - } - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; - } - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wcs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * OGC WCS endpoint - */ - wcsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wcsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * OGC WFS endpoint - */ - wfsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; - } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; - } - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; - } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; - } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wfs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); - }); - } - /** - * OGC WFS endpoint - */ - wfsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } - /** - * OGC WMS endpoint - */ - wmsHandlerRaw(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; - } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; - } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; - } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - const headerParameters = {}; - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = yield token("session_token", []); - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - let urlPath = `/wms/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - const response = yield this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } - }); - } - /** - * OGC WMS endpoint - */ - wmsHandler(requestParameters, initOverrides) { - return __awaiter(this, void 0, void 0, function* () { - const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); - return yield response.value(); - }); - } -} -/** - * @export - */ -export const WcsHandlerRequestEnum = { - GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', - DescribeCoverage: 'DescribeCoverage', - GetCoverage: 'GetCoverage' -}; -/** - * @export - */ -export const WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -}; -/** - * @export - */ -export const WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -}; diff --git a/typescript/dist/esm/apis/OGCWCSApi.d.ts b/typescript/dist/esm/apis/OGCWCSApi.d.ts new file mode 100644 index 00000000..d3431654 --- /dev/null +++ b/typescript/dist/esm/apis/OGCWCSApi.d.ts @@ -0,0 +1,52 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GetCoverageFormat, WcsService, WcsVersion } from '../models/index'; +export interface WcsHandlerRequest { + workflow: string; + boundingbox: string; + format: GetCoverageFormat; + gridbasecrs: string; + identifier: string; + identifiers: string; + request: WcsHandlerRequestEnum; + service: WcsService; + gridoffsets?: string; + gridorigin?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + time?: string; + version?: WcsVersion | null; +} +/** + * + */ +export declare class OGCWCSApi extends runtime.BaseAPI { + /** + * OGC WCS endpoint + */ + wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WCS endpoint + */ + wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WcsHandlerRequestEnum: { + readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; + readonly DescribeCoverage: "DescribeCoverage"; + readonly GetCoverage: "GetCoverage"; +}; +export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWCSApi.js b/typescript/dist/esm/apis/OGCWCSApi.js new file mode 100644 index 00000000..c5eaf98f --- /dev/null +++ b/typescript/dist/esm/apis/OGCWCSApi.js @@ -0,0 +1,141 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import * as runtime from '../runtime'; +/** + * + */ +export class OGCWCSApi extends runtime.BaseAPI { + /** + * OGC WCS endpoint + */ + wcsHandlerRaw(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['boundingbox'] == null) { + throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['format'] == null) { + throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['gridbasecrs'] == null) { + throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifier'] == null) { + throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['identifiers'] == null) { + throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); + } + const queryParameters = {}; + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; + } + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + } + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + } + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; + } + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; + } + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; + } + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; + } + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + const headerParameters = {}; + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = yield token("session_token", []); + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + let urlPath = `/wcs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + const response = yield this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } + }); + } + /** + * OGC WCS endpoint + */ + wcsHandler(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + const response = yield this.wcsHandlerRaw(requestParameters, initOverrides); + return yield response.value(); + }); + } +} +/** + * @export + */ +export const WcsHandlerRequestEnum = { + GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +}; diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts new file mode 100644 index 00000000..af5bf03e --- /dev/null +++ b/typescript/dist/esm/apis/OGCWFSApi.d.ts @@ -0,0 +1,51 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GeoJson, WfsService, WfsVersion } from '../models/index'; +export interface WfsHandlerRequest { + workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; + service: WfsService; + typeNames: string; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; +} +/** + * + */ +export declare class OGCWFSApi extends runtime.BaseAPI { + /** + * OGC WFS endpoint + */ + wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WFS endpoint + */ + wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WfsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js new file mode 100644 index 00000000..3a083ad6 --- /dev/null +++ b/typescript/dist/esm/apis/OGCWFSApi.js @@ -0,0 +1,127 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import * as runtime from '../runtime'; +import { GeoJsonFromJSON, } from '../models/index'; +/** + * + */ +export class OGCWFSApi extends runtime.BaseAPI { + /** + * OGC WFS endpoint + */ + wfsHandlerRaw(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); + } + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); + } + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; + } + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; + } + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; + } + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; + } + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + const headerParameters = {}; + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = yield token("session_token", []); + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + let urlPath = `/wfs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + const response = yield this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); + }); + } + /** + * OGC WFS endpoint + */ + wfsHandler(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + const response = yield this.wfsHandlerRaw(requestParameters, initOverrides); + return yield response.value(); + }); + } +} +/** + * @export + */ +export const WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts new file mode 100644 index 00000000..c22d0f64 --- /dev/null +++ b/typescript/dist/esm/apis/OGCWMSApi.d.ts @@ -0,0 +1,60 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import * as runtime from '../runtime'; +import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; +export interface WmsHandlerRequest { + workflow: string; + bbox: string; + height: number; + layer: string; + layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; + styles: string; + width: number; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; +} +/** + * + */ +export declare class OGCWMSApi extends runtime.BaseAPI { + /** + * OGC WMS endpoint + */ + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + /** + * OGC WMS endpoint + */ + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; +} +/** + * @export + */ +export declare const WmsHandlerRequestEnum: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWMSApi.js b/typescript/dist/esm/apis/OGCWMSApi.js new file mode 100644 index 00000000..fe044560 --- /dev/null +++ b/typescript/dist/esm/apis/OGCWMSApi.js @@ -0,0 +1,167 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +import * as runtime from '../runtime'; +/** + * + */ +export class OGCWMSApi extends runtime.BaseAPI { + /** + * OGC WMS endpoint + */ + wmsHandlerRaw(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['height'] == null) { + throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); + } + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; + } + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; + } + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; + } + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; + } + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; + } + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; + } + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; + } + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; + } + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; + } + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; + } + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; + } + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; + } + const headerParameters = {}; + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = yield token("session_token", []); + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + let urlPath = `/wms/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + const response = yield this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } + else { + return new runtime.TextApiResponse(response); + } + }); + } + /** + * OGC WMS endpoint + */ + wmsHandler(requestParameters, initOverrides) { + return __awaiter(this, void 0, void 0, function* () { + const response = yield this.wmsHandlerRaw(requestParameters, initOverrides); + return yield response.value(); + }); + } +} +/** + * @export + */ +export const WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; diff --git a/typescript/dist/esm/apis/index.d.ts b/typescript/dist/esm/apis/index.d.ts index 2e92c7aa..c5367b2f 100644 --- a/typescript/dist/esm/apis/index.d.ts +++ b/typescript/dist/esm/apis/index.d.ts @@ -2,7 +2,9 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCApi'; +export * from './OGCWCSApi'; +export * from './OGCWFSApi'; +export * from './OGCWMSApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; diff --git a/typescript/dist/esm/apis/index.js b/typescript/dist/esm/apis/index.js index 5ee11a64..6cf969fc 100644 --- a/typescript/dist/esm/apis/index.js +++ b/typescript/dist/esm/apis/index.js @@ -4,7 +4,9 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCApi'; +export * from './OGCWCSApi'; +export * from './OGCWFSApi'; +export * from './OGCWMSApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; diff --git a/typescript/docs/OGCWCSApi.md b/typescript/docs/OGCWCSApi.md index b029fcf9..e3864dc5 100644 --- a/typescript/docs/OGCWCSApi.md +++ b/typescript/docs/OGCWCSApi.md @@ -4,17 +4,15 @@ All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| -| [**wcsCapabilitiesHandler**](OGCWCSApi.md#wcscapabilitieshandler) | **GET** /wcs/{workflow}?request=GetCapabilities | Get WCS Capabilities | -| [**wcsDescribeCoverageHandler**](OGCWCSApi.md#wcsdescribecoveragehandler) | **GET** /wcs/{workflow}?request=DescribeCoverage | Get WCS Coverage Description | -| [**wcsGetCoverageHandler**](OGCWCSApi.md#wcsgetcoveragehandler) | **GET** /wcs/{workflow}?request=GetCoverage | Get WCS Coverage | +| [**wcsHandler**](OGCWCSApi.md#wcshandler) | **GET** /wcs/{workflow} | OGC WCS endpoint | -## wcsCapabilitiesHandler +## wcsHandler -> string wcsCapabilitiesHandler(workflow, service, request, version) +> string wcsHandler(workflow, boundingbox, format, gridbasecrs, identifier, identifiers, request, service, gridoffsets, gridorigin, nodatavalue, resx, resy, time, version) -Get WCS Capabilities +OGC WCS endpoint ### Example @@ -23,7 +21,7 @@ import { Configuration, OGCWCSApi, } from '@geoengine/openapi-client'; -import type { WcsCapabilitiesHandlerRequest } from '@geoengine/openapi-client'; +import type { WcsHandlerRequest } from '@geoengine/openapi-client'; async function example() { console.log("🚀 Testing @geoengine/openapi-client SDK..."); @@ -36,195 +34,38 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // WcsService - service: ..., - // GetCapabilitiesRequest - request: ..., - // WcsVersion (optional) - version: ..., - } satisfies WcsCapabilitiesHandlerRequest; - - try { - const data = await api.wcsCapabilitiesHandler(body); - console.log(data); - } catch (error) { - console.error(error); - } -} - -// Run the test -example().catch(console.error); -``` - -### Parameters - - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **service** | `WcsService` | | [Defaults to `undefined`] [Enum: WCS] | -| **request** | `GetCapabilitiesRequest` | | [Defaults to `undefined`] [Enum: GetCapabilities] | -| **version** | `WcsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | - -### Return type - -**string** - -### Authorization - -[session_token](../README.md#session_token) - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: `text/xml` - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | OK | - | - -[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) - - -## wcsDescribeCoverageHandler - -> string wcsDescribeCoverageHandler(workflow, version, service, request, identifiers) - -Get WCS Coverage Description - -### Example - -```ts -import { - Configuration, - OGCWCSApi, -} from '@geoengine/openapi-client'; -import type { WcsDescribeCoverageHandlerRequest } from '@geoengine/openapi-client'; - -async function example() { - console.log("🚀 Testing @geoengine/openapi-client SDK..."); - const config = new Configuration({ - // Configure HTTP bearer authorization: session_token - accessToken: "YOUR BEARER TOKEN", - }); - const api = new OGCWCSApi(config); - - const body = { - // string | Workflow id - workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // WcsVersion - version: ..., - // WcsService - service: ..., - // DescribeCoverageRequest - request: ..., // string - identifiers: , - } satisfies WcsDescribeCoverageHandlerRequest; - - try { - const data = await api.wcsDescribeCoverageHandler(body); - console.log(data); - } catch (error) { - console.error(error); - } -} - -// Run the test -example().catch(console.error); -``` - -### Parameters - - -| Name | Type | Description | Notes | -|------------- | ------------- | ------------- | -------------| -| **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **version** | `WcsVersion` | | [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | -| **service** | `WcsService` | | [Defaults to `undefined`] [Enum: WCS] | -| **request** | `DescribeCoverageRequest` | | [Defaults to `undefined`] [Enum: DescribeCoverage] | -| **identifiers** | `string` | | [Defaults to `undefined`] | - -### Return type - -**string** - -### Authorization - -[session_token](../README.md#session_token) - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: `text/xml` - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -| **200** | OK | - | - -[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) - - -## wcsGetCoverageHandler - -> Blob wcsGetCoverageHandler(workflow, version, service, request, format, identifier, boundingbox, gridbasecrs, gridorigin, gridoffsets, time, resx, resy, nodatavalue) - -Get WCS Coverage - -### Example - -```ts -import { - Configuration, - OGCWCSApi, -} from '@geoengine/openapi-client'; -import type { WcsGetCoverageHandlerRequest } from '@geoengine/openapi-client'; - -async function example() { - console.log("🚀 Testing @geoengine/openapi-client SDK..."); - const config = new Configuration({ - // Configure HTTP bearer authorization: session_token - accessToken: "YOUR BEARER TOKEN", - }); - const api = new OGCWCSApi(config); - - const body = { - // string | Workflow id - workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // WcsVersion - version: ..., - // WcsService - service: ..., - // GetCoverageRequest - request: ..., + boundingbox: -90,-180,90,180,urn:ogc:def:crs:EPSG::4326, // GetCoverageFormat format: ..., // string - identifier: , + gridbasecrs: urn:ogc:def:crs:EPSG::4326, // string - boundingbox: -90,-180,90,180,urn:ogc:def:crs:EPSG::4326, + identifier: , // string - gridbasecrs: urn:ogc:def:crs:EPSG::4326, - // string (optional) - gridorigin: 90,-180, + identifiers: , + // 'GetCapabilGetCapabilitiesities' | 'DescribeCoverage' | 'GetCoverage' | type of WMS request + request: request_example, + // WcsService + service: ..., // string (optional) gridoffsets: -0.1,0.1, // string (optional) - time: time_example, + gridorigin: 90,-180, + // number (optional) + nodatavalue: 1.2, // number (optional) resx: 1.2, // number (optional) resy: 1.2, - // number (optional) - nodatavalue: 1.2, - } satisfies WcsGetCoverageHandlerRequest; + // string (optional) + time: time_example, + // WcsVersion (optional) + version: ..., + } satisfies WcsHandlerRequest; try { - const data = await api.wcsGetCoverageHandler(body); + const data = await api.wcsHandler(body); console.log(data); } catch (error) { console.error(error); @@ -241,23 +82,24 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **version** | `WcsVersion` | | [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | -| **service** | `WcsService` | | [Defaults to `undefined`] [Enum: WCS] | -| **request** | `GetCoverageRequest` | | [Defaults to `undefined`] [Enum: GetCoverage] | -| **format** | `GetCoverageFormat` | | [Defaults to `undefined`] [Enum: image/tiff] | -| **identifier** | `string` | | [Defaults to `undefined`] | | **boundingbox** | `string` | | [Defaults to `undefined`] | +| **format** | `GetCoverageFormat` | | [Defaults to `undefined`] [Enum: image/tiff] | | **gridbasecrs** | `string` | | [Defaults to `undefined`] | -| **gridorigin** | `string` | | [Optional] [Defaults to `undefined`] | +| **identifier** | `string` | | [Defaults to `undefined`] | +| **identifiers** | `string` | | [Defaults to `undefined`] | +| **request** | `GetCapabilGetCapabilitiesities`, `DescribeCoverage`, `GetCoverage` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilGetCapabilitiesities, DescribeCoverage, GetCoverage] | +| **service** | `WcsService` | | [Defaults to `undefined`] [Enum: WCS] | | **gridoffsets** | `string` | | [Optional] [Defaults to `undefined`] | -| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **gridorigin** | `string` | | [Optional] [Defaults to `undefined`] | +| **nodatavalue** | `number` | | [Optional] [Defaults to `undefined`] | | **resx** | `number` | | [Optional] [Defaults to `undefined`] | | **resy** | `number` | | [Optional] [Defaults to `undefined`] | -| **nodatavalue** | `number` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **version** | `WcsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | ### Return type -**Blob** +**string** ### Authorization @@ -266,13 +108,13 @@ example().catch(console.error); ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: `image/png` +- **Accept**: `text/xml` ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | PNG Image | - | +| **200** | OK | - | [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index d7cb5e8d..864a86b6 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -4,7 +4,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| -| [**wmsHandler**](OGCWMSApi.md#wmshandler) | **GET** /wms/{workflow} | Get WMS Capabilities | +| [**wmsHandler**](OGCWMSApi.md#wmshandler) | **GET** /wms/{workflow} | OGC WMS endpoint | @@ -12,7 +12,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* > string wmsHandler(workflow, bbox, height, layer, layers, queryLayers, request, service, styles, width, bgcolor, crs, elevation, exceptions, format, infoFormat, sld, sldBody, time, transparent, version) -Get WMS Capabilities +OGC WMS endpoint ### Example diff --git a/typescript/src/apis/OGCApi.ts b/typescript/src/apis/OGCApi.ts deleted file mode 100644 index d28a379e..00000000 --- a/typescript/src/apis/OGCApi.ts +++ /dev/null @@ -1,621 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import * as runtime from '../runtime'; -import type { - GeoJson, - GetCapabilitiesFormat, - GetCoverageFormat, - GetMapExceptionFormat, - WcsService, - WcsVersion, - WfsService, - WfsVersion, - WmsService, - WmsVersion, -} from '../models/index'; -import { - GeoJsonFromJSON, - GeoJsonToJSON, - GetCapabilitiesFormatFromJSON, - GetCapabilitiesFormatToJSON, - GetCoverageFormatFromJSON, - GetCoverageFormatToJSON, - GetMapExceptionFormatFromJSON, - GetMapExceptionFormatToJSON, - WcsServiceFromJSON, - WcsServiceToJSON, - WcsVersionFromJSON, - WcsVersionToJSON, - WfsServiceFromJSON, - WfsServiceToJSON, - WfsVersionFromJSON, - WfsVersionToJSON, - WmsServiceFromJSON, - WmsServiceToJSON, - WmsVersionFromJSON, - WmsVersionToJSON, -} from '../models/index'; - -export interface WcsHandlerRequest { - workflow: string; - boundingbox: string; - format: GetCoverageFormat; - gridbasecrs: string; - identifier: string; - identifiers: string; - request: WcsHandlerRequestEnum; - service: WcsService; - gridoffsets?: string; - gridorigin?: string; - nodatavalue?: number | null; - resx?: number | null; - resy?: number | null; - time?: string; - version?: WcsVersion | null; -} - -export interface WfsHandlerRequest { - workflow: string; - bbox: string; - request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; -} - -export interface WmsHandlerRequest { - workflow: string; - bbox: string; - height: number; - layer: string; - layers: string; - queryLayers: string; - request: WmsHandlerRequestEnum; - service: WmsService; - styles: string; - width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; -} - -/** - * - */ -export class OGCApi extends runtime.BaseAPI { - - /** - * OGC WCS endpoint - */ - async wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wcsHandler().' - ); - } - - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError( - 'boundingbox', - 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().' - ); - } - - if (requestParameters['format'] == null) { - throw new runtime.RequiredError( - 'format', - 'Required parameter "format" was null or undefined when calling wcsHandler().' - ); - } - - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError( - 'gridbasecrs', - 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().' - ); - } - - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError( - 'identifier', - 'Required parameter "identifier" was null or undefined when calling wcsHandler().' - ); - } - - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError( - 'identifiers', - 'Required parameter "identifiers" was null or undefined when calling wcsHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wcsHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wcsHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; - } - - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; - } - - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; - } - - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; - } - - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; - } - - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; - } - - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; - } - - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wcs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } - } - - /** - * OGC WCS endpoint - */ - async wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wcsHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - - /** - * OGC WFS endpoint - */ - async wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError( - 'typeNames', - 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; - } - - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; - } - - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; - } - - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; - } - - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; - } - - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; - } - - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; - } - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wfs/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); - } - - /** - * OGC WFS endpoint - */ - async wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wfsHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - - /** - * OGC WMS endpoint - */ - async wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { - if (requestParameters['workflow'] == null) { - throw new runtime.RequiredError( - 'workflow', - 'Required parameter "workflow" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['height'] == null) { - throw new runtime.RequiredError( - 'height', - 'Required parameter "height" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError( - 'layer', - 'Required parameter "layer" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError( - 'layers', - 'Required parameter "layers" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError( - 'queryLayers', - 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError( - 'styles', - 'Required parameter "styles" was null or undefined when calling wmsHandler().' - ); - } - - if (requestParameters['width'] == null) { - throw new runtime.RequiredError( - 'width', - 'Required parameter "width" was null or undefined when calling wmsHandler().' - ); - } - - const queryParameters: any = {}; - - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; - } - - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; - } - - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; - } - - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; - } - - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; - } - - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } - - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } - - const headerParameters: runtime.HTTPHeaders = {}; - - if (this.configuration && this.configuration.accessToken) { - const token = this.configuration.accessToken; - const tokenString = await token("session_token", []); - - if (tokenString) { - headerParameters["Authorization"] = `Bearer ${tokenString}`; - } - } - - let urlPath = `/wms/{workflow}`; - urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - - const response = await this.request({ - path: urlPath, - method: 'GET', - headers: headerParameters, - query: queryParameters, - }, initOverrides); - - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } - } - - /** - * OGC WMS endpoint - */ - async wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { - const response = await this.wmsHandlerRaw(requestParameters, initOverrides); - return await response.value(); - } - -} - -/** - * @export - */ -export const WcsHandlerRequestEnum = { - GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', - DescribeCoverage: 'DescribeCoverage', - GetCoverage: 'GetCoverage' -} as const; -export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; -/** - * @export - */ -export const WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -} as const; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; -/** - * @export - */ -export const WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -} as const; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/src/apis/OGCWCSApi.ts b/typescript/src/apis/OGCWCSApi.ts new file mode 100644 index 00000000..3ade82e9 --- /dev/null +++ b/typescript/src/apis/OGCWCSApi.ts @@ -0,0 +1,218 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + GetCoverageFormat, + WcsService, + WcsVersion, +} from '../models/index'; +import { + GetCoverageFormatFromJSON, + GetCoverageFormatToJSON, + WcsServiceFromJSON, + WcsServiceToJSON, + WcsVersionFromJSON, + WcsVersionToJSON, +} from '../models/index'; + +export interface WcsHandlerRequest { + workflow: string; + boundingbox: string; + format: GetCoverageFormat; + gridbasecrs: string; + identifier: string; + identifiers: string; + request: WcsHandlerRequestEnum; + service: WcsService; + gridoffsets?: string; + gridorigin?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + time?: string; + version?: WcsVersion | null; +} + +/** + * + */ +export class OGCWCSApi extends runtime.BaseAPI { + + /** + * OGC WCS endpoint + */ + async wcsHandlerRaw(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError( + 'workflow', + 'Required parameter "workflow" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['boundingbox'] == null) { + throw new runtime.RequiredError( + 'boundingbox', + 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['format'] == null) { + throw new runtime.RequiredError( + 'format', + 'Required parameter "format" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['gridbasecrs'] == null) { + throw new runtime.RequiredError( + 'gridbasecrs', + 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['identifier'] == null) { + throw new runtime.RequiredError( + 'identifier', + 'Required parameter "identifier" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['identifiers'] == null) { + throw new runtime.RequiredError( + 'identifiers', + 'Required parameter "identifiers" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['request'] == null) { + throw new runtime.RequiredError( + 'request', + 'Required parameter "request" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wcsHandler().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; + } + + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; + } + + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + } + + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; + } + + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; + } + + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; + } + + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; + } + + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; + } + + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; + } + + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("session_token", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/wcs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * OGC WCS endpoint + */ + async wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wcsHandlerRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const WcsHandlerRequestEnum = { + GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +} as const; +export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts new file mode 100644 index 00000000..54afd543 --- /dev/null +++ b/typescript/src/apis/OGCWFSApi.ts @@ -0,0 +1,192 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + GeoJson, + WfsService, + WfsVersion, +} from '../models/index'; +import { + GeoJsonFromJSON, + GeoJsonToJSON, + WfsServiceFromJSON, + WfsServiceToJSON, + WfsVersionFromJSON, + WfsVersionToJSON, +} from '../models/index'; + +export interface WfsHandlerRequest { + workflow: string; + bbox: string; + request: WfsHandlerRequestEnum; + service: WfsService; + typeNames: string; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + queryResolution?: string; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; +} + +/** + * + */ +export class OGCWFSApi extends runtime.BaseAPI { + + /** + * OGC WFS endpoint + */ + async wfsHandlerRaw(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError( + 'workflow', + 'Required parameter "workflow" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError( + 'bbox', + 'Required parameter "bbox" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['request'] == null) { + throw new runtime.RequiredError( + 'request', + 'Required parameter "request" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wfsHandler().' + ); + } + + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError( + 'typeNames', + 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; + } + + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; + } + + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; + } + + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; + } + + if (requestParameters['queryResolution'] != null) { + queryParameters['queryResolution'] = requestParameters['queryResolution']; + } + + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; + } + + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("session_token", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/wfs/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => GeoJsonFromJSON(jsonValue)); + } + + /** + * OGC WFS endpoint + */ + async wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wfsHandlerRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const WfsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +} as const; +export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts new file mode 100644 index 00000000..3e3b3fb9 --- /dev/null +++ b/typescript/src/apis/OGCWMSApi.ts @@ -0,0 +1,267 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + GetCapabilitiesFormat, + GetMapExceptionFormat, + WmsService, + WmsVersion, +} from '../models/index'; +import { + GetCapabilitiesFormatFromJSON, + GetCapabilitiesFormatToJSON, + GetMapExceptionFormatFromJSON, + GetMapExceptionFormatToJSON, + WmsServiceFromJSON, + WmsServiceToJSON, + WmsVersionFromJSON, + WmsVersionToJSON, +} from '../models/index'; + +export interface WmsHandlerRequest { + workflow: string; + bbox: string; + height: number; + layer: string; + layers: string; + queryLayers: string; + request: WmsHandlerRequestEnum; + service: WmsService; + styles: string; + width: number; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + infoFormat?: string | null; + sld?: string | null; + sldBody?: string | null; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; +} + +/** + * + */ +export class OGCWMSApi extends runtime.BaseAPI { + + /** + * OGC WMS endpoint + */ + async wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters['workflow'] == null) { + throw new runtime.RequiredError( + 'workflow', + 'Required parameter "workflow" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['bbox'] == null) { + throw new runtime.RequiredError( + 'bbox', + 'Required parameter "bbox" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['height'] == null) { + throw new runtime.RequiredError( + 'height', + 'Required parameter "height" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['layer'] == null) { + throw new runtime.RequiredError( + 'layer', + 'Required parameter "layer" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['layers'] == null) { + throw new runtime.RequiredError( + 'layers', + 'Required parameter "layers" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['queryLayers'] == null) { + throw new runtime.RequiredError( + 'queryLayers', + 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['request'] == null) { + throw new runtime.RequiredError( + 'request', + 'Required parameter "request" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError( + 'styles', + 'Required parameter "styles" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['width'] == null) { + throw new runtime.RequiredError( + 'width', + 'Required parameter "width" was null or undefined when calling wmsHandler().' + ); + } + + const queryParameters: any = {}; + + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; + } + + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; + } + + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; + } + + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; + } + + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; + } + + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; + } + + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; + } + + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; + } + + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; + } + + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; + } + + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; + } + + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; + } + + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; + } + + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; + } + + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; + } + + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; + } + + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; + } + + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("session_token", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + + let urlPath = `/wms/{workflow}`; + urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + + const response = await this.request({ + path: urlPath, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * OGC WMS endpoint + */ + async wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.wmsHandlerRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const WmsHandlerRequestEnum = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +} as const; +export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/src/apis/index.ts b/typescript/src/apis/index.ts index 5ee11a64..6cf969fc 100644 --- a/typescript/src/apis/index.ts +++ b/typescript/src/apis/index.ts @@ -4,7 +4,9 @@ export * from './DatasetsApi'; export * from './GeneralApi'; export * from './LayersApi'; export * from './MLApi'; -export * from './OGCApi'; +export * from './OGCWCSApi'; +export * from './OGCWFSApi'; +export * from './OGCWMSApi'; export * from './PermissionsApi'; export * from './PlotsApi'; export * from './ProjectsApi'; From d31845c077b1d045ebba0f23299a4ce76b21c7ea Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 25 Nov 2025 17:05:10 +0100 Subject: [PATCH 05/15] update openapi-client --- .generation/input/openapi.json | 2 +- python/.openapi-generator/FILES | 15 - python/README.md | 5 - python/geoengine_openapi_client/__init__.py | 10 - .../api/ogcwcs_api.py | 204 +++++------ .../api/ogcwfs_api.py | 238 ++++++------ .../api/ogcwms_api.py | 338 ++++++++---------- .../models/__init__.py | 5 - .../models/describe_coverage_request.py | 37 -- .../models/get_capabilities_request.py | 37 -- .../models/get_coverage_request.py | 37 -- .../models/get_legend_graphic_request.py | 37 -- .../models/get_map_request.py | 37 -- python/test/test_describe_coverage_request.py | 34 -- python/test/test_get_capabilities_request.py | 34 -- python/test/test_get_coverage_request.py | 34 -- .../test/test_get_legend_graphic_request.py | 34 -- python/test/test_get_map_request.py | 34 -- typescript/README.md | 5 - typescript/dist/apis/OGCWCSApi.d.ts | 14 +- typescript/dist/apis/OGCWCSApi.js | 75 ++-- typescript/dist/apis/OGCWFSApi.d.ts | 20 +- typescript/dist/apis/OGCWFSApi.js | 80 +++-- typescript/dist/apis/OGCWMSApi.d.ts | 22 +- typescript/dist/apis/OGCWMSApi.js | 113 +++--- typescript/dist/esm/apis/OGCWCSApi.d.ts | 14 +- typescript/dist/esm/apis/OGCWCSApi.js | 75 ++-- typescript/dist/esm/apis/OGCWFSApi.d.ts | 20 +- typescript/dist/esm/apis/OGCWFSApi.js | 80 +++-- typescript/dist/esm/apis/OGCWMSApi.d.ts | 22 +- typescript/dist/esm/apis/OGCWMSApi.js | 113 +++--- .../esm/models/DescribeCoverageRequest.d.ts | 24 -- .../esm/models/DescribeCoverageRequest.js | 42 --- .../esm/models/GetCapabilitiesRequest.d.ts | 24 -- .../dist/esm/models/GetCapabilitiesRequest.js | 42 --- .../dist/esm/models/GetCoverageRequest.d.ts | 24 -- .../dist/esm/models/GetCoverageRequest.js | 42 --- .../esm/models/GetLegendGraphicRequest.d.ts | 24 -- .../esm/models/GetLegendGraphicRequest.js | 42 --- typescript/dist/esm/models/GetMapRequest.d.ts | 24 -- typescript/dist/esm/models/GetMapRequest.js | 42 --- typescript/dist/esm/models/index.d.ts | 5 - typescript/dist/esm/models/index.js | 5 - .../dist/models/DescribeCoverageRequest.d.ts | 24 -- .../dist/models/DescribeCoverageRequest.js | 50 --- .../dist/models/GetCapabilitiesRequest.d.ts | 24 -- .../dist/models/GetCapabilitiesRequest.js | 50 --- .../dist/models/GetCoverageRequest.d.ts | 24 -- typescript/dist/models/GetCoverageRequest.js | 50 --- .../dist/models/GetLegendGraphicRequest.d.ts | 24 -- .../dist/models/GetLegendGraphicRequest.js | 50 --- typescript/dist/models/GetMapRequest.d.ts | 24 -- typescript/dist/models/GetMapRequest.js | 50 --- typescript/dist/models/index.d.ts | 5 - typescript/dist/models/index.js | 5 - typescript/docs/OGCWCSApi.md | 40 +-- typescript/docs/OGCWFSApi.md | 54 +-- typescript/docs/OGCWMSApi.md | 64 ++-- typescript/src/apis/OGCWCSApi.ts | 125 ++++--- typescript/src/apis/OGCWFSApi.ts | 140 +++++--- typescript/src/apis/OGCWMSApi.ts | 193 +++++----- .../src/models/DescribeCoverageRequest.ts | 52 --- .../src/models/GetCapabilitiesRequest.ts | 52 --- typescript/src/models/GetCoverageRequest.ts | 52 --- .../src/models/GetLegendGraphicRequest.ts | 52 --- typescript/src/models/GetMapRequest.ts | 52 --- typescript/src/models/index.ts | 5 - 67 files changed, 989 insertions(+), 2437 deletions(-) delete mode 100644 python/geoengine_openapi_client/models/describe_coverage_request.py delete mode 100644 python/geoengine_openapi_client/models/get_capabilities_request.py delete mode 100644 python/geoengine_openapi_client/models/get_coverage_request.py delete mode 100644 python/geoengine_openapi_client/models/get_legend_graphic_request.py delete mode 100644 python/geoengine_openapi_client/models/get_map_request.py delete mode 100644 python/test/test_describe_coverage_request.py delete mode 100644 python/test/test_get_capabilities_request.py delete mode 100644 python/test/test_get_coverage_request.py delete mode 100644 python/test/test_get_legend_graphic_request.py delete mode 100644 python/test/test_get_map_request.py delete mode 100644 typescript/dist/esm/models/DescribeCoverageRequest.d.ts delete mode 100644 typescript/dist/esm/models/DescribeCoverageRequest.js delete mode 100644 typescript/dist/esm/models/GetCapabilitiesRequest.d.ts delete mode 100644 typescript/dist/esm/models/GetCapabilitiesRequest.js delete mode 100644 typescript/dist/esm/models/GetCoverageRequest.d.ts delete mode 100644 typescript/dist/esm/models/GetCoverageRequest.js delete mode 100644 typescript/dist/esm/models/GetLegendGraphicRequest.d.ts delete mode 100644 typescript/dist/esm/models/GetLegendGraphicRequest.js delete mode 100644 typescript/dist/esm/models/GetMapRequest.d.ts delete mode 100644 typescript/dist/esm/models/GetMapRequest.js delete mode 100644 typescript/dist/models/DescribeCoverageRequest.d.ts delete mode 100644 typescript/dist/models/DescribeCoverageRequest.js delete mode 100644 typescript/dist/models/GetCapabilitiesRequest.d.ts delete mode 100644 typescript/dist/models/GetCapabilitiesRequest.js delete mode 100644 typescript/dist/models/GetCoverageRequest.d.ts delete mode 100644 typescript/dist/models/GetCoverageRequest.js delete mode 100644 typescript/dist/models/GetLegendGraphicRequest.d.ts delete mode 100644 typescript/dist/models/GetLegendGraphicRequest.js delete mode 100644 typescript/dist/models/GetMapRequest.d.ts delete mode 100644 typescript/dist/models/GetMapRequest.js delete mode 100644 typescript/src/models/DescribeCoverageRequest.ts delete mode 100644 typescript/src/models/GetCapabilitiesRequest.ts delete mode 100644 typescript/src/models/GetCoverageRequest.ts delete mode 100644 typescript/src/models/GetLegendGraphicRequest.ts delete mode 100644 typescript/src/models/GetMapRequest.ts diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index ed5b940a..5bd2152f 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"query","description":"Vendor parameter for specifying a spatial query resolution","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":true,"schema":{"type":"string"}},{"name":"layers","in":"query","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":true,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"DescribeCoverageRequest":{"type":"string","enum":["DescribeCoverage"]},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCapabilitiesRequest":{"type":"string","enum":["GetCapabilities"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetCoverageRequest":{"type":"string","enum":["GetCoverage"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetLegendGraphicRequest":{"type":"string","enum":["GetLegendGraphic"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GetMapRequest":{"type":"string","enum":["GetMap"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"path","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"path","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"path","required":true,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"path","required":true,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"path","description":"Vendor parameter for specifying a spatial query resolution","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"path","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"srsName","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"path","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"crs","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"}},{"name":"layers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"path","required":true,"schema":{"type":"string"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"styles","in":"path","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index 817a5836..87ad894f 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -45,7 +45,6 @@ docs/DatasetResource.md docs/DatasetsApi.md docs/DerivedColor.md docs/DerivedNumber.md -docs/DescribeCoverageRequest.md docs/EbvPortalDataProviderDefinition.md docs/EdrDataProviderDefinition.md docs/EdrVectorSpec.md @@ -70,14 +69,10 @@ docs/GeneralApi.md docs/GeoJson.md docs/GeoTransform.md docs/GetCapabilitiesFormat.md -docs/GetCapabilitiesRequest.md docs/GetCoverageFormat.md -docs/GetCoverageRequest.md docs/GetFeatureRequest.md -docs/GetLegendGraphicRequest.md docs/GetMapExceptionFormat.md docs/GetMapFormat.md -docs/GetMapRequest.md docs/GfbioAbcdDataProviderDefinition.md docs/GfbioCollectionsDataProviderDefinition.md docs/GridBoundingBox2D.md @@ -334,7 +329,6 @@ geoengine_openapi_client/models/dataset_name_response.py geoengine_openapi_client/models/dataset_resource.py geoengine_openapi_client/models/derived_color.py geoengine_openapi_client/models/derived_number.py -geoengine_openapi_client/models/describe_coverage_request.py geoengine_openapi_client/models/ebv_portal_data_provider_definition.py geoengine_openapi_client/models/edr_data_provider_definition.py geoengine_openapi_client/models/edr_vector_spec.py @@ -358,14 +352,10 @@ geoengine_openapi_client/models/gdal_source_time_placeholder.py geoengine_openapi_client/models/geo_json.py geoengine_openapi_client/models/geo_transform.py geoengine_openapi_client/models/get_capabilities_format.py -geoengine_openapi_client/models/get_capabilities_request.py geoengine_openapi_client/models/get_coverage_format.py -geoengine_openapi_client/models/get_coverage_request.py geoengine_openapi_client/models/get_feature_request.py -geoengine_openapi_client/models/get_legend_graphic_request.py geoengine_openapi_client/models/get_map_exception_format.py geoengine_openapi_client/models/get_map_format.py -geoengine_openapi_client/models/get_map_request.py geoengine_openapi_client/models/gfbio_abcd_data_provider_definition.py geoengine_openapi_client/models/gfbio_collections_data_provider_definition.py geoengine_openapi_client/models/grid_bounding_box2_d.py @@ -595,7 +585,6 @@ test/test_dataset_resource.py test/test_datasets_api.py test/test_derived_color.py test/test_derived_number.py -test/test_describe_coverage_request.py test/test_ebv_portal_data_provider_definition.py test/test_edr_data_provider_definition.py test/test_edr_vector_spec.py @@ -620,14 +609,10 @@ test/test_general_api.py test/test_geo_json.py test/test_geo_transform.py test/test_get_capabilities_format.py -test/test_get_capabilities_request.py test/test_get_coverage_format.py -test/test_get_coverage_request.py test/test_get_feature_request.py -test/test_get_legend_graphic_request.py test/test_get_map_exception_format.py test/test_get_map_format.py -test/test_get_map_request.py test/test_gfbio_abcd_data_provider_definition.py test/test_gfbio_collections_data_provider_definition.py test/test_grid_bounding_box2_d.py diff --git a/python/README.md b/python/README.md index 885d920d..44c502ab 100644 --- a/python/README.md +++ b/python/README.md @@ -230,7 +230,6 @@ Class | Method | HTTP request | Description - [DatasetResource](docs/DatasetResource.md) - [DerivedColor](docs/DerivedColor.md) - [DerivedNumber](docs/DerivedNumber.md) - - [DescribeCoverageRequest](docs/DescribeCoverageRequest.md) - [EbvPortalDataProviderDefinition](docs/EbvPortalDataProviderDefinition.md) - [EdrDataProviderDefinition](docs/EdrDataProviderDefinition.md) - [EdrVectorSpec](docs/EdrVectorSpec.md) @@ -254,14 +253,10 @@ Class | Method | HTTP request | Description - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) - [GetCapabilitiesFormat](docs/GetCapabilitiesFormat.md) - - [GetCapabilitiesRequest](docs/GetCapabilitiesRequest.md) - [GetCoverageFormat](docs/GetCoverageFormat.md) - - [GetCoverageRequest](docs/GetCoverageRequest.md) - [GetFeatureRequest](docs/GetFeatureRequest.md) - - [GetLegendGraphicRequest](docs/GetLegendGraphicRequest.md) - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) - [GetMapFormat](docs/GetMapFormat.md) - - [GetMapRequest](docs/GetMapRequest.md) - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) - [GridBoundingBox2D](docs/GridBoundingBox2D.md) diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index 26307970..775c4f11 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -85,7 +85,6 @@ "DatasetResource", "DerivedColor", "DerivedNumber", - "DescribeCoverageRequest", "EbvPortalDataProviderDefinition", "EdrDataProviderDefinition", "EdrVectorSpec", @@ -109,14 +108,10 @@ "GeoJson", "GeoTransform", "GetCapabilitiesFormat", - "GetCapabilitiesRequest", "GetCoverageFormat", - "GetCoverageRequest", "GetFeatureRequest", - "GetLegendGraphicRequest", "GetMapExceptionFormat", "GetMapFormat", - "GetMapRequest", "GfbioAbcdDataProviderDefinition", "GfbioCollectionsDataProviderDefinition", "GridBoundingBox2D", @@ -368,7 +363,6 @@ from geoengine_openapi_client.models.dataset_resource import DatasetResource as DatasetResource from geoengine_openapi_client.models.derived_color import DerivedColor as DerivedColor from geoengine_openapi_client.models.derived_number import DerivedNumber as DerivedNumber -from geoengine_openapi_client.models.describe_coverage_request import DescribeCoverageRequest as DescribeCoverageRequest from geoengine_openapi_client.models.ebv_portal_data_provider_definition import EbvPortalDataProviderDefinition as EbvPortalDataProviderDefinition from geoengine_openapi_client.models.edr_data_provider_definition import EdrDataProviderDefinition as EdrDataProviderDefinition from geoengine_openapi_client.models.edr_vector_spec import EdrVectorSpec as EdrVectorSpec @@ -392,14 +386,10 @@ from geoengine_openapi_client.models.geo_json import GeoJson as GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform as GeoTransform from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat as GetCapabilitiesFormat -from geoengine_openapi_client.models.get_capabilities_request import GetCapabilitiesRequest as GetCapabilitiesRequest from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat as GetCoverageFormat -from geoengine_openapi_client.models.get_coverage_request import GetCoverageRequest as GetCoverageRequest from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest as GetFeatureRequest -from geoengine_openapi_client.models.get_legend_graphic_request import GetLegendGraphicRequest as GetLegendGraphicRequest from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat as GetMapExceptionFormat from geoengine_openapi_client.models.get_map_format import GetMapFormat as GetMapFormat -from geoengine_openapi_client.models.get_map_request import GetMapRequest as GetMapRequest from geoengine_openapi_client.models.gfbio_abcd_data_provider_definition import GfbioAbcdDataProviderDefinition as GfbioAbcdDataProviderDefinition from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition as GfbioCollectionsDataProviderDefinition from geoengine_openapi_client.models.grid_bounding_box2_d import GridBoundingBox2D as GridBoundingBox2D diff --git a/python/geoengine_openapi_client/api/ogcwcs_api.py b/python/geoengine_openapi_client/api/ogcwcs_api.py index fed04194..7de76f17 100644 --- a/python/geoengine_openapi_client/api/ogcwcs_api.py +++ b/python/geoengine_openapi_client/api/ogcwcs_api.py @@ -50,17 +50,17 @@ def wcs_handler( boundingbox: StrictStr, format: GetCoverageFormat, gridbasecrs: StrictStr, + gridoffsets: StrictStr, + gridorigin: StrictStr, identifier: StrictStr, identifiers: StrictStr, + nodatavalue: Optional[Union[StrictFloat, StrictInt]], request: Annotated[StrictStr, Field(description="type of WMS request")], + resx: Optional[Union[StrictFloat, StrictInt]], + resy: Optional[Union[StrictFloat, StrictInt]], service: WcsService, - gridoffsets: Optional[StrictStr] = None, - gridorigin: Optional[StrictStr] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - time: Optional[StrictStr] = None, - version: Optional[WcsVersion] = None, + time: StrictStr, + version: Optional[WcsVersion], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -85,27 +85,27 @@ def wcs_handler( :type format: GetCoverageFormat :param gridbasecrs: (required) :type gridbasecrs: str + :param gridoffsets: (required) + :type gridoffsets: str + :param gridorigin: (required) + :type gridorigin: str :param identifier: (required) :type identifier: str :param identifiers: (required) :type identifiers: str + :param nodatavalue: (required) + :type nodatavalue: float :param request: type of WMS request (required) :type request: str - :param service: (required) - :type service: WcsService - :param gridoffsets: - :type gridoffsets: str - :param gridorigin: - :type gridorigin: str - :param nodatavalue: - :type nodatavalue: float - :param resx: + :param resx: (required) :type resx: float - :param resy: + :param resy: (required) :type resy: float - :param time: + :param service: (required) + :type service: WcsService + :param time: (required) :type time: str - :param version: + :param version: (required) :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -134,15 +134,15 @@ def wcs_handler( boundingbox=boundingbox, format=format, gridbasecrs=gridbasecrs, - identifier=identifier, - identifiers=identifiers, - request=request, - service=service, gridoffsets=gridoffsets, gridorigin=gridorigin, + identifier=identifier, + identifiers=identifiers, nodatavalue=nodatavalue, + request=request, resx=resx, resy=resy, + service=service, time=time, version=version, _request_auth=_request_auth, @@ -172,17 +172,17 @@ def wcs_handler_with_http_info( boundingbox: StrictStr, format: GetCoverageFormat, gridbasecrs: StrictStr, + gridoffsets: StrictStr, + gridorigin: StrictStr, identifier: StrictStr, identifiers: StrictStr, + nodatavalue: Optional[Union[StrictFloat, StrictInt]], request: Annotated[StrictStr, Field(description="type of WMS request")], + resx: Optional[Union[StrictFloat, StrictInt]], + resy: Optional[Union[StrictFloat, StrictInt]], service: WcsService, - gridoffsets: Optional[StrictStr] = None, - gridorigin: Optional[StrictStr] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - time: Optional[StrictStr] = None, - version: Optional[WcsVersion] = None, + time: StrictStr, + version: Optional[WcsVersion], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -207,27 +207,27 @@ def wcs_handler_with_http_info( :type format: GetCoverageFormat :param gridbasecrs: (required) :type gridbasecrs: str + :param gridoffsets: (required) + :type gridoffsets: str + :param gridorigin: (required) + :type gridorigin: str :param identifier: (required) :type identifier: str :param identifiers: (required) :type identifiers: str + :param nodatavalue: (required) + :type nodatavalue: float :param request: type of WMS request (required) :type request: str - :param service: (required) - :type service: WcsService - :param gridoffsets: - :type gridoffsets: str - :param gridorigin: - :type gridorigin: str - :param nodatavalue: - :type nodatavalue: float - :param resx: + :param resx: (required) :type resx: float - :param resy: + :param resy: (required) :type resy: float - :param time: + :param service: (required) + :type service: WcsService + :param time: (required) :type time: str - :param version: + :param version: (required) :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -256,15 +256,15 @@ def wcs_handler_with_http_info( boundingbox=boundingbox, format=format, gridbasecrs=gridbasecrs, - identifier=identifier, - identifiers=identifiers, - request=request, - service=service, gridoffsets=gridoffsets, gridorigin=gridorigin, + identifier=identifier, + identifiers=identifiers, nodatavalue=nodatavalue, + request=request, resx=resx, resy=resy, + service=service, time=time, version=version, _request_auth=_request_auth, @@ -294,17 +294,17 @@ def wcs_handler_without_preload_content( boundingbox: StrictStr, format: GetCoverageFormat, gridbasecrs: StrictStr, + gridoffsets: StrictStr, + gridorigin: StrictStr, identifier: StrictStr, identifiers: StrictStr, + nodatavalue: Optional[Union[StrictFloat, StrictInt]], request: Annotated[StrictStr, Field(description="type of WMS request")], + resx: Optional[Union[StrictFloat, StrictInt]], + resy: Optional[Union[StrictFloat, StrictInt]], service: WcsService, - gridoffsets: Optional[StrictStr] = None, - gridorigin: Optional[StrictStr] = None, - nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, - resx: Optional[Union[StrictFloat, StrictInt]] = None, - resy: Optional[Union[StrictFloat, StrictInt]] = None, - time: Optional[StrictStr] = None, - version: Optional[WcsVersion] = None, + time: StrictStr, + version: Optional[WcsVersion], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -329,27 +329,27 @@ def wcs_handler_without_preload_content( :type format: GetCoverageFormat :param gridbasecrs: (required) :type gridbasecrs: str + :param gridoffsets: (required) + :type gridoffsets: str + :param gridorigin: (required) + :type gridorigin: str :param identifier: (required) :type identifier: str :param identifiers: (required) :type identifiers: str + :param nodatavalue: (required) + :type nodatavalue: float :param request: type of WMS request (required) :type request: str - :param service: (required) - :type service: WcsService - :param gridoffsets: - :type gridoffsets: str - :param gridorigin: - :type gridorigin: str - :param nodatavalue: - :type nodatavalue: float - :param resx: + :param resx: (required) :type resx: float - :param resy: + :param resy: (required) :type resy: float - :param time: + :param service: (required) + :type service: WcsService + :param time: (required) :type time: str - :param version: + :param version: (required) :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -378,15 +378,15 @@ def wcs_handler_without_preload_content( boundingbox=boundingbox, format=format, gridbasecrs=gridbasecrs, - identifier=identifier, - identifiers=identifiers, - request=request, - service=service, gridoffsets=gridoffsets, gridorigin=gridorigin, + identifier=identifier, + identifiers=identifiers, nodatavalue=nodatavalue, + request=request, resx=resx, resy=resy, + service=service, time=time, version=version, _request_auth=_request_auth, @@ -411,15 +411,15 @@ def _wcs_handler_serialize( boundingbox, format, gridbasecrs, - identifier, - identifiers, - request, - service, gridoffsets, gridorigin, + identifier, + identifiers, nodatavalue, + request, resx, resy, + service, time, version, _request_auth, @@ -445,63 +445,35 @@ def _wcs_handler_serialize( # process the path parameters if workflow is not None: _path_params['workflow'] = workflow - # process the query parameters if boundingbox is not None: - - _query_params.append(('boundingbox', boundingbox)) - + _path_params['boundingbox'] = boundingbox if format is not None: - - _query_params.append(('format', format.value)) - + _path_params['format'] = format.value if gridbasecrs is not None: - - _query_params.append(('gridbasecrs', gridbasecrs)) - + _path_params['gridbasecrs'] = gridbasecrs if gridoffsets is not None: - - _query_params.append(('gridoffsets', gridoffsets)) - + _path_params['gridoffsets'] = gridoffsets if gridorigin is not None: - - _query_params.append(('gridorigin', gridorigin)) - + _path_params['gridorigin'] = gridorigin if identifier is not None: - - _query_params.append(('identifier', identifier)) - + _path_params['identifier'] = identifier if identifiers is not None: - - _query_params.append(('identifiers', identifiers)) - + _path_params['identifiers'] = identifiers if nodatavalue is not None: - - _query_params.append(('nodatavalue', nodatavalue)) - + _path_params['nodatavalue'] = nodatavalue if request is not None: - - _query_params.append(('request', request)) - + _path_params['request'] = request if resx is not None: - - _query_params.append(('resx', resx)) - + _path_params['resx'] = resx if resy is not None: - - _query_params.append(('resy', resy)) - + _path_params['resy'] = resy if service is not None: - - _query_params.append(('service', service.value)) - + _path_params['service'] = service.value if time is not None: - - _query_params.append(('time', time)) - + _path_params['time'] = time if version is not None: - - _query_params.append(('version', version.value)) - + _path_params['version'] = version.value + # process the query parameters # process the header parameters # process the form parameters # process the body parameter diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py index fb04df9b..e34a347d 100644 --- a/python/geoengine_openapi_client/api/ogcwfs_api.py +++ b/python/geoengine_openapi_client/api/ogcwfs_api.py @@ -48,19 +48,19 @@ def wfs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]], + filter: Optional[StrictStr], + namespaces: Optional[StrictStr], + property_name: Optional[StrictStr], + query_resolution: Annotated[StrictStr, Field(description="Vendor parameter for specifying a spatial query resolution")], request: Annotated[StrictStr, Field(description="type of WFS request")], + result_type: Optional[StrictStr], service: WfsService, + sort_by: Optional[StrictStr], + srs_name: Optional[StrictStr], + time: StrictStr, type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, + version: Optional[WfsVersion], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -81,31 +81,31 @@ def wfs_handler( :type workflow: str :param bbox: (required) :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: + :param count: (required) :type count: int - :param filter: + :param filter: (required) :type filter: str - :param namespaces: + :param namespaces: (required) :type namespaces: str - :param property_name: + :param property_name: (required) :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution + :param query_resolution: Vendor parameter for specifying a spatial query resolution (required) :type query_resolution: str - :param result_type: + :param request: type of WFS request (required) + :type request: str + :param result_type: (required) :type result_type: str - :param sort_by: + :param service: (required) + :type service: WfsService + :param sort_by: (required) :type sort_by: str - :param srs_name: + :param srs_name: (required) :type srs_name: str - :param time: + :param time: (required) :type time: str - :param version: + :param type_names: (required) + :type type_names: str + :param version: (required) :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -132,18 +132,18 @@ def wfs_handler( _param = self._wfs_handler_serialize( workflow=workflow, bbox=bbox, - request=request, - service=service, - type_names=type_names, count=count, filter=filter, namespaces=namespaces, property_name=property_name, query_resolution=query_resolution, + request=request, result_type=result_type, + service=service, sort_by=sort_by, srs_name=srs_name, time=time, + type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -170,19 +170,19 @@ def wfs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]], + filter: Optional[StrictStr], + namespaces: Optional[StrictStr], + property_name: Optional[StrictStr], + query_resolution: Annotated[StrictStr, Field(description="Vendor parameter for specifying a spatial query resolution")], request: Annotated[StrictStr, Field(description="type of WFS request")], + result_type: Optional[StrictStr], service: WfsService, + sort_by: Optional[StrictStr], + srs_name: Optional[StrictStr], + time: StrictStr, type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, + version: Optional[WfsVersion], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -203,31 +203,31 @@ def wfs_handler_with_http_info( :type workflow: str :param bbox: (required) :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: + :param count: (required) :type count: int - :param filter: + :param filter: (required) :type filter: str - :param namespaces: + :param namespaces: (required) :type namespaces: str - :param property_name: + :param property_name: (required) :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution + :param query_resolution: Vendor parameter for specifying a spatial query resolution (required) :type query_resolution: str - :param result_type: + :param request: type of WFS request (required) + :type request: str + :param result_type: (required) :type result_type: str - :param sort_by: + :param service: (required) + :type service: WfsService + :param sort_by: (required) :type sort_by: str - :param srs_name: + :param srs_name: (required) :type srs_name: str - :param time: + :param time: (required) :type time: str - :param version: + :param type_names: (required) + :type type_names: str + :param version: (required) :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -254,18 +254,18 @@ def wfs_handler_with_http_info( _param = self._wfs_handler_serialize( workflow=workflow, bbox=bbox, - request=request, - service=service, - type_names=type_names, count=count, filter=filter, namespaces=namespaces, property_name=property_name, query_resolution=query_resolution, + request=request, result_type=result_type, + service=service, sort_by=sort_by, srs_name=srs_name, time=time, + type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -292,19 +292,19 @@ def wfs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, + count: Optional[Annotated[int, Field(strict=True, ge=0)]], + filter: Optional[StrictStr], + namespaces: Optional[StrictStr], + property_name: Optional[StrictStr], + query_resolution: Annotated[StrictStr, Field(description="Vendor parameter for specifying a spatial query resolution")], request: Annotated[StrictStr, Field(description="type of WFS request")], + result_type: Optional[StrictStr], service: WfsService, + sort_by: Optional[StrictStr], + srs_name: Optional[StrictStr], + time: StrictStr, type_names: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, - filter: Optional[StrictStr] = None, - namespaces: Optional[StrictStr] = None, - property_name: Optional[StrictStr] = None, - query_resolution: Annotated[Optional[StrictStr], Field(description="Vendor parameter for specifying a spatial query resolution")] = None, - result_type: Optional[StrictStr] = None, - sort_by: Optional[StrictStr] = None, - srs_name: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - version: Optional[WfsVersion] = None, + version: Optional[WfsVersion], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -325,31 +325,31 @@ def wfs_handler_without_preload_content( :type workflow: str :param bbox: (required) :type bbox: str - :param request: type of WFS request (required) - :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str - :param count: + :param count: (required) :type count: int - :param filter: + :param filter: (required) :type filter: str - :param namespaces: + :param namespaces: (required) :type namespaces: str - :param property_name: + :param property_name: (required) :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution + :param query_resolution: Vendor parameter for specifying a spatial query resolution (required) :type query_resolution: str - :param result_type: + :param request: type of WFS request (required) + :type request: str + :param result_type: (required) :type result_type: str - :param sort_by: + :param service: (required) + :type service: WfsService + :param sort_by: (required) :type sort_by: str - :param srs_name: + :param srs_name: (required) :type srs_name: str - :param time: + :param time: (required) :type time: str - :param version: + :param type_names: (required) + :type type_names: str + :param version: (required) :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -376,18 +376,18 @@ def wfs_handler_without_preload_content( _param = self._wfs_handler_serialize( workflow=workflow, bbox=bbox, - request=request, - service=service, - type_names=type_names, count=count, filter=filter, namespaces=namespaces, property_name=property_name, query_resolution=query_resolution, + request=request, result_type=result_type, + service=service, sort_by=sort_by, srs_name=srs_name, time=time, + type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -409,18 +409,18 @@ def _wfs_handler_serialize( self, workflow, bbox, - request, - service, - type_names, count, filter, namespaces, property_name, query_resolution, + request, result_type, + service, sort_by, srs_name, time, + type_names, version, _request_auth, _content_type, @@ -445,63 +445,35 @@ def _wfs_handler_serialize( # process the path parameters if workflow is not None: _path_params['workflow'] = workflow - # process the query parameters if bbox is not None: - - _query_params.append(('bbox', bbox)) - + _path_params['bbox'] = bbox if count is not None: - - _query_params.append(('count', count)) - + _path_params['count'] = count if filter is not None: - - _query_params.append(('filter', filter)) - + _path_params['filter'] = filter if namespaces is not None: - - _query_params.append(('namespaces', namespaces)) - + _path_params['namespaces'] = namespaces if property_name is not None: - - _query_params.append(('propertyName', property_name)) - + _path_params['propertyName'] = property_name if query_resolution is not None: - - _query_params.append(('queryResolution', query_resolution)) - + _path_params['queryResolution'] = query_resolution if request is not None: - - _query_params.append(('request', request)) - + _path_params['request'] = request if result_type is not None: - - _query_params.append(('resultType', result_type)) - + _path_params['resultType'] = result_type if service is not None: - - _query_params.append(('service', service.value)) - + _path_params['service'] = service.value if sort_by is not None: - - _query_params.append(('sortBy', sort_by)) - + _path_params['sortBy'] = sort_by if srs_name is not None: - - _query_params.append(('srsName', srs_name)) - + _path_params['srsName'] = srs_name if time is not None: - - _query_params.append(('time', time)) - + _path_params['time'] = time if type_names is not None: - - _query_params.append(('typeNames', type_names)) - + _path_params['typeNames'] = type_names if version is not None: - - _query_params.append(('version', version.value)) - + _path_params['version'] = version.value + # process the query parameters # process the header parameters # process the form parameters # process the body parameter diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py index 3b57c1ce..0ed5c111 100644 --- a/python/geoengine_openapi_client/api/ogcwms_api.py +++ b/python/geoengine_openapi_client/api/ogcwms_api.py @@ -49,25 +49,25 @@ def wms_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, + bgcolor: Optional[StrictStr], + crs: Optional[StrictStr], + elevation: Optional[StrictStr], + exceptions: Optional[GetMapExceptionFormat], + format: Optional[GetCapabilitiesFormat], height: Annotated[int, Field(strict=True, ge=0)], + info_format: Optional[StrictStr], layer: StrictStr, layers: StrictStr, query_layers: StrictStr, request: Annotated[StrictStr, Field(description="type of WMS request")], service: WmsService, + sld: Optional[StrictStr], + sld_body: Optional[StrictStr], styles: StrictStr, + time: StrictStr, + transparent: Optional[StrictBool], + version: Optional[WmsVersion], width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -88,8 +88,20 @@ def wms_handler( :type workflow: str :param bbox: (required) :type bbox: str + :param bgcolor: (required) + :type bgcolor: str + :param crs: (required) + :type crs: str + :param elevation: (required) + :type elevation: str + :param exceptions: (required) + :type exceptions: GetMapExceptionFormat + :param format: (required) + :type format: GetCapabilitiesFormat :param height: (required) :type height: int + :param info_format: (required) + :type info_format: str :param layer: (required) :type layer: str :param layers: (required) @@ -100,32 +112,20 @@ def wms_handler( :type request: str :param service: (required) :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: + :param sld: (required) :type sld: str - :param sld_body: + :param sld_body: (required) :type sld_body: str - :param time: + :param styles: (required) + :type styles: str + :param time: (required) :type time: str - :param transparent: + :param transparent: (required) :type transparent: bool - :param version: + :param version: (required) :type version: WmsVersion + :param width: (required) + :type width: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -151,25 +151,25 @@ def wms_handler( _param = self._wms_handler_serialize( workflow=workflow, bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, bgcolor=bgcolor, crs=crs, elevation=elevation, exceptions=exceptions, format=format, + height=height, info_format=info_format, + layer=layer, + layers=layers, + query_layers=query_layers, + request=request, + service=service, sld=sld, sld_body=sld_body, + styles=styles, time=time, transparent=transparent, version=version, + width=width, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -195,25 +195,25 @@ def wms_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, + bgcolor: Optional[StrictStr], + crs: Optional[StrictStr], + elevation: Optional[StrictStr], + exceptions: Optional[GetMapExceptionFormat], + format: Optional[GetCapabilitiesFormat], height: Annotated[int, Field(strict=True, ge=0)], + info_format: Optional[StrictStr], layer: StrictStr, layers: StrictStr, query_layers: StrictStr, request: Annotated[StrictStr, Field(description="type of WMS request")], service: WmsService, + sld: Optional[StrictStr], + sld_body: Optional[StrictStr], styles: StrictStr, + time: StrictStr, + transparent: Optional[StrictBool], + version: Optional[WmsVersion], width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -234,8 +234,20 @@ def wms_handler_with_http_info( :type workflow: str :param bbox: (required) :type bbox: str + :param bgcolor: (required) + :type bgcolor: str + :param crs: (required) + :type crs: str + :param elevation: (required) + :type elevation: str + :param exceptions: (required) + :type exceptions: GetMapExceptionFormat + :param format: (required) + :type format: GetCapabilitiesFormat :param height: (required) :type height: int + :param info_format: (required) + :type info_format: str :param layer: (required) :type layer: str :param layers: (required) @@ -246,32 +258,20 @@ def wms_handler_with_http_info( :type request: str :param service: (required) :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: + :param sld: (required) :type sld: str - :param sld_body: + :param sld_body: (required) :type sld_body: str - :param time: + :param styles: (required) + :type styles: str + :param time: (required) :type time: str - :param transparent: + :param transparent: (required) :type transparent: bool - :param version: + :param version: (required) :type version: WmsVersion + :param width: (required) + :type width: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -297,25 +297,25 @@ def wms_handler_with_http_info( _param = self._wms_handler_serialize( workflow=workflow, bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, bgcolor=bgcolor, crs=crs, elevation=elevation, exceptions=exceptions, format=format, + height=height, info_format=info_format, + layer=layer, + layers=layers, + query_layers=query_layers, + request=request, + service=service, sld=sld, sld_body=sld_body, + styles=styles, time=time, transparent=transparent, version=version, + width=width, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -341,25 +341,25 @@ def wms_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, + bgcolor: Optional[StrictStr], + crs: Optional[StrictStr], + elevation: Optional[StrictStr], + exceptions: Optional[GetMapExceptionFormat], + format: Optional[GetCapabilitiesFormat], height: Annotated[int, Field(strict=True, ge=0)], + info_format: Optional[StrictStr], layer: StrictStr, layers: StrictStr, query_layers: StrictStr, request: Annotated[StrictStr, Field(description="type of WMS request")], service: WmsService, + sld: Optional[StrictStr], + sld_body: Optional[StrictStr], styles: StrictStr, + time: StrictStr, + transparent: Optional[StrictBool], + version: Optional[WmsVersion], width: Annotated[int, Field(strict=True, ge=0)], - bgcolor: Optional[StrictStr] = None, - crs: Optional[StrictStr] = None, - elevation: Optional[StrictStr] = None, - exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, - info_format: Optional[StrictStr] = None, - sld: Optional[StrictStr] = None, - sld_body: Optional[StrictStr] = None, - time: Optional[StrictStr] = None, - transparent: Optional[StrictBool] = None, - version: Optional[WmsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -380,8 +380,20 @@ def wms_handler_without_preload_content( :type workflow: str :param bbox: (required) :type bbox: str + :param bgcolor: (required) + :type bgcolor: str + :param crs: (required) + :type crs: str + :param elevation: (required) + :type elevation: str + :param exceptions: (required) + :type exceptions: GetMapExceptionFormat + :param format: (required) + :type format: GetCapabilitiesFormat :param height: (required) :type height: int + :param info_format: (required) + :type info_format: str :param layer: (required) :type layer: str :param layers: (required) @@ -392,32 +404,20 @@ def wms_handler_without_preload_content( :type request: str :param service: (required) :type service: WmsService - :param styles: (required) - :type styles: str - :param width: (required) - :type width: int - :param bgcolor: - :type bgcolor: str - :param crs: - :type crs: str - :param elevation: - :type elevation: str - :param exceptions: - :type exceptions: GetMapExceptionFormat - :param format: - :type format: GetCapabilitiesFormat - :param info_format: - :type info_format: str - :param sld: + :param sld: (required) :type sld: str - :param sld_body: + :param sld_body: (required) :type sld_body: str - :param time: + :param styles: (required) + :type styles: str + :param time: (required) :type time: str - :param transparent: + :param transparent: (required) :type transparent: bool - :param version: + :param version: (required) :type version: WmsVersion + :param width: (required) + :type width: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -443,25 +443,25 @@ def wms_handler_without_preload_content( _param = self._wms_handler_serialize( workflow=workflow, bbox=bbox, - height=height, - layer=layer, - layers=layers, - query_layers=query_layers, - request=request, - service=service, - styles=styles, - width=width, bgcolor=bgcolor, crs=crs, elevation=elevation, exceptions=exceptions, format=format, + height=height, info_format=info_format, + layer=layer, + layers=layers, + query_layers=query_layers, + request=request, + service=service, sld=sld, sld_body=sld_body, + styles=styles, time=time, transparent=transparent, version=version, + width=width, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -482,25 +482,25 @@ def _wms_handler_serialize( self, workflow, bbox, - height, - layer, - layers, - query_layers, - request, - service, - styles, - width, bgcolor, crs, elevation, exceptions, format, + height, info_format, + layer, + layers, + query_layers, + request, + service, sld, sld_body, + styles, time, transparent, version, + width, _request_auth, _content_type, _headers, @@ -524,87 +524,47 @@ def _wms_handler_serialize( # process the path parameters if workflow is not None: _path_params['workflow'] = workflow - # process the query parameters if bbox is not None: - - _query_params.append(('bbox', bbox)) - + _path_params['bbox'] = bbox if bgcolor is not None: - - _query_params.append(('bgcolor', bgcolor)) - + _path_params['bgcolor'] = bgcolor if crs is not None: - - _query_params.append(('crs', crs)) - + _path_params['crs'] = crs if elevation is not None: - - _query_params.append(('elevation', elevation)) - + _path_params['elevation'] = elevation if exceptions is not None: - - _query_params.append(('exceptions', exceptions.value)) - + _path_params['exceptions'] = exceptions.value if format is not None: - - _query_params.append(('format', format.value)) - + _path_params['format'] = format.value if height is not None: - - _query_params.append(('height', height)) - + _path_params['height'] = height if info_format is not None: - - _query_params.append(('info_format', info_format)) - + _path_params['info_format'] = info_format if layer is not None: - - _query_params.append(('layer', layer)) - + _path_params['layer'] = layer if layers is not None: - - _query_params.append(('layers', layers)) - + _path_params['layers'] = layers if query_layers is not None: - - _query_params.append(('query_layers', query_layers)) - + _path_params['query_layers'] = query_layers if request is not None: - - _query_params.append(('request', request)) - + _path_params['request'] = request if service is not None: - - _query_params.append(('service', service.value)) - + _path_params['service'] = service.value if sld is not None: - - _query_params.append(('sld', sld)) - + _path_params['sld'] = sld if sld_body is not None: - - _query_params.append(('sld_body', sld_body)) - + _path_params['sld_body'] = sld_body if styles is not None: - - _query_params.append(('styles', styles)) - + _path_params['styles'] = styles if time is not None: - - _query_params.append(('time', time)) - + _path_params['time'] = time if transparent is not None: - - _query_params.append(('transparent', transparent)) - + _path_params['transparent'] = transparent if version is not None: - - _query_params.append(('version', version.value)) - + _path_params['version'] = version.value if width is not None: - - _query_params.append(('width', width)) - + _path_params['width'] = width + # process the query parameters # process the header parameters # process the form parameters # process the body parameter diff --git a/python/geoengine_openapi_client/models/__init__.py b/python/geoengine_openapi_client/models/__init__.py index 94875386..c6d5d460 100644 --- a/python/geoengine_openapi_client/models/__init__.py +++ b/python/geoengine_openapi_client/models/__init__.py @@ -55,7 +55,6 @@ from geoengine_openapi_client.models.dataset_resource import DatasetResource from geoengine_openapi_client.models.derived_color import DerivedColor from geoengine_openapi_client.models.derived_number import DerivedNumber -from geoengine_openapi_client.models.describe_coverage_request import DescribeCoverageRequest from geoengine_openapi_client.models.ebv_portal_data_provider_definition import EbvPortalDataProviderDefinition from geoengine_openapi_client.models.edr_data_provider_definition import EdrDataProviderDefinition from geoengine_openapi_client.models.edr_vector_spec import EdrVectorSpec @@ -79,14 +78,10 @@ from geoengine_openapi_client.models.geo_json import GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat -from geoengine_openapi_client.models.get_capabilities_request import GetCapabilitiesRequest from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat -from geoengine_openapi_client.models.get_coverage_request import GetCoverageRequest from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest -from geoengine_openapi_client.models.get_legend_graphic_request import GetLegendGraphicRequest from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat from geoengine_openapi_client.models.get_map_format import GetMapFormat -from geoengine_openapi_client.models.get_map_request import GetMapRequest from geoengine_openapi_client.models.gfbio_abcd_data_provider_definition import GfbioAbcdDataProviderDefinition from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition from geoengine_openapi_client.models.grid_bounding_box2_d import GridBoundingBox2D diff --git a/python/geoengine_openapi_client/models/describe_coverage_request.py b/python/geoengine_openapi_client/models/describe_coverage_request.py deleted file mode 100644 index 4ea1b517..00000000 --- a/python/geoengine_openapi_client/models/describe_coverage_request.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class DescribeCoverageRequest(str, Enum): - """ - DescribeCoverageRequest - """ - - """ - allowed enum values - """ - DESCRIBECOVERAGE = 'DescribeCoverage' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of DescribeCoverageRequest from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/python/geoengine_openapi_client/models/get_capabilities_request.py b/python/geoengine_openapi_client/models/get_capabilities_request.py deleted file mode 100644 index 1eff0daa..00000000 --- a/python/geoengine_openapi_client/models/get_capabilities_request.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class GetCapabilitiesRequest(str, Enum): - """ - GetCapabilitiesRequest - """ - - """ - allowed enum values - """ - GETCAPABILITIES = 'GetCapabilities' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of GetCapabilitiesRequest from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/python/geoengine_openapi_client/models/get_coverage_request.py b/python/geoengine_openapi_client/models/get_coverage_request.py deleted file mode 100644 index 0f84a6a4..00000000 --- a/python/geoengine_openapi_client/models/get_coverage_request.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class GetCoverageRequest(str, Enum): - """ - GetCoverageRequest - """ - - """ - allowed enum values - """ - GETCOVERAGE = 'GetCoverage' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of GetCoverageRequest from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/python/geoengine_openapi_client/models/get_legend_graphic_request.py b/python/geoengine_openapi_client/models/get_legend_graphic_request.py deleted file mode 100644 index a7800ef7..00000000 --- a/python/geoengine_openapi_client/models/get_legend_graphic_request.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class GetLegendGraphicRequest(str, Enum): - """ - GetLegendGraphicRequest - """ - - """ - allowed enum values - """ - GETLEGENDGRAPHIC = 'GetLegendGraphic' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of GetLegendGraphicRequest from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/python/geoengine_openapi_client/models/get_map_request.py b/python/geoengine_openapi_client/models/get_map_request.py deleted file mode 100644 index d981ed17..00000000 --- a/python/geoengine_openapi_client/models/get_map_request.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class GetMapRequest(str, Enum): - """ - GetMapRequest - """ - - """ - allowed enum values - """ - GETMAP = 'GetMap' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of GetMapRequest from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/python/test/test_describe_coverage_request.py b/python/test/test_describe_coverage_request.py deleted file mode 100644 index 41afcd5a..00000000 --- a/python/test/test_describe_coverage_request.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.describe_coverage_request import DescribeCoverageRequest - -class TestDescribeCoverageRequest(unittest.TestCase): - """DescribeCoverageRequest unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testDescribeCoverageRequest(self): - """Test DescribeCoverageRequest""" - # inst = DescribeCoverageRequest() - -if __name__ == '__main__': - unittest.main() diff --git a/python/test/test_get_capabilities_request.py b/python/test/test_get_capabilities_request.py deleted file mode 100644 index 3f065938..00000000 --- a/python/test/test_get_capabilities_request.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.get_capabilities_request import GetCapabilitiesRequest - -class TestGetCapabilitiesRequest(unittest.TestCase): - """GetCapabilitiesRequest unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testGetCapabilitiesRequest(self): - """Test GetCapabilitiesRequest""" - # inst = GetCapabilitiesRequest() - -if __name__ == '__main__': - unittest.main() diff --git a/python/test/test_get_coverage_request.py b/python/test/test_get_coverage_request.py deleted file mode 100644 index 6060ff35..00000000 --- a/python/test/test_get_coverage_request.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.get_coverage_request import GetCoverageRequest - -class TestGetCoverageRequest(unittest.TestCase): - """GetCoverageRequest unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testGetCoverageRequest(self): - """Test GetCoverageRequest""" - # inst = GetCoverageRequest() - -if __name__ == '__main__': - unittest.main() diff --git a/python/test/test_get_legend_graphic_request.py b/python/test/test_get_legend_graphic_request.py deleted file mode 100644 index 80554911..00000000 --- a/python/test/test_get_legend_graphic_request.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.get_legend_graphic_request import GetLegendGraphicRequest - -class TestGetLegendGraphicRequest(unittest.TestCase): - """GetLegendGraphicRequest unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testGetLegendGraphicRequest(self): - """Test GetLegendGraphicRequest""" - # inst = GetLegendGraphicRequest() - -if __name__ == '__main__': - unittest.main() diff --git a/python/test/test_get_map_request.py b/python/test/test_get_map_request.py deleted file mode 100644 index 7eb4837a..00000000 --- a/python/test/test_get_map_request.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.get_map_request import GetMapRequest - -class TestGetMapRequest(unittest.TestCase): - """GetMapRequest unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testGetMapRequest(self): - """Test GetMapRequest""" - # inst = GetMapRequest() - -if __name__ == '__main__': - unittest.main() diff --git a/typescript/README.md b/typescript/README.md index ba2345b1..f0d87009 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -193,7 +193,6 @@ All URIs are relative to *http://127.0.0.1:3030/api* - [DatasetResource](docs/DatasetResource.md) - [DerivedColor](docs/DerivedColor.md) - [DerivedNumber](docs/DerivedNumber.md) -- [DescribeCoverageRequest](docs/DescribeCoverageRequest.md) - [EbvPortalDataProviderDefinition](docs/EbvPortalDataProviderDefinition.md) - [EdrDataProviderDefinition](docs/EdrDataProviderDefinition.md) - [EdrVectorSpec](docs/EdrVectorSpec.md) @@ -217,14 +216,10 @@ All URIs are relative to *http://127.0.0.1:3030/api* - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) - [GetCapabilitiesFormat](docs/GetCapabilitiesFormat.md) -- [GetCapabilitiesRequest](docs/GetCapabilitiesRequest.md) - [GetCoverageFormat](docs/GetCoverageFormat.md) -- [GetCoverageRequest](docs/GetCoverageRequest.md) - [GetFeatureRequest](docs/GetFeatureRequest.md) -- [GetLegendGraphicRequest](docs/GetLegendGraphicRequest.md) - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) - [GetMapFormat](docs/GetMapFormat.md) -- [GetMapRequest](docs/GetMapRequest.md) - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) - [GridBoundingBox2D](docs/GridBoundingBox2D.md) diff --git a/typescript/dist/apis/OGCWCSApi.d.ts b/typescript/dist/apis/OGCWCSApi.d.ts index d3431654..a60b21dd 100644 --- a/typescript/dist/apis/OGCWCSApi.d.ts +++ b/typescript/dist/apis/OGCWCSApi.d.ts @@ -16,17 +16,17 @@ export interface WcsHandlerRequest { boundingbox: string; format: GetCoverageFormat; gridbasecrs: string; + gridoffsets: string; + gridorigin: string; identifier: string; identifiers: string; + nodatavalue: number | null; request: WcsHandlerRequestEnum; + resx: number | null; + resy: number | null; service: WcsService; - gridoffsets?: string; - gridorigin?: string; - nodatavalue?: number | null; - resx?: number | null; - resy?: number | null; - time?: string; - version?: WcsVersion | null; + time: string; + version: WcsVersion | null; } /** * diff --git a/typescript/dist/apis/OGCWCSApi.js b/typescript/dist/apis/OGCWCSApi.js index b3b265a8..f2294525 100644 --- a/typescript/dist/apis/OGCWCSApi.js +++ b/typescript/dist/apis/OGCWCSApi.js @@ -45,61 +45,40 @@ class OGCWCSApi extends runtime.BaseAPI { if (requestParameters['gridbasecrs'] == null) { throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); } + if (requestParameters['gridoffsets'] == null) { + throw new runtime.RequiredError('gridoffsets', 'Required parameter "gridoffsets" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['gridorigin'] == null) { + throw new runtime.RequiredError('gridorigin', 'Required parameter "gridorigin" was null or undefined when calling wcsHandler().'); + } if (requestParameters['identifier'] == null) { throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); } if (requestParameters['identifiers'] == null) { throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); } + if (requestParameters['nodatavalue'] == null) { + throw new runtime.RequiredError('nodatavalue', 'Required parameter "nodatavalue" was null or undefined when calling wcsHandler().'); + } if (requestParameters['request'] == null) { throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); - } - const queryParameters = {}; - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; - } - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + if (requestParameters['resx'] == null) { + throw new runtime.RequiredError('resx', 'Required parameter "resx" was null or undefined when calling wcsHandler().'); } - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; + if (requestParameters['resy'] == null) { + throw new runtime.RequiredError('resy', 'Required parameter "resy" was null or undefined when calling wcsHandler().'); } - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; - } - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; - } - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; - } - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wcsHandler().'); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsHandler().'); } + const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -110,6 +89,20 @@ class OGCWCSApi extends runtime.BaseAPI { } let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"boundingbox"}}`, encodeURIComponent(String(requestParameters['boundingbox']))); + urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); + urlPath = urlPath.replace(`{${"gridbasecrs"}}`, encodeURIComponent(String(requestParameters['gridbasecrs']))); + urlPath = urlPath.replace(`{${"gridoffsets"}}`, encodeURIComponent(String(requestParameters['gridoffsets']))); + urlPath = urlPath.replace(`{${"gridorigin"}}`, encodeURIComponent(String(requestParameters['gridorigin']))); + urlPath = urlPath.replace(`{${"identifier"}}`, encodeURIComponent(String(requestParameters['identifier']))); + urlPath = urlPath.replace(`{${"identifiers"}}`, encodeURIComponent(String(requestParameters['identifiers']))); + urlPath = urlPath.replace(`{${"nodatavalue"}}`, encodeURIComponent(String(requestParameters['nodatavalue']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"resx"}}`, encodeURIComponent(String(requestParameters['resx']))); + urlPath = urlPath.replace(`{${"resy"}}`, encodeURIComponent(String(requestParameters['resy']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts index af5bf03e..4a89133d 100644 --- a/typescript/dist/apis/OGCWFSApi.d.ts +++ b/typescript/dist/apis/OGCWFSApi.d.ts @@ -14,19 +14,19 @@ import type { GeoJson, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; bbox: string; + count: number | null; + filter: string | null; + namespaces: string | null; + propertyName: string | null; + queryResolution: string; request: WfsHandlerRequestEnum; + resultType: string | null; service: WfsService; + sortBy: string | null; + srsName: string | null; + time: string; typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; + version: WfsVersion | null; } /** * diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js index c537f958..d2d8a0e1 100644 --- a/typescript/dist/apis/OGCWFSApi.js +++ b/typescript/dist/apis/OGCWFSApi.js @@ -40,58 +40,46 @@ class OGCWFSApi extends runtime.BaseAPI { if (requestParameters['bbox'] == null) { throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; + if (requestParameters['count'] == null) { + throw new runtime.RequiredError('count', 'Required parameter "count" was null or undefined when calling wfsHandler().'); } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; + if (requestParameters['filter'] == null) { + throw new runtime.RequiredError('filter', 'Required parameter "filter" was null or undefined when calling wfsHandler().'); } - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; + if (requestParameters['namespaces'] == null) { + throw new runtime.RequiredError('namespaces', 'Required parameter "namespaces" was null or undefined when calling wfsHandler().'); } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; + if (requestParameters['propertyName'] == null) { + throw new runtime.RequiredError('propertyName', 'Required parameter "propertyName" was null or undefined when calling wfsHandler().'); } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; + if (requestParameters['queryResolution'] == null) { + throw new runtime.RequiredError('queryResolution', 'Required parameter "queryResolution" was null or undefined when calling wfsHandler().'); } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; + if (requestParameters['resultType'] == null) { + throw new runtime.RequiredError('resultType', 'Required parameter "resultType" was null or undefined when calling wfsHandler().'); } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; + if (requestParameters['sortBy'] == null) { + throw new runtime.RequiredError('sortBy', 'Required parameter "sortBy" was null or undefined when calling wfsHandler().'); } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; + if (requestParameters['srsName'] == null) { + throw new runtime.RequiredError('srsName', 'Required parameter "srsName" was null or undefined when calling wfsHandler().'); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wfsHandler().'); } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wfsHandler().'); } + const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -102,6 +90,20 @@ class OGCWFSApi extends runtime.BaseAPI { } let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); + urlPath = urlPath.replace(`{${"count"}}`, encodeURIComponent(String(requestParameters['count']))); + urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); + urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); + urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); + urlPath = urlPath.replace(`{${"queryResolution"}}`, encodeURIComponent(String(requestParameters['queryResolution']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"sortBy"}}`, encodeURIComponent(String(requestParameters['sortBy']))); + urlPath = urlPath.replace(`{${"srsName"}}`, encodeURIComponent(String(requestParameters['srsName']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts index c22d0f64..5ade52e1 100644 --- a/typescript/dist/apis/OGCWMSApi.d.ts +++ b/typescript/dist/apis/OGCWMSApi.d.ts @@ -14,25 +14,25 @@ import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersi export interface WmsHandlerRequest { workflow: string; bbox: string; + bgcolor: string | null; + crs: string | null; + elevation: string | null; + exceptions: GetMapExceptionFormat | null; + format: GetCapabilitiesFormat | null; height: number; + infoFormat: string | null; layer: string; layers: string; queryLayers: string; request: WmsHandlerRequestEnum; service: WmsService; + sld: string | null; + sldBody: string | null; styles: string; + time: string; + transparent: boolean | null; + version: WmsVersion | null; width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; } /** * diff --git a/typescript/dist/apis/OGCWMSApi.js b/typescript/dist/apis/OGCWMSApi.js index 9bd23691..5ff41082 100644 --- a/typescript/dist/apis/OGCWMSApi.js +++ b/typescript/dist/apis/OGCWMSApi.js @@ -39,9 +39,27 @@ class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['bbox'] == null) { throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); } + if (requestParameters['bgcolor'] == null) { + throw new runtime.RequiredError('bgcolor', 'Required parameter "bgcolor" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['crs'] == null) { + throw new runtime.RequiredError('crs', 'Required parameter "crs" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['elevation'] == null) { + throw new runtime.RequiredError('elevation', 'Required parameter "elevation" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['exceptions'] == null) { + throw new runtime.RequiredError('exceptions', 'Required parameter "exceptions" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['format'] == null) { + throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsHandler().'); + } if (requestParameters['height'] == null) { throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); } + if (requestParameters['infoFormat'] == null) { + throw new runtime.RequiredError('infoFormat', 'Required parameter "infoFormat" was null or undefined when calling wmsHandler().'); + } if (requestParameters['layer'] == null) { throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); } @@ -57,73 +75,28 @@ class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['service'] == null) { throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; + if (requestParameters['sld'] == null) { + throw new runtime.RequiredError('sld', 'Required parameter "sld" was null or undefined when calling wmsHandler().'); } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; + if (requestParameters['sldBody'] == null) { + throw new runtime.RequiredError('sldBody', 'Required parameter "sldBody" was null or undefined when calling wmsHandler().'); } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wmsHandler().'); } - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; + if (requestParameters['transparent'] == null) { + throw new runtime.RequiredError('transparent', 'Required parameter "transparent" was null or undefined when calling wmsHandler().'); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsHandler().'); } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); } + const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -134,6 +107,26 @@ class OGCWMSApi extends runtime.BaseAPI { } let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); + urlPath = urlPath.replace(`{${"bgcolor"}}`, encodeURIComponent(String(requestParameters['bgcolor']))); + urlPath = urlPath.replace(`{${"crs"}}`, encodeURIComponent(String(requestParameters['crs']))); + urlPath = urlPath.replace(`{${"elevation"}}`, encodeURIComponent(String(requestParameters['elevation']))); + urlPath = urlPath.replace(`{${"exceptions"}}`, encodeURIComponent(String(requestParameters['exceptions']))); + urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); + urlPath = urlPath.replace(`{${"height"}}`, encodeURIComponent(String(requestParameters['height']))); + urlPath = urlPath.replace(`{${"info_format"}}`, encodeURIComponent(String(requestParameters['infoFormat']))); + urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); + urlPath = urlPath.replace(`{${"layers"}}`, encodeURIComponent(String(requestParameters['layers']))); + urlPath = urlPath.replace(`{${"query_layers"}}`, encodeURIComponent(String(requestParameters['queryLayers']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"sld"}}`, encodeURIComponent(String(requestParameters['sld']))); + urlPath = urlPath.replace(`{${"sld_body"}}`, encodeURIComponent(String(requestParameters['sldBody']))); + urlPath = urlPath.replace(`{${"styles"}}`, encodeURIComponent(String(requestParameters['styles']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"transparent"}}`, encodeURIComponent(String(requestParameters['transparent']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); + urlPath = urlPath.replace(`{${"width"}}`, encodeURIComponent(String(requestParameters['width']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/apis/OGCWCSApi.d.ts b/typescript/dist/esm/apis/OGCWCSApi.d.ts index d3431654..a60b21dd 100644 --- a/typescript/dist/esm/apis/OGCWCSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWCSApi.d.ts @@ -16,17 +16,17 @@ export interface WcsHandlerRequest { boundingbox: string; format: GetCoverageFormat; gridbasecrs: string; + gridoffsets: string; + gridorigin: string; identifier: string; identifiers: string; + nodatavalue: number | null; request: WcsHandlerRequestEnum; + resx: number | null; + resy: number | null; service: WcsService; - gridoffsets?: string; - gridorigin?: string; - nodatavalue?: number | null; - resx?: number | null; - resy?: number | null; - time?: string; - version?: WcsVersion | null; + time: string; + version: WcsVersion | null; } /** * diff --git a/typescript/dist/esm/apis/OGCWCSApi.js b/typescript/dist/esm/apis/OGCWCSApi.js index c5eaf98f..8559b84d 100644 --- a/typescript/dist/esm/apis/OGCWCSApi.js +++ b/typescript/dist/esm/apis/OGCWCSApi.js @@ -42,61 +42,40 @@ export class OGCWCSApi extends runtime.BaseAPI { if (requestParameters['gridbasecrs'] == null) { throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); } + if (requestParameters['gridoffsets'] == null) { + throw new runtime.RequiredError('gridoffsets', 'Required parameter "gridoffsets" was null or undefined when calling wcsHandler().'); + } + if (requestParameters['gridorigin'] == null) { + throw new runtime.RequiredError('gridorigin', 'Required parameter "gridorigin" was null or undefined when calling wcsHandler().'); + } if (requestParameters['identifier'] == null) { throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); } if (requestParameters['identifiers'] == null) { throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); } + if (requestParameters['nodatavalue'] == null) { + throw new runtime.RequiredError('nodatavalue', 'Required parameter "nodatavalue" was null or undefined when calling wcsHandler().'); + } if (requestParameters['request'] == null) { throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); - } - const queryParameters = {}; - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; - } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; - } - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; + if (requestParameters['resx'] == null) { + throw new runtime.RequiredError('resx', 'Required parameter "resx" was null or undefined when calling wcsHandler().'); } - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; + if (requestParameters['resy'] == null) { + throw new runtime.RequiredError('resy', 'Required parameter "resy" was null or undefined when calling wcsHandler().'); } - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; - } - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; - } - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; - } - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wcsHandler().'); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsHandler().'); } + const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -107,6 +86,20 @@ export class OGCWCSApi extends runtime.BaseAPI { } let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"boundingbox"}}`, encodeURIComponent(String(requestParameters['boundingbox']))); + urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); + urlPath = urlPath.replace(`{${"gridbasecrs"}}`, encodeURIComponent(String(requestParameters['gridbasecrs']))); + urlPath = urlPath.replace(`{${"gridoffsets"}}`, encodeURIComponent(String(requestParameters['gridoffsets']))); + urlPath = urlPath.replace(`{${"gridorigin"}}`, encodeURIComponent(String(requestParameters['gridorigin']))); + urlPath = urlPath.replace(`{${"identifier"}}`, encodeURIComponent(String(requestParameters['identifier']))); + urlPath = urlPath.replace(`{${"identifiers"}}`, encodeURIComponent(String(requestParameters['identifiers']))); + urlPath = urlPath.replace(`{${"nodatavalue"}}`, encodeURIComponent(String(requestParameters['nodatavalue']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"resx"}}`, encodeURIComponent(String(requestParameters['resx']))); + urlPath = urlPath.replace(`{${"resy"}}`, encodeURIComponent(String(requestParameters['resy']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts index af5bf03e..4a89133d 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWFSApi.d.ts @@ -14,19 +14,19 @@ import type { GeoJson, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; bbox: string; + count: number | null; + filter: string | null; + namespaces: string | null; + propertyName: string | null; + queryResolution: string; request: WfsHandlerRequestEnum; + resultType: string | null; service: WfsService; + sortBy: string | null; + srsName: string | null; + time: string; typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; + version: WfsVersion | null; } /** * diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js index 3a083ad6..b75a24fd 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.js +++ b/typescript/dist/esm/apis/OGCWFSApi.js @@ -37,58 +37,46 @@ export class OGCWFSApi extends runtime.BaseAPI { if (requestParameters['bbox'] == null) { throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; + if (requestParameters['count'] == null) { + throw new runtime.RequiredError('count', 'Required parameter "count" was null or undefined when calling wfsHandler().'); } - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; + if (requestParameters['filter'] == null) { + throw new runtime.RequiredError('filter', 'Required parameter "filter" was null or undefined when calling wfsHandler().'); } - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; + if (requestParameters['namespaces'] == null) { + throw new runtime.RequiredError('namespaces', 'Required parameter "namespaces" was null or undefined when calling wfsHandler().'); } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; + if (requestParameters['propertyName'] == null) { + throw new runtime.RequiredError('propertyName', 'Required parameter "propertyName" was null or undefined when calling wfsHandler().'); } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; + if (requestParameters['queryResolution'] == null) { + throw new runtime.RequiredError('queryResolution', 'Required parameter "queryResolution" was null or undefined when calling wfsHandler().'); } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; + if (requestParameters['resultType'] == null) { + throw new runtime.RequiredError('resultType', 'Required parameter "resultType" was null or undefined when calling wfsHandler().'); } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; + if (requestParameters['sortBy'] == null) { + throw new runtime.RequiredError('sortBy', 'Required parameter "sortBy" was null or undefined when calling wfsHandler().'); } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; + if (requestParameters['srsName'] == null) { + throw new runtime.RequiredError('srsName', 'Required parameter "srsName" was null or undefined when calling wfsHandler().'); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wfsHandler().'); } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wfsHandler().'); } + const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -99,6 +87,20 @@ export class OGCWFSApi extends runtime.BaseAPI { } let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); + urlPath = urlPath.replace(`{${"count"}}`, encodeURIComponent(String(requestParameters['count']))); + urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); + urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); + urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); + urlPath = urlPath.replace(`{${"queryResolution"}}`, encodeURIComponent(String(requestParameters['queryResolution']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"sortBy"}}`, encodeURIComponent(String(requestParameters['sortBy']))); + urlPath = urlPath.replace(`{${"srsName"}}`, encodeURIComponent(String(requestParameters['srsName']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts index c22d0f64..5ade52e1 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWMSApi.d.ts @@ -14,25 +14,25 @@ import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersi export interface WmsHandlerRequest { workflow: string; bbox: string; + bgcolor: string | null; + crs: string | null; + elevation: string | null; + exceptions: GetMapExceptionFormat | null; + format: GetCapabilitiesFormat | null; height: number; + infoFormat: string | null; layer: string; layers: string; queryLayers: string; request: WmsHandlerRequestEnum; service: WmsService; + sld: string | null; + sldBody: string | null; styles: string; + time: string; + transparent: boolean | null; + version: WmsVersion | null; width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; } /** * diff --git a/typescript/dist/esm/apis/OGCWMSApi.js b/typescript/dist/esm/apis/OGCWMSApi.js index fe044560..fb7426ea 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.js +++ b/typescript/dist/esm/apis/OGCWMSApi.js @@ -36,9 +36,27 @@ export class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['bbox'] == null) { throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); } + if (requestParameters['bgcolor'] == null) { + throw new runtime.RequiredError('bgcolor', 'Required parameter "bgcolor" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['crs'] == null) { + throw new runtime.RequiredError('crs', 'Required parameter "crs" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['elevation'] == null) { + throw new runtime.RequiredError('elevation', 'Required parameter "elevation" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['exceptions'] == null) { + throw new runtime.RequiredError('exceptions', 'Required parameter "exceptions" was null or undefined when calling wmsHandler().'); + } + if (requestParameters['format'] == null) { + throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsHandler().'); + } if (requestParameters['height'] == null) { throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); } + if (requestParameters['infoFormat'] == null) { + throw new runtime.RequiredError('infoFormat', 'Required parameter "infoFormat" was null or undefined when calling wmsHandler().'); + } if (requestParameters['layer'] == null) { throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); } @@ -54,73 +72,28 @@ export class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['service'] == null) { throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); - } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); - } - const queryParameters = {}; - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; + if (requestParameters['sld'] == null) { + throw new runtime.RequiredError('sld', 'Required parameter "sld" was null or undefined when calling wmsHandler().'); } - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; + if (requestParameters['sldBody'] == null) { + throw new runtime.RequiredError('sldBody', 'Required parameter "sldBody" was null or undefined when calling wmsHandler().'); } - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; - } - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wmsHandler().'); } - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; + if (requestParameters['transparent'] == null) { + throw new runtime.RequiredError('transparent', 'Required parameter "transparent" was null or undefined when calling wmsHandler().'); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsHandler().'); } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; + if (requestParameters['width'] == null) { + throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); } + const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -131,6 +104,26 @@ export class OGCWMSApi extends runtime.BaseAPI { } let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); + urlPath = urlPath.replace(`{${"bgcolor"}}`, encodeURIComponent(String(requestParameters['bgcolor']))); + urlPath = urlPath.replace(`{${"crs"}}`, encodeURIComponent(String(requestParameters['crs']))); + urlPath = urlPath.replace(`{${"elevation"}}`, encodeURIComponent(String(requestParameters['elevation']))); + urlPath = urlPath.replace(`{${"exceptions"}}`, encodeURIComponent(String(requestParameters['exceptions']))); + urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); + urlPath = urlPath.replace(`{${"height"}}`, encodeURIComponent(String(requestParameters['height']))); + urlPath = urlPath.replace(`{${"info_format"}}`, encodeURIComponent(String(requestParameters['infoFormat']))); + urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); + urlPath = urlPath.replace(`{${"layers"}}`, encodeURIComponent(String(requestParameters['layers']))); + urlPath = urlPath.replace(`{${"query_layers"}}`, encodeURIComponent(String(requestParameters['queryLayers']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"sld"}}`, encodeURIComponent(String(requestParameters['sld']))); + urlPath = urlPath.replace(`{${"sld_body"}}`, encodeURIComponent(String(requestParameters['sldBody']))); + urlPath = urlPath.replace(`{${"styles"}}`, encodeURIComponent(String(requestParameters['styles']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"transparent"}}`, encodeURIComponent(String(requestParameters['transparent']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); + urlPath = urlPath.replace(`{${"width"}}`, encodeURIComponent(String(requestParameters['width']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/models/DescribeCoverageRequest.d.ts b/typescript/dist/esm/models/DescribeCoverageRequest.d.ts deleted file mode 100644 index 4e593d5e..00000000 --- a/typescript/dist/esm/models/DescribeCoverageRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const DescribeCoverageRequest: { - readonly DescribeCoverage: "DescribeCoverage"; -}; -export type DescribeCoverageRequest = typeof DescribeCoverageRequest[keyof typeof DescribeCoverageRequest]; -export declare function instanceOfDescribeCoverageRequest(value: any): boolean; -export declare function DescribeCoverageRequestFromJSON(json: any): DescribeCoverageRequest; -export declare function DescribeCoverageRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DescribeCoverageRequest; -export declare function DescribeCoverageRequestToJSON(value?: DescribeCoverageRequest | null): any; -export declare function DescribeCoverageRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): DescribeCoverageRequest; diff --git a/typescript/dist/esm/models/DescribeCoverageRequest.js b/typescript/dist/esm/models/DescribeCoverageRequest.js deleted file mode 100644 index 88a1e506..00000000 --- a/typescript/dist/esm/models/DescribeCoverageRequest.js +++ /dev/null @@ -1,42 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export const DescribeCoverageRequest = { - DescribeCoverage: 'DescribeCoverage' -}; -export function instanceOfDescribeCoverageRequest(value) { - for (const key in DescribeCoverageRequest) { - if (Object.prototype.hasOwnProperty.call(DescribeCoverageRequest, key)) { - if (DescribeCoverageRequest[key] === value) { - return true; - } - } - } - return false; -} -export function DescribeCoverageRequestFromJSON(json) { - return DescribeCoverageRequestFromJSONTyped(json, false); -} -export function DescribeCoverageRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function DescribeCoverageRequestToJSON(value) { - return value; -} -export function DescribeCoverageRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/GetCapabilitiesRequest.d.ts b/typescript/dist/esm/models/GetCapabilitiesRequest.d.ts deleted file mode 100644 index c1309d45..00000000 --- a/typescript/dist/esm/models/GetCapabilitiesRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetCapabilitiesRequest: { - readonly GetCapabilities: "GetCapabilities"; -}; -export type GetCapabilitiesRequest = typeof GetCapabilitiesRequest[keyof typeof GetCapabilitiesRequest]; -export declare function instanceOfGetCapabilitiesRequest(value: any): boolean; -export declare function GetCapabilitiesRequestFromJSON(json: any): GetCapabilitiesRequest; -export declare function GetCapabilitiesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCapabilitiesRequest; -export declare function GetCapabilitiesRequestToJSON(value?: GetCapabilitiesRequest | null): any; -export declare function GetCapabilitiesRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCapabilitiesRequest; diff --git a/typescript/dist/esm/models/GetCapabilitiesRequest.js b/typescript/dist/esm/models/GetCapabilitiesRequest.js deleted file mode 100644 index 0340671b..00000000 --- a/typescript/dist/esm/models/GetCapabilitiesRequest.js +++ /dev/null @@ -1,42 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export const GetCapabilitiesRequest = { - GetCapabilities: 'GetCapabilities' -}; -export function instanceOfGetCapabilitiesRequest(value) { - for (const key in GetCapabilitiesRequest) { - if (Object.prototype.hasOwnProperty.call(GetCapabilitiesRequest, key)) { - if (GetCapabilitiesRequest[key] === value) { - return true; - } - } - } - return false; -} -export function GetCapabilitiesRequestFromJSON(json) { - return GetCapabilitiesRequestFromJSONTyped(json, false); -} -export function GetCapabilitiesRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function GetCapabilitiesRequestToJSON(value) { - return value; -} -export function GetCapabilitiesRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/GetCoverageRequest.d.ts b/typescript/dist/esm/models/GetCoverageRequest.d.ts deleted file mode 100644 index 66a5e4f4..00000000 --- a/typescript/dist/esm/models/GetCoverageRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetCoverageRequest: { - readonly GetCoverage: "GetCoverage"; -}; -export type GetCoverageRequest = typeof GetCoverageRequest[keyof typeof GetCoverageRequest]; -export declare function instanceOfGetCoverageRequest(value: any): boolean; -export declare function GetCoverageRequestFromJSON(json: any): GetCoverageRequest; -export declare function GetCoverageRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCoverageRequest; -export declare function GetCoverageRequestToJSON(value?: GetCoverageRequest | null): any; -export declare function GetCoverageRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCoverageRequest; diff --git a/typescript/dist/esm/models/GetCoverageRequest.js b/typescript/dist/esm/models/GetCoverageRequest.js deleted file mode 100644 index 5545c08f..00000000 --- a/typescript/dist/esm/models/GetCoverageRequest.js +++ /dev/null @@ -1,42 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export const GetCoverageRequest = { - GetCoverage: 'GetCoverage' -}; -export function instanceOfGetCoverageRequest(value) { - for (const key in GetCoverageRequest) { - if (Object.prototype.hasOwnProperty.call(GetCoverageRequest, key)) { - if (GetCoverageRequest[key] === value) { - return true; - } - } - } - return false; -} -export function GetCoverageRequestFromJSON(json) { - return GetCoverageRequestFromJSONTyped(json, false); -} -export function GetCoverageRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function GetCoverageRequestToJSON(value) { - return value; -} -export function GetCoverageRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/GetLegendGraphicRequest.d.ts b/typescript/dist/esm/models/GetLegendGraphicRequest.d.ts deleted file mode 100644 index d05f4a02..00000000 --- a/typescript/dist/esm/models/GetLegendGraphicRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetLegendGraphicRequest: { - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type GetLegendGraphicRequest = typeof GetLegendGraphicRequest[keyof typeof GetLegendGraphicRequest]; -export declare function instanceOfGetLegendGraphicRequest(value: any): boolean; -export declare function GetLegendGraphicRequestFromJSON(json: any): GetLegendGraphicRequest; -export declare function GetLegendGraphicRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLegendGraphicRequest; -export declare function GetLegendGraphicRequestToJSON(value?: GetLegendGraphicRequest | null): any; -export declare function GetLegendGraphicRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetLegendGraphicRequest; diff --git a/typescript/dist/esm/models/GetLegendGraphicRequest.js b/typescript/dist/esm/models/GetLegendGraphicRequest.js deleted file mode 100644 index 7e9993fb..00000000 --- a/typescript/dist/esm/models/GetLegendGraphicRequest.js +++ /dev/null @@ -1,42 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export const GetLegendGraphicRequest = { - GetLegendGraphic: 'GetLegendGraphic' -}; -export function instanceOfGetLegendGraphicRequest(value) { - for (const key in GetLegendGraphicRequest) { - if (Object.prototype.hasOwnProperty.call(GetLegendGraphicRequest, key)) { - if (GetLegendGraphicRequest[key] === value) { - return true; - } - } - } - return false; -} -export function GetLegendGraphicRequestFromJSON(json) { - return GetLegendGraphicRequestFromJSONTyped(json, false); -} -export function GetLegendGraphicRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function GetLegendGraphicRequestToJSON(value) { - return value; -} -export function GetLegendGraphicRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/GetMapRequest.d.ts b/typescript/dist/esm/models/GetMapRequest.d.ts deleted file mode 100644 index 04c01ac6..00000000 --- a/typescript/dist/esm/models/GetMapRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetMapRequest: { - readonly GetMap: "GetMap"; -}; -export type GetMapRequest = typeof GetMapRequest[keyof typeof GetMapRequest]; -export declare function instanceOfGetMapRequest(value: any): boolean; -export declare function GetMapRequestFromJSON(json: any): GetMapRequest; -export declare function GetMapRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMapRequest; -export declare function GetMapRequestToJSON(value?: GetMapRequest | null): any; -export declare function GetMapRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetMapRequest; diff --git a/typescript/dist/esm/models/GetMapRequest.js b/typescript/dist/esm/models/GetMapRequest.js deleted file mode 100644 index 37ba3276..00000000 --- a/typescript/dist/esm/models/GetMapRequest.js +++ /dev/null @@ -1,42 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export const GetMapRequest = { - GetMap: 'GetMap' -}; -export function instanceOfGetMapRequest(value) { - for (const key in GetMapRequest) { - if (Object.prototype.hasOwnProperty.call(GetMapRequest, key)) { - if (GetMapRequest[key] === value) { - return true; - } - } - } - return false; -} -export function GetMapRequestFromJSON(json) { - return GetMapRequestFromJSONTyped(json, false); -} -export function GetMapRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function GetMapRequestToJSON(value) { - return value; -} -export function GetMapRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/index.d.ts b/typescript/dist/esm/models/index.d.ts index a87e8627..74643149 100644 --- a/typescript/dist/esm/models/index.d.ts +++ b/typescript/dist/esm/models/index.d.ts @@ -39,7 +39,6 @@ export * from './DatasetNameResponse'; export * from './DatasetResource'; export * from './DerivedColor'; export * from './DerivedNumber'; -export * from './DescribeCoverageRequest'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; @@ -63,14 +62,10 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCapabilitiesFormat'; -export * from './GetCapabilitiesRequest'; export * from './GetCoverageFormat'; -export * from './GetCoverageRequest'; export * from './GetFeatureRequest'; -export * from './GetLegendGraphicRequest'; export * from './GetMapExceptionFormat'; export * from './GetMapFormat'; -export * from './GetMapRequest'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; diff --git a/typescript/dist/esm/models/index.js b/typescript/dist/esm/models/index.js index fb12b954..b198b263 100644 --- a/typescript/dist/esm/models/index.js +++ b/typescript/dist/esm/models/index.js @@ -41,7 +41,6 @@ export * from './DatasetNameResponse'; export * from './DatasetResource'; export * from './DerivedColor'; export * from './DerivedNumber'; -export * from './DescribeCoverageRequest'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; @@ -65,14 +64,10 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCapabilitiesFormat'; -export * from './GetCapabilitiesRequest'; export * from './GetCoverageFormat'; -export * from './GetCoverageRequest'; export * from './GetFeatureRequest'; -export * from './GetLegendGraphicRequest'; export * from './GetMapExceptionFormat'; export * from './GetMapFormat'; -export * from './GetMapRequest'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; diff --git a/typescript/dist/models/DescribeCoverageRequest.d.ts b/typescript/dist/models/DescribeCoverageRequest.d.ts deleted file mode 100644 index 4e593d5e..00000000 --- a/typescript/dist/models/DescribeCoverageRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const DescribeCoverageRequest: { - readonly DescribeCoverage: "DescribeCoverage"; -}; -export type DescribeCoverageRequest = typeof DescribeCoverageRequest[keyof typeof DescribeCoverageRequest]; -export declare function instanceOfDescribeCoverageRequest(value: any): boolean; -export declare function DescribeCoverageRequestFromJSON(json: any): DescribeCoverageRequest; -export declare function DescribeCoverageRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DescribeCoverageRequest; -export declare function DescribeCoverageRequestToJSON(value?: DescribeCoverageRequest | null): any; -export declare function DescribeCoverageRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): DescribeCoverageRequest; diff --git a/typescript/dist/models/DescribeCoverageRequest.js b/typescript/dist/models/DescribeCoverageRequest.js deleted file mode 100644 index 298f1fb2..00000000 --- a/typescript/dist/models/DescribeCoverageRequest.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.DescribeCoverageRequest = void 0; -exports.instanceOfDescribeCoverageRequest = instanceOfDescribeCoverageRequest; -exports.DescribeCoverageRequestFromJSON = DescribeCoverageRequestFromJSON; -exports.DescribeCoverageRequestFromJSONTyped = DescribeCoverageRequestFromJSONTyped; -exports.DescribeCoverageRequestToJSON = DescribeCoverageRequestToJSON; -exports.DescribeCoverageRequestToJSONTyped = DescribeCoverageRequestToJSONTyped; -/** - * - * @export - */ -exports.DescribeCoverageRequest = { - DescribeCoverage: 'DescribeCoverage' -}; -function instanceOfDescribeCoverageRequest(value) { - for (const key in exports.DescribeCoverageRequest) { - if (Object.prototype.hasOwnProperty.call(exports.DescribeCoverageRequest, key)) { - if (exports.DescribeCoverageRequest[key] === value) { - return true; - } - } - } - return false; -} -function DescribeCoverageRequestFromJSON(json) { - return DescribeCoverageRequestFromJSONTyped(json, false); -} -function DescribeCoverageRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function DescribeCoverageRequestToJSON(value) { - return value; -} -function DescribeCoverageRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/GetCapabilitiesRequest.d.ts b/typescript/dist/models/GetCapabilitiesRequest.d.ts deleted file mode 100644 index c1309d45..00000000 --- a/typescript/dist/models/GetCapabilitiesRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetCapabilitiesRequest: { - readonly GetCapabilities: "GetCapabilities"; -}; -export type GetCapabilitiesRequest = typeof GetCapabilitiesRequest[keyof typeof GetCapabilitiesRequest]; -export declare function instanceOfGetCapabilitiesRequest(value: any): boolean; -export declare function GetCapabilitiesRequestFromJSON(json: any): GetCapabilitiesRequest; -export declare function GetCapabilitiesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCapabilitiesRequest; -export declare function GetCapabilitiesRequestToJSON(value?: GetCapabilitiesRequest | null): any; -export declare function GetCapabilitiesRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCapabilitiesRequest; diff --git a/typescript/dist/models/GetCapabilitiesRequest.js b/typescript/dist/models/GetCapabilitiesRequest.js deleted file mode 100644 index 86140489..00000000 --- a/typescript/dist/models/GetCapabilitiesRequest.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetCapabilitiesRequest = void 0; -exports.instanceOfGetCapabilitiesRequest = instanceOfGetCapabilitiesRequest; -exports.GetCapabilitiesRequestFromJSON = GetCapabilitiesRequestFromJSON; -exports.GetCapabilitiesRequestFromJSONTyped = GetCapabilitiesRequestFromJSONTyped; -exports.GetCapabilitiesRequestToJSON = GetCapabilitiesRequestToJSON; -exports.GetCapabilitiesRequestToJSONTyped = GetCapabilitiesRequestToJSONTyped; -/** - * - * @export - */ -exports.GetCapabilitiesRequest = { - GetCapabilities: 'GetCapabilities' -}; -function instanceOfGetCapabilitiesRequest(value) { - for (const key in exports.GetCapabilitiesRequest) { - if (Object.prototype.hasOwnProperty.call(exports.GetCapabilitiesRequest, key)) { - if (exports.GetCapabilitiesRequest[key] === value) { - return true; - } - } - } - return false; -} -function GetCapabilitiesRequestFromJSON(json) { - return GetCapabilitiesRequestFromJSONTyped(json, false); -} -function GetCapabilitiesRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function GetCapabilitiesRequestToJSON(value) { - return value; -} -function GetCapabilitiesRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/GetCoverageRequest.d.ts b/typescript/dist/models/GetCoverageRequest.d.ts deleted file mode 100644 index 66a5e4f4..00000000 --- a/typescript/dist/models/GetCoverageRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetCoverageRequest: { - readonly GetCoverage: "GetCoverage"; -}; -export type GetCoverageRequest = typeof GetCoverageRequest[keyof typeof GetCoverageRequest]; -export declare function instanceOfGetCoverageRequest(value: any): boolean; -export declare function GetCoverageRequestFromJSON(json: any): GetCoverageRequest; -export declare function GetCoverageRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCoverageRequest; -export declare function GetCoverageRequestToJSON(value?: GetCoverageRequest | null): any; -export declare function GetCoverageRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCoverageRequest; diff --git a/typescript/dist/models/GetCoverageRequest.js b/typescript/dist/models/GetCoverageRequest.js deleted file mode 100644 index ee1cab10..00000000 --- a/typescript/dist/models/GetCoverageRequest.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetCoverageRequest = void 0; -exports.instanceOfGetCoverageRequest = instanceOfGetCoverageRequest; -exports.GetCoverageRequestFromJSON = GetCoverageRequestFromJSON; -exports.GetCoverageRequestFromJSONTyped = GetCoverageRequestFromJSONTyped; -exports.GetCoverageRequestToJSON = GetCoverageRequestToJSON; -exports.GetCoverageRequestToJSONTyped = GetCoverageRequestToJSONTyped; -/** - * - * @export - */ -exports.GetCoverageRequest = { - GetCoverage: 'GetCoverage' -}; -function instanceOfGetCoverageRequest(value) { - for (const key in exports.GetCoverageRequest) { - if (Object.prototype.hasOwnProperty.call(exports.GetCoverageRequest, key)) { - if (exports.GetCoverageRequest[key] === value) { - return true; - } - } - } - return false; -} -function GetCoverageRequestFromJSON(json) { - return GetCoverageRequestFromJSONTyped(json, false); -} -function GetCoverageRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function GetCoverageRequestToJSON(value) { - return value; -} -function GetCoverageRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/GetLegendGraphicRequest.d.ts b/typescript/dist/models/GetLegendGraphicRequest.d.ts deleted file mode 100644 index d05f4a02..00000000 --- a/typescript/dist/models/GetLegendGraphicRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetLegendGraphicRequest: { - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type GetLegendGraphicRequest = typeof GetLegendGraphicRequest[keyof typeof GetLegendGraphicRequest]; -export declare function instanceOfGetLegendGraphicRequest(value: any): boolean; -export declare function GetLegendGraphicRequestFromJSON(json: any): GetLegendGraphicRequest; -export declare function GetLegendGraphicRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLegendGraphicRequest; -export declare function GetLegendGraphicRequestToJSON(value?: GetLegendGraphicRequest | null): any; -export declare function GetLegendGraphicRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetLegendGraphicRequest; diff --git a/typescript/dist/models/GetLegendGraphicRequest.js b/typescript/dist/models/GetLegendGraphicRequest.js deleted file mode 100644 index fc387813..00000000 --- a/typescript/dist/models/GetLegendGraphicRequest.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetLegendGraphicRequest = void 0; -exports.instanceOfGetLegendGraphicRequest = instanceOfGetLegendGraphicRequest; -exports.GetLegendGraphicRequestFromJSON = GetLegendGraphicRequestFromJSON; -exports.GetLegendGraphicRequestFromJSONTyped = GetLegendGraphicRequestFromJSONTyped; -exports.GetLegendGraphicRequestToJSON = GetLegendGraphicRequestToJSON; -exports.GetLegendGraphicRequestToJSONTyped = GetLegendGraphicRequestToJSONTyped; -/** - * - * @export - */ -exports.GetLegendGraphicRequest = { - GetLegendGraphic: 'GetLegendGraphic' -}; -function instanceOfGetLegendGraphicRequest(value) { - for (const key in exports.GetLegendGraphicRequest) { - if (Object.prototype.hasOwnProperty.call(exports.GetLegendGraphicRequest, key)) { - if (exports.GetLegendGraphicRequest[key] === value) { - return true; - } - } - } - return false; -} -function GetLegendGraphicRequestFromJSON(json) { - return GetLegendGraphicRequestFromJSONTyped(json, false); -} -function GetLegendGraphicRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function GetLegendGraphicRequestToJSON(value) { - return value; -} -function GetLegendGraphicRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/GetMapRequest.d.ts b/typescript/dist/models/GetMapRequest.d.ts deleted file mode 100644 index 04c01ac6..00000000 --- a/typescript/dist/models/GetMapRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetMapRequest: { - readonly GetMap: "GetMap"; -}; -export type GetMapRequest = typeof GetMapRequest[keyof typeof GetMapRequest]; -export declare function instanceOfGetMapRequest(value: any): boolean; -export declare function GetMapRequestFromJSON(json: any): GetMapRequest; -export declare function GetMapRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMapRequest; -export declare function GetMapRequestToJSON(value?: GetMapRequest | null): any; -export declare function GetMapRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetMapRequest; diff --git a/typescript/dist/models/GetMapRequest.js b/typescript/dist/models/GetMapRequest.js deleted file mode 100644 index c2fc2999..00000000 --- a/typescript/dist/models/GetMapRequest.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetMapRequest = void 0; -exports.instanceOfGetMapRequest = instanceOfGetMapRequest; -exports.GetMapRequestFromJSON = GetMapRequestFromJSON; -exports.GetMapRequestFromJSONTyped = GetMapRequestFromJSONTyped; -exports.GetMapRequestToJSON = GetMapRequestToJSON; -exports.GetMapRequestToJSONTyped = GetMapRequestToJSONTyped; -/** - * - * @export - */ -exports.GetMapRequest = { - GetMap: 'GetMap' -}; -function instanceOfGetMapRequest(value) { - for (const key in exports.GetMapRequest) { - if (Object.prototype.hasOwnProperty.call(exports.GetMapRequest, key)) { - if (exports.GetMapRequest[key] === value) { - return true; - } - } - } - return false; -} -function GetMapRequestFromJSON(json) { - return GetMapRequestFromJSONTyped(json, false); -} -function GetMapRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function GetMapRequestToJSON(value) { - return value; -} -function GetMapRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/index.d.ts b/typescript/dist/models/index.d.ts index a87e8627..74643149 100644 --- a/typescript/dist/models/index.d.ts +++ b/typescript/dist/models/index.d.ts @@ -39,7 +39,6 @@ export * from './DatasetNameResponse'; export * from './DatasetResource'; export * from './DerivedColor'; export * from './DerivedNumber'; -export * from './DescribeCoverageRequest'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; @@ -63,14 +62,10 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCapabilitiesFormat'; -export * from './GetCapabilitiesRequest'; export * from './GetCoverageFormat'; -export * from './GetCoverageRequest'; export * from './GetFeatureRequest'; -export * from './GetLegendGraphicRequest'; export * from './GetMapExceptionFormat'; export * from './GetMapFormat'; -export * from './GetMapRequest'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; diff --git a/typescript/dist/models/index.js b/typescript/dist/models/index.js index d057d242..0870f7a8 100644 --- a/typescript/dist/models/index.js +++ b/typescript/dist/models/index.js @@ -57,7 +57,6 @@ __exportStar(require("./DatasetNameResponse"), exports); __exportStar(require("./DatasetResource"), exports); __exportStar(require("./DerivedColor"), exports); __exportStar(require("./DerivedNumber"), exports); -__exportStar(require("./DescribeCoverageRequest"), exports); __exportStar(require("./EbvPortalDataProviderDefinition"), exports); __exportStar(require("./EdrDataProviderDefinition"), exports); __exportStar(require("./EdrVectorSpec"), exports); @@ -81,14 +80,10 @@ __exportStar(require("./GdalSourceTimePlaceholder"), exports); __exportStar(require("./GeoJson"), exports); __exportStar(require("./GeoTransform"), exports); __exportStar(require("./GetCapabilitiesFormat"), exports); -__exportStar(require("./GetCapabilitiesRequest"), exports); __exportStar(require("./GetCoverageFormat"), exports); -__exportStar(require("./GetCoverageRequest"), exports); __exportStar(require("./GetFeatureRequest"), exports); -__exportStar(require("./GetLegendGraphicRequest"), exports); __exportStar(require("./GetMapExceptionFormat"), exports); __exportStar(require("./GetMapFormat"), exports); -__exportStar(require("./GetMapRequest"), exports); __exportStar(require("./GfbioAbcdDataProviderDefinition"), exports); __exportStar(require("./GfbioCollectionsDataProviderDefinition"), exports); __exportStar(require("./GridBoundingBox2D"), exports); diff --git a/typescript/docs/OGCWCSApi.md b/typescript/docs/OGCWCSApi.md index e3864dc5..b8483c88 100644 --- a/typescript/docs/OGCWCSApi.md +++ b/typescript/docs/OGCWCSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wcsHandler -> string wcsHandler(workflow, boundingbox, format, gridbasecrs, identifier, identifiers, request, service, gridoffsets, gridorigin, nodatavalue, resx, resy, time, version) +> string wcsHandler(workflow, boundingbox, format, gridbasecrs, gridoffsets, gridorigin, identifier, identifiers, nodatavalue, request, resx, resy, service, time, version) OGC WCS endpoint @@ -41,26 +41,26 @@ async function example() { // string gridbasecrs: urn:ogc:def:crs:EPSG::4326, // string + gridoffsets: -0.1,0.1, + // string + gridorigin: 90,-180, + // string identifier: , // string identifiers: , + // number + nodatavalue: 1.2, // 'GetCapabilGetCapabilitiesities' | 'DescribeCoverage' | 'GetCoverage' | type of WMS request request: request_example, - // WcsService - service: ..., - // string (optional) - gridoffsets: -0.1,0.1, - // string (optional) - gridorigin: 90,-180, - // number (optional) - nodatavalue: 1.2, - // number (optional) + // number resx: 1.2, - // number (optional) + // number resy: 1.2, - // string (optional) + // WcsService + service: ..., + // string time: time_example, - // WcsVersion (optional) + // WcsVersion version: ..., } satisfies WcsHandlerRequest; @@ -85,17 +85,17 @@ example().catch(console.error); | **boundingbox** | `string` | | [Defaults to `undefined`] | | **format** | `GetCoverageFormat` | | [Defaults to `undefined`] [Enum: image/tiff] | | **gridbasecrs** | `string` | | [Defaults to `undefined`] | +| **gridoffsets** | `string` | | [Defaults to `undefined`] | +| **gridorigin** | `string` | | [Defaults to `undefined`] | | **identifier** | `string` | | [Defaults to `undefined`] | | **identifiers** | `string` | | [Defaults to `undefined`] | +| **nodatavalue** | `number` | | [Defaults to `undefined`] | | **request** | `GetCapabilGetCapabilitiesities`, `DescribeCoverage`, `GetCoverage` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilGetCapabilitiesities, DescribeCoverage, GetCoverage] | +| **resx** | `number` | | [Defaults to `undefined`] | +| **resy** | `number` | | [Defaults to `undefined`] | | **service** | `WcsService` | | [Defaults to `undefined`] [Enum: WCS] | -| **gridoffsets** | `string` | | [Optional] [Defaults to `undefined`] | -| **gridorigin** | `string` | | [Optional] [Defaults to `undefined`] | -| **nodatavalue** | `number` | | [Optional] [Defaults to `undefined`] | -| **resx** | `number` | | [Optional] [Defaults to `undefined`] | -| **resy** | `number` | | [Optional] [Defaults to `undefined`] | -| **time** | `string` | | [Optional] [Defaults to `undefined`] | -| **version** | `WcsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | +| **time** | `string` | | [Defaults to `undefined`] | +| **version** | `WcsVersion` | | [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | ### Return type diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index 6eb38511..16f3f614 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wfsHandler -> GeoJson wfsHandler(workflow, bbox, request, service, typeNames, count, filter, namespaces, propertyName, queryResolution, resultType, sortBy, srsName, time, version) +> GeoJson wfsHandler(workflow, bbox, count, filter, namespaces, propertyName, queryResolution, request, resultType, service, sortBy, srsName, time, typeNames, version) OGC WFS endpoint @@ -36,31 +36,31 @@ async function example() { workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, // string bbox: -90,-180,90,180, - // 'GetCapabilities' | 'GetFeature' | type of WFS request - request: request_example, - // WfsService - service: ..., - // string - typeNames: , - // number (optional) + // number count: 789, - // string (optional) + // string filter: filter_example, - // string (optional) + // string namespaces: namespaces_example, - // string (optional) + // string propertyName: propertyName_example, - // string | Vendor parameter for specifying a spatial query resolution (optional) + // string | Vendor parameter for specifying a spatial query resolution queryResolution: queryResolution_example, - // string (optional) + // 'GetCapabilities' | 'GetFeature' | type of WFS request + request: request_example, + // string resultType: resultType_example, - // string (optional) + // WfsService + service: ..., + // string sortBy: sortBy_example, - // string (optional) + // string srsName: EPSG:4326, - // string (optional) + // string time: 2014-04-01T12:00:00.000Z, - // WfsVersion (optional) + // string + typeNames: , + // WfsVersion version: ..., } satisfies WfsHandlerRequest; @@ -83,19 +83,19 @@ example().catch(console.error); |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | | **bbox** | `string` | | [Defaults to `undefined`] | +| **count** | `number` | | [Defaults to `undefined`] | +| **filter** | `string` | | [Defaults to `undefined`] | +| **namespaces** | `string` | | [Defaults to `undefined`] | +| **propertyName** | `string` | | [Defaults to `undefined`] | +| **queryResolution** | `string` | Vendor parameter for specifying a spatial query resolution | [Defaults to `undefined`] | | **request** | `GetCapabilities`, `GetFeature` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | +| **resultType** | `string` | | [Defaults to `undefined`] | | **service** | `WfsService` | | [Defaults to `undefined`] [Enum: WFS] | +| **sortBy** | `string` | | [Defaults to `undefined`] | +| **srsName** | `string` | | [Defaults to `undefined`] | +| **time** | `string` | | [Defaults to `undefined`] | | **typeNames** | `string` | | [Defaults to `undefined`] | -| **count** | `number` | | [Optional] [Defaults to `undefined`] | -| **filter** | `string` | | [Optional] [Defaults to `undefined`] | -| **namespaces** | `string` | | [Optional] [Defaults to `undefined`] | -| **propertyName** | `string` | | [Optional] [Defaults to `undefined`] | -| **queryResolution** | `string` | Vendor parameter for specifying a spatial query resolution | [Optional] [Defaults to `undefined`] | -| **resultType** | `string` | | [Optional] [Defaults to `undefined`] | -| **sortBy** | `string` | | [Optional] [Defaults to `undefined`] | -| **srsName** | `string` | | [Optional] [Defaults to `undefined`] | -| **time** | `string` | | [Optional] [Defaults to `undefined`] | -| **version** | `WfsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 2.0.0] | +| **version** | `WfsVersion` | | [Defaults to `undefined`] [Enum: 2.0.0] | ### Return type diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index 864a86b6..7961a011 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wmsHandler -> string wmsHandler(workflow, bbox, height, layer, layers, queryLayers, request, service, styles, width, bgcolor, crs, elevation, exceptions, format, infoFormat, sld, sldBody, time, transparent, version) +> string wmsHandler(workflow, bbox, bgcolor, crs, elevation, exceptions, format, height, infoFormat, layer, layers, queryLayers, request, service, sld, sldBody, styles, time, transparent, version, width) OGC WMS endpoint @@ -36,9 +36,21 @@ async function example() { workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, // string bbox: -90,-180,90,180, + // string + bgcolor: bgcolor_example, + // string + crs: EPSG:4326, + // string + elevation: elevation_example, + // GetMapExceptionFormat + exceptions: ..., + // GetCapabilitiesFormat + format: ..., // number height: 256, // string + infoFormat: infoFormat_example, + // string layer: layer_example, // string layers: , @@ -49,31 +61,19 @@ async function example() { // WmsService service: ..., // string - styles: custom:{"type":"linearGradient","breakpoints":[{"value":1,"color":[0,0,0,255]},{"value":255,"color":[255,255,255,255]}],"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}, - // number - width: 512, - // string (optional) - bgcolor: bgcolor_example, - // string (optional) - crs: EPSG:4326, - // string (optional) - elevation: elevation_example, - // GetMapExceptionFormat (optional) - exceptions: ..., - // GetCapabilitiesFormat (optional) - format: ..., - // string (optional) - infoFormat: infoFormat_example, - // string (optional) sld: sld_example, - // string (optional) + // string sldBody: sldBody_example, - // string (optional) + // string + styles: custom:{"type":"linearGradient","breakpoints":[{"value":1,"color":[0,0,0,255]},{"value":255,"color":[255,255,255,255]}],"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}, + // string time: 2014-04-01T12:00:00.000Z, - // boolean (optional) + // boolean transparent: true, - // WmsVersion (optional) + // WmsVersion version: ..., + // number + width: 512, } satisfies WmsHandlerRequest; try { @@ -95,25 +95,25 @@ example().catch(console.error); |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | | **bbox** | `string` | | [Defaults to `undefined`] | +| **bgcolor** | `string` | | [Defaults to `undefined`] | +| **crs** | `string` | | [Defaults to `undefined`] | +| **elevation** | `string` | | [Defaults to `undefined`] | +| **exceptions** | `GetMapExceptionFormat` | | [Defaults to `undefined`] [Enum: XML, JSON] | +| **format** | `GetCapabilitiesFormat` | | [Defaults to `undefined`] [Enum: text/xml] | | **height** | `number` | | [Defaults to `undefined`] | +| **infoFormat** | `string` | | [Defaults to `undefined`] | | **layer** | `string` | | [Defaults to `undefined`] | | **layers** | `string` | | [Defaults to `undefined`] | | **queryLayers** | `string` | | [Defaults to `undefined`] | | **request** | `GetCapabilities`, `GetMap`, `GetFeatureInfo`, `GetStyles`, `GetLegendGraphic` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetMap, GetFeatureInfo, GetStyles, GetLegendGraphic] | | **service** | `WmsService` | | [Defaults to `undefined`] [Enum: WMS] | +| **sld** | `string` | | [Defaults to `undefined`] | +| **sldBody** | `string` | | [Defaults to `undefined`] | | **styles** | `string` | | [Defaults to `undefined`] | +| **time** | `string` | | [Defaults to `undefined`] | +| **transparent** | `boolean` | | [Defaults to `undefined`] | +| **version** | `WmsVersion` | | [Defaults to `undefined`] [Enum: 1.3.0] | | **width** | `number` | | [Defaults to `undefined`] | -| **bgcolor** | `string` | | [Optional] [Defaults to `undefined`] | -| **crs** | `string` | | [Optional] [Defaults to `undefined`] | -| **elevation** | `string` | | [Optional] [Defaults to `undefined`] | -| **exceptions** | `GetMapExceptionFormat` | | [Optional] [Defaults to `undefined`] [Enum: XML, JSON] | -| **format** | `GetCapabilitiesFormat` | | [Optional] [Defaults to `undefined`] [Enum: text/xml] | -| **infoFormat** | `string` | | [Optional] [Defaults to `undefined`] | -| **sld** | `string` | | [Optional] [Defaults to `undefined`] | -| **sldBody** | `string` | | [Optional] [Defaults to `undefined`] | -| **time** | `string` | | [Optional] [Defaults to `undefined`] | -| **transparent** | `boolean` | | [Optional] [Defaults to `undefined`] | -| **version** | `WmsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.3.0] | ### Return type diff --git a/typescript/src/apis/OGCWCSApi.ts b/typescript/src/apis/OGCWCSApi.ts index 3ade82e9..5b3f85d3 100644 --- a/typescript/src/apis/OGCWCSApi.ts +++ b/typescript/src/apis/OGCWCSApi.ts @@ -33,17 +33,17 @@ export interface WcsHandlerRequest { boundingbox: string; format: GetCoverageFormat; gridbasecrs: string; + gridoffsets: string; + gridorigin: string; identifier: string; identifiers: string; + nodatavalue: number | null; request: WcsHandlerRequestEnum; + resx: number | null; + resy: number | null; service: WcsService; - gridoffsets?: string; - gridorigin?: string; - nodatavalue?: number | null; - resx?: number | null; - resy?: number | null; - time?: string; - version?: WcsVersion | null; + time: string; + version: WcsVersion | null; } /** @@ -83,6 +83,20 @@ export class OGCWCSApi extends runtime.BaseAPI { ); } + if (requestParameters['gridoffsets'] == null) { + throw new runtime.RequiredError( + 'gridoffsets', + 'Required parameter "gridoffsets" was null or undefined when calling wcsHandler().' + ); + } + + if (requestParameters['gridorigin'] == null) { + throw new runtime.RequiredError( + 'gridorigin', + 'Required parameter "gridorigin" was null or undefined when calling wcsHandler().' + ); + } + if (requestParameters['identifier'] == null) { throw new runtime.RequiredError( 'identifier', @@ -97,6 +111,13 @@ export class OGCWCSApi extends runtime.BaseAPI { ); } + if (requestParameters['nodatavalue'] == null) { + throw new runtime.RequiredError( + 'nodatavalue', + 'Required parameter "nodatavalue" was null or undefined when calling wcsHandler().' + ); + } + if (requestParameters['request'] == null) { throw new runtime.RequiredError( 'request', @@ -104,70 +125,42 @@ export class OGCWCSApi extends runtime.BaseAPI { ); } - if (requestParameters['service'] == null) { + if (requestParameters['resx'] == null) { throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wcsHandler().' + 'resx', + 'Required parameter "resx" was null or undefined when calling wcsHandler().' ); } - const queryParameters: any = {}; - - if (requestParameters['boundingbox'] != null) { - queryParameters['boundingbox'] = requestParameters['boundingbox']; - } - - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - - if (requestParameters['gridbasecrs'] != null) { - queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; - } - - if (requestParameters['gridoffsets'] != null) { - queryParameters['gridoffsets'] = requestParameters['gridoffsets']; - } - - if (requestParameters['gridorigin'] != null) { - queryParameters['gridorigin'] = requestParameters['gridorigin']; - } - - if (requestParameters['identifier'] != null) { - queryParameters['identifier'] = requestParameters['identifier']; - } - - if (requestParameters['identifiers'] != null) { - queryParameters['identifiers'] = requestParameters['identifiers']; - } - - if (requestParameters['nodatavalue'] != null) { - queryParameters['nodatavalue'] = requestParameters['nodatavalue']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['resx'] != null) { - queryParameters['resx'] = requestParameters['resx']; + if (requestParameters['resy'] == null) { + throw new runtime.RequiredError( + 'resy', + 'Required parameter "resy" was null or undefined when calling wcsHandler().' + ); } - if (requestParameters['resy'] != null) { - queryParameters['resy'] = requestParameters['resy']; + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wcsHandler().' + ); } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError( + 'time', + 'Required parameter "time" was null or undefined when calling wcsHandler().' + ); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError( + 'version', + 'Required parameter "version" was null or undefined when calling wcsHandler().' + ); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } + const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -182,6 +175,20 @@ export class OGCWCSApi extends runtime.BaseAPI { let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"boundingbox"}}`, encodeURIComponent(String(requestParameters['boundingbox']))); + urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); + urlPath = urlPath.replace(`{${"gridbasecrs"}}`, encodeURIComponent(String(requestParameters['gridbasecrs']))); + urlPath = urlPath.replace(`{${"gridoffsets"}}`, encodeURIComponent(String(requestParameters['gridoffsets']))); + urlPath = urlPath.replace(`{${"gridorigin"}}`, encodeURIComponent(String(requestParameters['gridorigin']))); + urlPath = urlPath.replace(`{${"identifier"}}`, encodeURIComponent(String(requestParameters['identifier']))); + urlPath = urlPath.replace(`{${"identifiers"}}`, encodeURIComponent(String(requestParameters['identifiers']))); + urlPath = urlPath.replace(`{${"nodatavalue"}}`, encodeURIComponent(String(requestParameters['nodatavalue']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"resx"}}`, encodeURIComponent(String(requestParameters['resx']))); + urlPath = urlPath.replace(`{${"resy"}}`, encodeURIComponent(String(requestParameters['resy']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = await this.request({ path: urlPath, diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts index 54afd543..621b8d53 100644 --- a/typescript/src/apis/OGCWFSApi.ts +++ b/typescript/src/apis/OGCWFSApi.ts @@ -31,19 +31,19 @@ import { export interface WfsHandlerRequest { workflow: string; bbox: string; + count: number | null; + filter: string | null; + namespaces: string | null; + propertyName: string | null; + queryResolution: string; request: WfsHandlerRequestEnum; + resultType: string | null; service: WfsService; + sortBy: string | null; + srsName: string | null; + time: string; typeNames: string; - count?: number | null; - filter?: string | null; - namespaces?: string | null; - propertyName?: string | null; - queryResolution?: string; - resultType?: string | null; - sortBy?: string | null; - srsName?: string | null; - time?: string; - version?: WfsVersion | null; + version: WfsVersion | null; } /** @@ -69,84 +69,98 @@ export class OGCWFSApi extends runtime.BaseAPI { ); } - if (requestParameters['request'] == null) { + if (requestParameters['count'] == null) { throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wfsHandler().' + 'count', + 'Required parameter "count" was null or undefined when calling wfsHandler().' ); } - if (requestParameters['service'] == null) { + if (requestParameters['filter'] == null) { throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wfsHandler().' + 'filter', + 'Required parameter "filter" was null or undefined when calling wfsHandler().' ); } - if (requestParameters['typeNames'] == null) { + if (requestParameters['namespaces'] == null) { throw new runtime.RequiredError( - 'typeNames', - 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' + 'namespaces', + 'Required parameter "namespaces" was null or undefined when calling wfsHandler().' ); } - const queryParameters: any = {}; - - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - - if (requestParameters['count'] != null) { - queryParameters['count'] = requestParameters['count']; - } - - if (requestParameters['filter'] != null) { - queryParameters['filter'] = requestParameters['filter']; - } - - if (requestParameters['namespaces'] != null) { - queryParameters['namespaces'] = requestParameters['namespaces']; + if (requestParameters['propertyName'] == null) { + throw new runtime.RequiredError( + 'propertyName', + 'Required parameter "propertyName" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['propertyName'] != null) { - queryParameters['propertyName'] = requestParameters['propertyName']; + if (requestParameters['queryResolution'] == null) { + throw new runtime.RequiredError( + 'queryResolution', + 'Required parameter "queryResolution" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['queryResolution'] != null) { - queryParameters['queryResolution'] = requestParameters['queryResolution']; + if (requestParameters['request'] == null) { + throw new runtime.RequiredError( + 'request', + 'Required parameter "request" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; + if (requestParameters['resultType'] == null) { + throw new runtime.RequiredError( + 'resultType', + 'Required parameter "resultType" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['resultType'] != null) { - queryParameters['resultType'] = requestParameters['resultType']; + if (requestParameters['service'] == null) { + throw new runtime.RequiredError( + 'service', + 'Required parameter "service" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; + if (requestParameters['sortBy'] == null) { + throw new runtime.RequiredError( + 'sortBy', + 'Required parameter "sortBy" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['sortBy'] != null) { - queryParameters['sortBy'] = requestParameters['sortBy']; + if (requestParameters['srsName'] == null) { + throw new runtime.RequiredError( + 'srsName', + 'Required parameter "srsName" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['srsName'] != null) { - queryParameters['srsName'] = requestParameters['srsName']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError( + 'time', + 'Required parameter "time" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError( + 'typeNames', + 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['typeNames'] != null) { - queryParameters['typeNames'] = requestParameters['typeNames']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError( + 'version', + 'Required parameter "version" was null or undefined when calling wfsHandler().' + ); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; - } + const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -161,6 +175,20 @@ export class OGCWFSApi extends runtime.BaseAPI { let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); + urlPath = urlPath.replace(`{${"count"}}`, encodeURIComponent(String(requestParameters['count']))); + urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); + urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); + urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); + urlPath = urlPath.replace(`{${"queryResolution"}}`, encodeURIComponent(String(requestParameters['queryResolution']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"sortBy"}}`, encodeURIComponent(String(requestParameters['sortBy']))); + urlPath = urlPath.replace(`{${"srsName"}}`, encodeURIComponent(String(requestParameters['srsName']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = await this.request({ path: urlPath, diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts index 3e3b3fb9..6cafb776 100644 --- a/typescript/src/apis/OGCWMSApi.ts +++ b/typescript/src/apis/OGCWMSApi.ts @@ -34,25 +34,25 @@ import { export interface WmsHandlerRequest { workflow: string; bbox: string; + bgcolor: string | null; + crs: string | null; + elevation: string | null; + exceptions: GetMapExceptionFormat | null; + format: GetCapabilitiesFormat | null; height: number; + infoFormat: string | null; layer: string; layers: string; queryLayers: string; request: WmsHandlerRequestEnum; service: WmsService; + sld: string | null; + sldBody: string | null; styles: string; + time: string; + transparent: boolean | null; + version: WmsVersion | null; width: number; - bgcolor?: string | null; - crs?: string | null; - elevation?: string | null; - exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; - infoFormat?: string | null; - sld?: string | null; - sldBody?: string | null; - time?: string; - transparent?: boolean | null; - version?: WmsVersion | null; } /** @@ -78,6 +78,41 @@ export class OGCWMSApi extends runtime.BaseAPI { ); } + if (requestParameters['bgcolor'] == null) { + throw new runtime.RequiredError( + 'bgcolor', + 'Required parameter "bgcolor" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['crs'] == null) { + throw new runtime.RequiredError( + 'crs', + 'Required parameter "crs" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['elevation'] == null) { + throw new runtime.RequiredError( + 'elevation', + 'Required parameter "elevation" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['exceptions'] == null) { + throw new runtime.RequiredError( + 'exceptions', + 'Required parameter "exceptions" was null or undefined when calling wmsHandler().' + ); + } + + if (requestParameters['format'] == null) { + throw new runtime.RequiredError( + 'format', + 'Required parameter "format" was null or undefined when calling wmsHandler().' + ); + } + if (requestParameters['height'] == null) { throw new runtime.RequiredError( 'height', @@ -85,6 +120,13 @@ export class OGCWMSApi extends runtime.BaseAPI { ); } + if (requestParameters['infoFormat'] == null) { + throw new runtime.RequiredError( + 'infoFormat', + 'Required parameter "infoFormat" was null or undefined when calling wmsHandler().' + ); + } + if (requestParameters['layer'] == null) { throw new runtime.RequiredError( 'layer', @@ -120,101 +162,56 @@ export class OGCWMSApi extends runtime.BaseAPI { ); } - if (requestParameters['styles'] == null) { + if (requestParameters['sld'] == null) { throw new runtime.RequiredError( - 'styles', - 'Required parameter "styles" was null or undefined when calling wmsHandler().' + 'sld', + 'Required parameter "sld" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['width'] == null) { + if (requestParameters['sldBody'] == null) { throw new runtime.RequiredError( - 'width', - 'Required parameter "width" was null or undefined when calling wmsHandler().' + 'sldBody', + 'Required parameter "sldBody" was null or undefined when calling wmsHandler().' ); } - const queryParameters: any = {}; - - if (requestParameters['bbox'] != null) { - queryParameters['bbox'] = requestParameters['bbox']; - } - - if (requestParameters['bgcolor'] != null) { - queryParameters['bgcolor'] = requestParameters['bgcolor']; - } - - if (requestParameters['crs'] != null) { - queryParameters['crs'] = requestParameters['crs']; - } - - if (requestParameters['elevation'] != null) { - queryParameters['elevation'] = requestParameters['elevation']; - } - - if (requestParameters['exceptions'] != null) { - queryParameters['exceptions'] = requestParameters['exceptions']; - } - - if (requestParameters['format'] != null) { - queryParameters['format'] = requestParameters['format']; - } - - if (requestParameters['height'] != null) { - queryParameters['height'] = requestParameters['height']; - } - - if (requestParameters['infoFormat'] != null) { - queryParameters['info_format'] = requestParameters['infoFormat']; - } - - if (requestParameters['layer'] != null) { - queryParameters['layer'] = requestParameters['layer']; - } - - if (requestParameters['layers'] != null) { - queryParameters['layers'] = requestParameters['layers']; - } - - if (requestParameters['queryLayers'] != null) { - queryParameters['query_layers'] = requestParameters['queryLayers']; - } - - if (requestParameters['request'] != null) { - queryParameters['request'] = requestParameters['request']; - } - - if (requestParameters['service'] != null) { - queryParameters['service'] = requestParameters['service']; - } - - if (requestParameters['sld'] != null) { - queryParameters['sld'] = requestParameters['sld']; - } - - if (requestParameters['sldBody'] != null) { - queryParameters['sld_body'] = requestParameters['sldBody']; + if (requestParameters['styles'] == null) { + throw new runtime.RequiredError( + 'styles', + 'Required parameter "styles" was null or undefined when calling wmsHandler().' + ); } - if (requestParameters['styles'] != null) { - queryParameters['styles'] = requestParameters['styles']; + if (requestParameters['time'] == null) { + throw new runtime.RequiredError( + 'time', + 'Required parameter "time" was null or undefined when calling wmsHandler().' + ); } - if (requestParameters['time'] != null) { - queryParameters['time'] = requestParameters['time']; + if (requestParameters['transparent'] == null) { + throw new runtime.RequiredError( + 'transparent', + 'Required parameter "transparent" was null or undefined when calling wmsHandler().' + ); } - if (requestParameters['transparent'] != null) { - queryParameters['transparent'] = requestParameters['transparent']; + if (requestParameters['version'] == null) { + throw new runtime.RequiredError( + 'version', + 'Required parameter "version" was null or undefined when calling wmsHandler().' + ); } - if (requestParameters['version'] != null) { - queryParameters['version'] = requestParameters['version']; + if (requestParameters['width'] == null) { + throw new runtime.RequiredError( + 'width', + 'Required parameter "width" was null or undefined when calling wmsHandler().' + ); } - if (requestParameters['width'] != null) { - queryParameters['width'] = requestParameters['width']; - } + const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; @@ -229,6 +226,26 @@ export class OGCWMSApi extends runtime.BaseAPI { let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); + urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); + urlPath = urlPath.replace(`{${"bgcolor"}}`, encodeURIComponent(String(requestParameters['bgcolor']))); + urlPath = urlPath.replace(`{${"crs"}}`, encodeURIComponent(String(requestParameters['crs']))); + urlPath = urlPath.replace(`{${"elevation"}}`, encodeURIComponent(String(requestParameters['elevation']))); + urlPath = urlPath.replace(`{${"exceptions"}}`, encodeURIComponent(String(requestParameters['exceptions']))); + urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); + urlPath = urlPath.replace(`{${"height"}}`, encodeURIComponent(String(requestParameters['height']))); + urlPath = urlPath.replace(`{${"info_format"}}`, encodeURIComponent(String(requestParameters['infoFormat']))); + urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); + urlPath = urlPath.replace(`{${"layers"}}`, encodeURIComponent(String(requestParameters['layers']))); + urlPath = urlPath.replace(`{${"query_layers"}}`, encodeURIComponent(String(requestParameters['queryLayers']))); + urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); + urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); + urlPath = urlPath.replace(`{${"sld"}}`, encodeURIComponent(String(requestParameters['sld']))); + urlPath = urlPath.replace(`{${"sld_body"}}`, encodeURIComponent(String(requestParameters['sldBody']))); + urlPath = urlPath.replace(`{${"styles"}}`, encodeURIComponent(String(requestParameters['styles']))); + urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); + urlPath = urlPath.replace(`{${"transparent"}}`, encodeURIComponent(String(requestParameters['transparent']))); + urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); + urlPath = urlPath.replace(`{${"width"}}`, encodeURIComponent(String(requestParameters['width']))); const response = await this.request({ path: urlPath, diff --git a/typescript/src/models/DescribeCoverageRequest.ts b/typescript/src/models/DescribeCoverageRequest.ts deleted file mode 100644 index ece1c950..00000000 --- a/typescript/src/models/DescribeCoverageRequest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const DescribeCoverageRequest = { - DescribeCoverage: 'DescribeCoverage' -} as const; -export type DescribeCoverageRequest = typeof DescribeCoverageRequest[keyof typeof DescribeCoverageRequest]; - - -export function instanceOfDescribeCoverageRequest(value: any): boolean { - for (const key in DescribeCoverageRequest) { - if (Object.prototype.hasOwnProperty.call(DescribeCoverageRequest, key)) { - if (DescribeCoverageRequest[key as keyof typeof DescribeCoverageRequest] === value) { - return true; - } - } - } - return false; -} - -export function DescribeCoverageRequestFromJSON(json: any): DescribeCoverageRequest { - return DescribeCoverageRequestFromJSONTyped(json, false); -} - -export function DescribeCoverageRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): DescribeCoverageRequest { - return json as DescribeCoverageRequest; -} - -export function DescribeCoverageRequestToJSON(value?: DescribeCoverageRequest | null): any { - return value as any; -} - -export function DescribeCoverageRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): DescribeCoverageRequest { - return value as DescribeCoverageRequest; -} - diff --git a/typescript/src/models/GetCapabilitiesRequest.ts b/typescript/src/models/GetCapabilitiesRequest.ts deleted file mode 100644 index ba87f34f..00000000 --- a/typescript/src/models/GetCapabilitiesRequest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const GetCapabilitiesRequest = { - GetCapabilities: 'GetCapabilities' -} as const; -export type GetCapabilitiesRequest = typeof GetCapabilitiesRequest[keyof typeof GetCapabilitiesRequest]; - - -export function instanceOfGetCapabilitiesRequest(value: any): boolean { - for (const key in GetCapabilitiesRequest) { - if (Object.prototype.hasOwnProperty.call(GetCapabilitiesRequest, key)) { - if (GetCapabilitiesRequest[key as keyof typeof GetCapabilitiesRequest] === value) { - return true; - } - } - } - return false; -} - -export function GetCapabilitiesRequestFromJSON(json: any): GetCapabilitiesRequest { - return GetCapabilitiesRequestFromJSONTyped(json, false); -} - -export function GetCapabilitiesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCapabilitiesRequest { - return json as GetCapabilitiesRequest; -} - -export function GetCapabilitiesRequestToJSON(value?: GetCapabilitiesRequest | null): any { - return value as any; -} - -export function GetCapabilitiesRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCapabilitiesRequest { - return value as GetCapabilitiesRequest; -} - diff --git a/typescript/src/models/GetCoverageRequest.ts b/typescript/src/models/GetCoverageRequest.ts deleted file mode 100644 index ad5b3234..00000000 --- a/typescript/src/models/GetCoverageRequest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const GetCoverageRequest = { - GetCoverage: 'GetCoverage' -} as const; -export type GetCoverageRequest = typeof GetCoverageRequest[keyof typeof GetCoverageRequest]; - - -export function instanceOfGetCoverageRequest(value: any): boolean { - for (const key in GetCoverageRequest) { - if (Object.prototype.hasOwnProperty.call(GetCoverageRequest, key)) { - if (GetCoverageRequest[key as keyof typeof GetCoverageRequest] === value) { - return true; - } - } - } - return false; -} - -export function GetCoverageRequestFromJSON(json: any): GetCoverageRequest { - return GetCoverageRequestFromJSONTyped(json, false); -} - -export function GetCoverageRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCoverageRequest { - return json as GetCoverageRequest; -} - -export function GetCoverageRequestToJSON(value?: GetCoverageRequest | null): any { - return value as any; -} - -export function GetCoverageRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCoverageRequest { - return value as GetCoverageRequest; -} - diff --git a/typescript/src/models/GetLegendGraphicRequest.ts b/typescript/src/models/GetLegendGraphicRequest.ts deleted file mode 100644 index 95d33052..00000000 --- a/typescript/src/models/GetLegendGraphicRequest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const GetLegendGraphicRequest = { - GetLegendGraphic: 'GetLegendGraphic' -} as const; -export type GetLegendGraphicRequest = typeof GetLegendGraphicRequest[keyof typeof GetLegendGraphicRequest]; - - -export function instanceOfGetLegendGraphicRequest(value: any): boolean { - for (const key in GetLegendGraphicRequest) { - if (Object.prototype.hasOwnProperty.call(GetLegendGraphicRequest, key)) { - if (GetLegendGraphicRequest[key as keyof typeof GetLegendGraphicRequest] === value) { - return true; - } - } - } - return false; -} - -export function GetLegendGraphicRequestFromJSON(json: any): GetLegendGraphicRequest { - return GetLegendGraphicRequestFromJSONTyped(json, false); -} - -export function GetLegendGraphicRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetLegendGraphicRequest { - return json as GetLegendGraphicRequest; -} - -export function GetLegendGraphicRequestToJSON(value?: GetLegendGraphicRequest | null): any { - return value as any; -} - -export function GetLegendGraphicRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetLegendGraphicRequest { - return value as GetLegendGraphicRequest; -} - diff --git a/typescript/src/models/GetMapRequest.ts b/typescript/src/models/GetMapRequest.ts deleted file mode 100644 index 30321c6d..00000000 --- a/typescript/src/models/GetMapRequest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const GetMapRequest = { - GetMap: 'GetMap' -} as const; -export type GetMapRequest = typeof GetMapRequest[keyof typeof GetMapRequest]; - - -export function instanceOfGetMapRequest(value: any): boolean { - for (const key in GetMapRequest) { - if (Object.prototype.hasOwnProperty.call(GetMapRequest, key)) { - if (GetMapRequest[key as keyof typeof GetMapRequest] === value) { - return true; - } - } - } - return false; -} - -export function GetMapRequestFromJSON(json: any): GetMapRequest { - return GetMapRequestFromJSONTyped(json, false); -} - -export function GetMapRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMapRequest { - return json as GetMapRequest; -} - -export function GetMapRequestToJSON(value?: GetMapRequest | null): any { - return value as any; -} - -export function GetMapRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetMapRequest { - return value as GetMapRequest; -} - diff --git a/typescript/src/models/index.ts b/typescript/src/models/index.ts index fb12b954..b198b263 100644 --- a/typescript/src/models/index.ts +++ b/typescript/src/models/index.ts @@ -41,7 +41,6 @@ export * from './DatasetNameResponse'; export * from './DatasetResource'; export * from './DerivedColor'; export * from './DerivedNumber'; -export * from './DescribeCoverageRequest'; export * from './EbvPortalDataProviderDefinition'; export * from './EdrDataProviderDefinition'; export * from './EdrVectorSpec'; @@ -65,14 +64,10 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCapabilitiesFormat'; -export * from './GetCapabilitiesRequest'; export * from './GetCoverageFormat'; -export * from './GetCoverageRequest'; export * from './GetFeatureRequest'; -export * from './GetLegendGraphicRequest'; export * from './GetMapExceptionFormat'; export * from './GetMapFormat'; -export * from './GetMapRequest'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; From 0bf11b986cd60a2ac9154177a0dd32456522c945 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 25 Nov 2025 17:20:37 +0100 Subject: [PATCH 06/15] update openapi-client --- .generation/input/openapi.json | 2 +- python/geoengine_openapi_client/api/ogcwfs_api.py | 15 --------------- typescript/dist/apis/OGCWFSApi.d.ts | 1 - typescript/dist/apis/OGCWFSApi.js | 8 ++++---- typescript/dist/esm/apis/OGCWFSApi.d.ts | 1 - typescript/dist/esm/apis/OGCWFSApi.js | 9 +++++---- typescript/docs/OGCWFSApi.md | 5 +---- typescript/src/apis/OGCWFSApi.ts | 9 --------- 8 files changed, 11 insertions(+), 39 deletions(-) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 5bd2152f..4e923f68 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"path","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"path","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"path","required":true,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"path","required":true,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"queryResolution","in":"path","description":"Vendor parameter for specifying a spatial query resolution","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsResolution"}]}},{"name":"request","in":"path","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"srsName","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"path","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"crs","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"}},{"name":"layers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"path","required":true,"schema":{"type":"string"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"styles","in":"path","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsResolution":{"type":"string"},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"path","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"path","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"path","required":true,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"path","required":true,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"request","in":"path","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"srsName","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"path","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"crs","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"}},{"name":"layers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"path","required":true,"schema":{"type":"string"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"styles","in":"path","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py index e34a347d..287a8cf6 100644 --- a/python/geoengine_openapi_client/api/ogcwfs_api.py +++ b/python/geoengine_openapi_client/api/ogcwfs_api.py @@ -52,7 +52,6 @@ def wfs_handler( filter: Optional[StrictStr], namespaces: Optional[StrictStr], property_name: Optional[StrictStr], - query_resolution: Annotated[StrictStr, Field(description="Vendor parameter for specifying a spatial query resolution")], request: Annotated[StrictStr, Field(description="type of WFS request")], result_type: Optional[StrictStr], service: WfsService, @@ -89,8 +88,6 @@ def wfs_handler( :type namespaces: str :param property_name: (required) :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution (required) - :type query_resolution: str :param request: type of WFS request (required) :type request: str :param result_type: (required) @@ -136,7 +133,6 @@ def wfs_handler( filter=filter, namespaces=namespaces, property_name=property_name, - query_resolution=query_resolution, request=request, result_type=result_type, service=service, @@ -174,7 +170,6 @@ def wfs_handler_with_http_info( filter: Optional[StrictStr], namespaces: Optional[StrictStr], property_name: Optional[StrictStr], - query_resolution: Annotated[StrictStr, Field(description="Vendor parameter for specifying a spatial query resolution")], request: Annotated[StrictStr, Field(description="type of WFS request")], result_type: Optional[StrictStr], service: WfsService, @@ -211,8 +206,6 @@ def wfs_handler_with_http_info( :type namespaces: str :param property_name: (required) :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution (required) - :type query_resolution: str :param request: type of WFS request (required) :type request: str :param result_type: (required) @@ -258,7 +251,6 @@ def wfs_handler_with_http_info( filter=filter, namespaces=namespaces, property_name=property_name, - query_resolution=query_resolution, request=request, result_type=result_type, service=service, @@ -296,7 +288,6 @@ def wfs_handler_without_preload_content( filter: Optional[StrictStr], namespaces: Optional[StrictStr], property_name: Optional[StrictStr], - query_resolution: Annotated[StrictStr, Field(description="Vendor parameter for specifying a spatial query resolution")], request: Annotated[StrictStr, Field(description="type of WFS request")], result_type: Optional[StrictStr], service: WfsService, @@ -333,8 +324,6 @@ def wfs_handler_without_preload_content( :type namespaces: str :param property_name: (required) :type property_name: str - :param query_resolution: Vendor parameter for specifying a spatial query resolution (required) - :type query_resolution: str :param request: type of WFS request (required) :type request: str :param result_type: (required) @@ -380,7 +369,6 @@ def wfs_handler_without_preload_content( filter=filter, namespaces=namespaces, property_name=property_name, - query_resolution=query_resolution, request=request, result_type=result_type, service=service, @@ -413,7 +401,6 @@ def _wfs_handler_serialize( filter, namespaces, property_name, - query_resolution, request, result_type, service, @@ -455,8 +442,6 @@ def _wfs_handler_serialize( _path_params['namespaces'] = namespaces if property_name is not None: _path_params['propertyName'] = property_name - if query_resolution is not None: - _path_params['queryResolution'] = query_resolution if request is not None: _path_params['request'] = request if result_type is not None: diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts index 4a89133d..bf850cf0 100644 --- a/typescript/dist/apis/OGCWFSApi.d.ts +++ b/typescript/dist/apis/OGCWFSApi.d.ts @@ -18,7 +18,6 @@ export interface WfsHandlerRequest { filter: string | null; namespaces: string | null; propertyName: string | null; - queryResolution: string; request: WfsHandlerRequestEnum; resultType: string | null; service: WfsService; diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js index d2d8a0e1..719a7d11 100644 --- a/typescript/dist/apis/OGCWFSApi.js +++ b/typescript/dist/apis/OGCWFSApi.js @@ -33,7 +33,9 @@ class OGCWFSApi extends runtime.BaseAPI { * OGC WFS endpoint */ wfsHandlerRaw(requestParameters, initOverrides) { + console.log("Entering wfsHandlerRaw with parameters:", requestParameters); return __awaiter(this, void 0, void 0, function* () { + console.log("WFS request parameters awauter"); if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } @@ -52,9 +54,6 @@ class OGCWFSApi extends runtime.BaseAPI { if (requestParameters['propertyName'] == null) { throw new runtime.RequiredError('propertyName', 'Required parameter "propertyName" was null or undefined when calling wfsHandler().'); } - if (requestParameters['queryResolution'] == null) { - throw new runtime.RequiredError('queryResolution', 'Required parameter "queryResolution" was null or undefined when calling wfsHandler().'); - } if (requestParameters['request'] == null) { throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } @@ -95,7 +94,6 @@ class OGCWFSApi extends runtime.BaseAPI { urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); - urlPath = urlPath.replace(`{${"queryResolution"}}`, encodeURIComponent(String(requestParameters['queryResolution']))); urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); @@ -104,6 +102,8 @@ class OGCWFSApi extends runtime.BaseAPI { urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); + + console.log("WFS request URL:", urlPath); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts index 4a89133d..bf850cf0 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWFSApi.d.ts @@ -18,7 +18,6 @@ export interface WfsHandlerRequest { filter: string | null; namespaces: string | null; propertyName: string | null; - queryResolution: string; request: WfsHandlerRequestEnum; resultType: string | null; service: WfsService; diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js index b75a24fd..7d39338f 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.js +++ b/typescript/dist/esm/apis/OGCWFSApi.js @@ -30,7 +30,9 @@ export class OGCWFSApi extends runtime.BaseAPI { * OGC WFS endpoint */ wfsHandlerRaw(requestParameters, initOverrides) { + console.log("Entering wfsHandlerRaw with parameters:", requestParameters); return __awaiter(this, void 0, void 0, function* () { + console.log("WFS request parameters awauter"); if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } @@ -49,9 +51,6 @@ export class OGCWFSApi extends runtime.BaseAPI { if (requestParameters['propertyName'] == null) { throw new runtime.RequiredError('propertyName', 'Required parameter "propertyName" was null or undefined when calling wfsHandler().'); } - if (requestParameters['queryResolution'] == null) { - throw new runtime.RequiredError('queryResolution', 'Required parameter "queryResolution" was null or undefined when calling wfsHandler().'); - } if (requestParameters['request'] == null) { throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } @@ -92,7 +91,6 @@ export class OGCWFSApi extends runtime.BaseAPI { urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); - urlPath = urlPath.replace(`{${"queryResolution"}}`, encodeURIComponent(String(requestParameters['queryResolution']))); urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); @@ -101,6 +99,9 @@ export class OGCWFSApi extends runtime.BaseAPI { urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); + + console.log("WFS request URL:", urlPath); + const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index 16f3f614..509044d3 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wfsHandler -> GeoJson wfsHandler(workflow, bbox, count, filter, namespaces, propertyName, queryResolution, request, resultType, service, sortBy, srsName, time, typeNames, version) +> GeoJson wfsHandler(workflow, bbox, count, filter, namespaces, propertyName, request, resultType, service, sortBy, srsName, time, typeNames, version) OGC WFS endpoint @@ -44,8 +44,6 @@ async function example() { namespaces: namespaces_example, // string propertyName: propertyName_example, - // string | Vendor parameter for specifying a spatial query resolution - queryResolution: queryResolution_example, // 'GetCapabilities' | 'GetFeature' | type of WFS request request: request_example, // string @@ -87,7 +85,6 @@ example().catch(console.error); | **filter** | `string` | | [Defaults to `undefined`] | | **namespaces** | `string` | | [Defaults to `undefined`] | | **propertyName** | `string` | | [Defaults to `undefined`] | -| **queryResolution** | `string` | Vendor parameter for specifying a spatial query resolution | [Defaults to `undefined`] | | **request** | `GetCapabilities`, `GetFeature` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | | **resultType** | `string` | | [Defaults to `undefined`] | | **service** | `WfsService` | | [Defaults to `undefined`] [Enum: WFS] | diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts index 621b8d53..15e30f6d 100644 --- a/typescript/src/apis/OGCWFSApi.ts +++ b/typescript/src/apis/OGCWFSApi.ts @@ -35,7 +35,6 @@ export interface WfsHandlerRequest { filter: string | null; namespaces: string | null; propertyName: string | null; - queryResolution: string; request: WfsHandlerRequestEnum; resultType: string | null; service: WfsService; @@ -97,13 +96,6 @@ export class OGCWFSApi extends runtime.BaseAPI { ); } - if (requestParameters['queryResolution'] == null) { - throw new runtime.RequiredError( - 'queryResolution', - 'Required parameter "queryResolution" was null or undefined when calling wfsHandler().' - ); - } - if (requestParameters['request'] == null) { throw new runtime.RequiredError( 'request', @@ -180,7 +172,6 @@ export class OGCWFSApi extends runtime.BaseAPI { urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); - urlPath = urlPath.replace(`{${"queryResolution"}}`, encodeURIComponent(String(requestParameters['queryResolution']))); urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); From ba6c5aa04a3217bcf782c317041f2c7210b60273 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 25 Nov 2025 18:43:28 +0100 Subject: [PATCH 07/15] update openapi-client --- .generation/input/openapi.json | 2 +- .../api/ogcwfs_api.py | 222 ++++++++++-------- typescript/dist/apis/OGCWFSApi.d.ts | 18 +- typescript/dist/apis/OGCWFSApi.js | 79 +++---- typescript/dist/esm/apis/OGCWFSApi.d.ts | 18 +- typescript/dist/esm/apis/OGCWFSApi.js | 80 +++---- typescript/docs/OGCWFSApi.md | 50 ++-- typescript/src/apis/OGCWFSApi.ts | 130 +++++----- 8 files changed, 295 insertions(+), 304 deletions(-) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 4e923f68..69cc4bac 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"path","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"path","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"path","required":true,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"path","required":true,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"request","in":"path","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"srsName","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"path","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"crs","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"}},{"name":"layers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"path","required":true,"schema":{"type":"string"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"styles","in":"path","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"path","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"path","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"path","required":true,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"path","required":true,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"crs","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"}},{"name":"layers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"path","required":true,"schema":{"type":"string"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"styles","in":"path","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py index 287a8cf6..9f74b6ba 100644 --- a/python/geoengine_openapi_client/api/ogcwfs_api.py +++ b/python/geoengine_openapi_client/api/ogcwfs_api.py @@ -48,18 +48,18 @@ def wfs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]], - filter: Optional[StrictStr], - namespaces: Optional[StrictStr], - property_name: Optional[StrictStr], request: Annotated[StrictStr, Field(description="type of WFS request")], - result_type: Optional[StrictStr], service: WfsService, - sort_by: Optional[StrictStr], - srs_name: Optional[StrictStr], - time: StrictStr, type_names: StrictStr, - version: Optional[WfsVersion], + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -80,29 +80,29 @@ def wfs_handler( :type workflow: str :param bbox: (required) :type bbox: str - :param count: (required) + :param request: type of WFS request (required) + :type request: str + :param service: (required) + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: :type count: int - :param filter: (required) + :param filter: :type filter: str - :param namespaces: (required) + :param namespaces: :type namespaces: str - :param property_name: (required) + :param property_name: :type property_name: str - :param request: type of WFS request (required) - :type request: str - :param result_type: (required) + :param result_type: :type result_type: str - :param service: (required) - :type service: WfsService - :param sort_by: (required) + :param sort_by: :type sort_by: str - :param srs_name: (required) + :param srs_name: :type srs_name: str - :param time: (required) + :param time: :type time: str - :param type_names: (required) - :type type_names: str - :param version: (required) + :param version: :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -129,17 +129,17 @@ def wfs_handler( _param = self._wfs_handler_serialize( workflow=workflow, bbox=bbox, + request=request, + service=service, + type_names=type_names, count=count, filter=filter, namespaces=namespaces, property_name=property_name, - request=request, result_type=result_type, - service=service, sort_by=sort_by, srs_name=srs_name, time=time, - type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -166,18 +166,18 @@ def wfs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]], - filter: Optional[StrictStr], - namespaces: Optional[StrictStr], - property_name: Optional[StrictStr], request: Annotated[StrictStr, Field(description="type of WFS request")], - result_type: Optional[StrictStr], service: WfsService, - sort_by: Optional[StrictStr], - srs_name: Optional[StrictStr], - time: StrictStr, type_names: StrictStr, - version: Optional[WfsVersion], + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -198,29 +198,29 @@ def wfs_handler_with_http_info( :type workflow: str :param bbox: (required) :type bbox: str - :param count: (required) + :param request: type of WFS request (required) + :type request: str + :param service: (required) + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: :type count: int - :param filter: (required) + :param filter: :type filter: str - :param namespaces: (required) + :param namespaces: :type namespaces: str - :param property_name: (required) + :param property_name: :type property_name: str - :param request: type of WFS request (required) - :type request: str - :param result_type: (required) + :param result_type: :type result_type: str - :param service: (required) - :type service: WfsService - :param sort_by: (required) + :param sort_by: :type sort_by: str - :param srs_name: (required) + :param srs_name: :type srs_name: str - :param time: (required) + :param time: :type time: str - :param type_names: (required) - :type type_names: str - :param version: (required) + :param version: :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -247,17 +247,17 @@ def wfs_handler_with_http_info( _param = self._wfs_handler_serialize( workflow=workflow, bbox=bbox, + request=request, + service=service, + type_names=type_names, count=count, filter=filter, namespaces=namespaces, property_name=property_name, - request=request, result_type=result_type, - service=service, sort_by=sort_by, srs_name=srs_name, time=time, - type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -284,18 +284,18 @@ def wfs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], bbox: StrictStr, - count: Optional[Annotated[int, Field(strict=True, ge=0)]], - filter: Optional[StrictStr], - namespaces: Optional[StrictStr], - property_name: Optional[StrictStr], request: Annotated[StrictStr, Field(description="type of WFS request")], - result_type: Optional[StrictStr], service: WfsService, - sort_by: Optional[StrictStr], - srs_name: Optional[StrictStr], - time: StrictStr, type_names: StrictStr, - version: Optional[WfsVersion], + count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + filter: Optional[StrictStr] = None, + namespaces: Optional[StrictStr] = None, + property_name: Optional[StrictStr] = None, + result_type: Optional[StrictStr] = None, + sort_by: Optional[StrictStr] = None, + srs_name: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + version: Optional[WfsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -316,29 +316,29 @@ def wfs_handler_without_preload_content( :type workflow: str :param bbox: (required) :type bbox: str - :param count: (required) + :param request: type of WFS request (required) + :type request: str + :param service: (required) + :type service: WfsService + :param type_names: (required) + :type type_names: str + :param count: :type count: int - :param filter: (required) + :param filter: :type filter: str - :param namespaces: (required) + :param namespaces: :type namespaces: str - :param property_name: (required) + :param property_name: :type property_name: str - :param request: type of WFS request (required) - :type request: str - :param result_type: (required) + :param result_type: :type result_type: str - :param service: (required) - :type service: WfsService - :param sort_by: (required) + :param sort_by: :type sort_by: str - :param srs_name: (required) + :param srs_name: :type srs_name: str - :param time: (required) + :param time: :type time: str - :param type_names: (required) - :type type_names: str - :param version: (required) + :param version: :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -365,17 +365,17 @@ def wfs_handler_without_preload_content( _param = self._wfs_handler_serialize( workflow=workflow, bbox=bbox, + request=request, + service=service, + type_names=type_names, count=count, filter=filter, namespaces=namespaces, property_name=property_name, - request=request, result_type=result_type, - service=service, sort_by=sort_by, srs_name=srs_name, time=time, - type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -397,17 +397,17 @@ def _wfs_handler_serialize( self, workflow, bbox, + request, + service, + type_names, count, filter, namespaces, property_name, - request, result_type, - service, sort_by, srs_name, time, - type_names, version, _request_auth, _content_type, @@ -432,33 +432,59 @@ def _wfs_handler_serialize( # process the path parameters if workflow is not None: _path_params['workflow'] = workflow + # process the query parameters if bbox is not None: - _path_params['bbox'] = bbox + + _query_params.append(('bbox', bbox)) + if count is not None: - _path_params['count'] = count + + _query_params.append(('count', count)) + if filter is not None: - _path_params['filter'] = filter + + _query_params.append(('filter', filter)) + if namespaces is not None: - _path_params['namespaces'] = namespaces + + _query_params.append(('namespaces', namespaces)) + if property_name is not None: - _path_params['propertyName'] = property_name + + _query_params.append(('propertyName', property_name)) + if request is not None: - _path_params['request'] = request + + _query_params.append(('request', request)) + if result_type is not None: - _path_params['resultType'] = result_type + + _query_params.append(('resultType', result_type)) + if service is not None: - _path_params['service'] = service.value + + _query_params.append(('service', service.value)) + if sort_by is not None: - _path_params['sortBy'] = sort_by + + _query_params.append(('sortBy', sort_by)) + if srs_name is not None: - _path_params['srsName'] = srs_name + + _query_params.append(('srsName', srs_name)) + if time is not None: - _path_params['time'] = time + + _query_params.append(('time', time)) + if type_names is not None: - _path_params['typeNames'] = type_names + + _query_params.append(('typeNames', type_names)) + if version is not None: - _path_params['version'] = version.value - # process the query parameters + + _query_params.append(('version', version.value)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts index bf850cf0..d1a2389c 100644 --- a/typescript/dist/apis/OGCWFSApi.d.ts +++ b/typescript/dist/apis/OGCWFSApi.d.ts @@ -14,18 +14,18 @@ import type { GeoJson, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; bbox: string; - count: number | null; - filter: string | null; - namespaces: string | null; - propertyName: string | null; request: WfsHandlerRequestEnum; - resultType: string | null; service: WfsService; - sortBy: string | null; - srsName: string | null; - time: string; typeNames: string; - version: WfsVersion | null; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; } /** * diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js index 719a7d11..dc7012f6 100644 --- a/typescript/dist/apis/OGCWFSApi.js +++ b/typescript/dist/apis/OGCWFSApi.js @@ -33,52 +33,62 @@ class OGCWFSApi extends runtime.BaseAPI { * OGC WFS endpoint */ wfsHandlerRaw(requestParameters, initOverrides) { - console.log("Entering wfsHandlerRaw with parameters:", requestParameters); return __awaiter(this, void 0, void 0, function* () { - console.log("WFS request parameters awauter"); if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } if (requestParameters['bbox'] == null) { throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } - if (requestParameters['count'] == null) { - throw new runtime.RequiredError('count', 'Required parameter "count" was null or undefined when calling wfsHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['filter'] == null) { - throw new runtime.RequiredError('filter', 'Required parameter "filter" was null or undefined when calling wfsHandler().'); + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); } - if (requestParameters['namespaces'] == null) { - throw new runtime.RequiredError('namespaces', 'Required parameter "namespaces" was null or undefined when calling wfsHandler().'); + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } - if (requestParameters['propertyName'] == null) { - throw new runtime.RequiredError('propertyName', 'Required parameter "propertyName" was null or undefined when calling wfsHandler().'); + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; } - if (requestParameters['resultType'] == null) { - throw new runtime.RequiredError('resultType', 'Required parameter "resultType" was null or undefined when calling wfsHandler().'); + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; } - if (requestParameters['sortBy'] == null) { - throw new runtime.RequiredError('sortBy', 'Required parameter "sortBy" was null or undefined when calling wfsHandler().'); + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; } - if (requestParameters['srsName'] == null) { - throw new runtime.RequiredError('srsName', 'Required parameter "srsName" was null or undefined when calling wfsHandler().'); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wfsHandler().'); + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wfsHandler().'); + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -89,21 +99,6 @@ class OGCWFSApi extends runtime.BaseAPI { } let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); - urlPath = urlPath.replace(`{${"count"}}`, encodeURIComponent(String(requestParameters['count']))); - urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); - urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); - urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"sortBy"}}`, encodeURIComponent(String(requestParameters['sortBy']))); - urlPath = urlPath.replace(`{${"srsName"}}`, encodeURIComponent(String(requestParameters['srsName']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - - console.log("WFS request URL:", urlPath); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts index bf850cf0..d1a2389c 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWFSApi.d.ts @@ -14,18 +14,18 @@ import type { GeoJson, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; bbox: string; - count: number | null; - filter: string | null; - namespaces: string | null; - propertyName: string | null; request: WfsHandlerRequestEnum; - resultType: string | null; service: WfsService; - sortBy: string | null; - srsName: string | null; - time: string; typeNames: string; - version: WfsVersion | null; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; } /** * diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js index 7d39338f..7c2f7ee0 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.js +++ b/typescript/dist/esm/apis/OGCWFSApi.js @@ -30,52 +30,62 @@ export class OGCWFSApi extends runtime.BaseAPI { * OGC WFS endpoint */ wfsHandlerRaw(requestParameters, initOverrides) { - console.log("Entering wfsHandlerRaw with parameters:", requestParameters); return __awaiter(this, void 0, void 0, function* () { - console.log("WFS request parameters awauter"); if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } if (requestParameters['bbox'] == null) { throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); } - if (requestParameters['count'] == null) { - throw new runtime.RequiredError('count', 'Required parameter "count" was null or undefined when calling wfsHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['filter'] == null) { - throw new runtime.RequiredError('filter', 'Required parameter "filter" was null or undefined when calling wfsHandler().'); + if (requestParameters['service'] == null) { + throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); } - if (requestParameters['namespaces'] == null) { - throw new runtime.RequiredError('namespaces', 'Required parameter "namespaces" was null or undefined when calling wfsHandler().'); + if (requestParameters['typeNames'] == null) { + throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); } - if (requestParameters['propertyName'] == null) { - throw new runtime.RequiredError('propertyName', 'Required parameter "propertyName" was null or undefined when calling wfsHandler().'); + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; } - if (requestParameters['resultType'] == null) { - throw new runtime.RequiredError('resultType', 'Required parameter "resultType" was null or undefined when calling wfsHandler().'); + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; } - if (requestParameters['sortBy'] == null) { - throw new runtime.RequiredError('sortBy', 'Required parameter "sortBy" was null or undefined when calling wfsHandler().'); + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; } - if (requestParameters['srsName'] == null) { - throw new runtime.RequiredError('srsName', 'Required parameter "srsName" was null or undefined when calling wfsHandler().'); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wfsHandler().'); + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wfsHandler().'); + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; + } + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -86,22 +96,6 @@ export class OGCWFSApi extends runtime.BaseAPI { } let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); - urlPath = urlPath.replace(`{${"count"}}`, encodeURIComponent(String(requestParameters['count']))); - urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); - urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); - urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"sortBy"}}`, encodeURIComponent(String(requestParameters['sortBy']))); - urlPath = urlPath.replace(`{${"srsName"}}`, encodeURIComponent(String(requestParameters['srsName']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - - console.log("WFS request URL:", urlPath); - const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index 509044d3..8b4d1b71 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wfsHandler -> GeoJson wfsHandler(workflow, bbox, count, filter, namespaces, propertyName, request, resultType, service, sortBy, srsName, time, typeNames, version) +> GeoJson wfsHandler(workflow, bbox, request, service, typeNames, count, filter, namespaces, propertyName, resultType, sortBy, srsName, time, version) OGC WFS endpoint @@ -36,29 +36,29 @@ async function example() { workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, // string bbox: -90,-180,90,180, - // number - count: 789, - // string - filter: filter_example, - // string - namespaces: namespaces_example, - // string - propertyName: propertyName_example, // 'GetCapabilities' | 'GetFeature' | type of WFS request request: request_example, - // string - resultType: resultType_example, // WfsService service: ..., // string + typeNames: , + // number (optional) + count: 789, + // string (optional) + filter: filter_example, + // string (optional) + namespaces: namespaces_example, + // string (optional) + propertyName: propertyName_example, + // string (optional) + resultType: resultType_example, + // string (optional) sortBy: sortBy_example, - // string + // string (optional) srsName: EPSG:4326, - // string + // string (optional) time: 2014-04-01T12:00:00.000Z, - // string - typeNames: , - // WfsVersion + // WfsVersion (optional) version: ..., } satisfies WfsHandlerRequest; @@ -81,18 +81,18 @@ example().catch(console.error); |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | | **bbox** | `string` | | [Defaults to `undefined`] | -| **count** | `number` | | [Defaults to `undefined`] | -| **filter** | `string` | | [Defaults to `undefined`] | -| **namespaces** | `string` | | [Defaults to `undefined`] | -| **propertyName** | `string` | | [Defaults to `undefined`] | | **request** | `GetCapabilities`, `GetFeature` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | -| **resultType** | `string` | | [Defaults to `undefined`] | | **service** | `WfsService` | | [Defaults to `undefined`] [Enum: WFS] | -| **sortBy** | `string` | | [Defaults to `undefined`] | -| **srsName** | `string` | | [Defaults to `undefined`] | -| **time** | `string` | | [Defaults to `undefined`] | | **typeNames** | `string` | | [Defaults to `undefined`] | -| **version** | `WfsVersion` | | [Defaults to `undefined`] [Enum: 2.0.0] | +| **count** | `number` | | [Optional] [Defaults to `undefined`] | +| **filter** | `string` | | [Optional] [Defaults to `undefined`] | +| **namespaces** | `string` | | [Optional] [Defaults to `undefined`] | +| **propertyName** | `string` | | [Optional] [Defaults to `undefined`] | +| **resultType** | `string` | | [Optional] [Defaults to `undefined`] | +| **sortBy** | `string` | | [Optional] [Defaults to `undefined`] | +| **srsName** | `string` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **version** | `WfsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 2.0.0] | ### Return type diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts index 15e30f6d..dc11ae68 100644 --- a/typescript/src/apis/OGCWFSApi.ts +++ b/typescript/src/apis/OGCWFSApi.ts @@ -31,18 +31,18 @@ import { export interface WfsHandlerRequest { workflow: string; bbox: string; - count: number | null; - filter: string | null; - namespaces: string | null; - propertyName: string | null; request: WfsHandlerRequestEnum; - resultType: string | null; service: WfsService; - sortBy: string | null; - srsName: string | null; - time: string; typeNames: string; - version: WfsVersion | null; + count?: number | null; + filter?: string | null; + namespaces?: string | null; + propertyName?: string | null; + resultType?: string | null; + sortBy?: string | null; + srsName?: string | null; + time?: string; + version?: WfsVersion | null; } /** @@ -68,91 +68,80 @@ export class OGCWFSApi extends runtime.BaseAPI { ); } - if (requestParameters['count'] == null) { + if (requestParameters['request'] == null) { throw new runtime.RequiredError( - 'count', - 'Required parameter "count" was null or undefined when calling wfsHandler().' + 'request', + 'Required parameter "request" was null or undefined when calling wfsHandler().' ); } - if (requestParameters['filter'] == null) { + if (requestParameters['service'] == null) { throw new runtime.RequiredError( - 'filter', - 'Required parameter "filter" was null or undefined when calling wfsHandler().' + 'service', + 'Required parameter "service" was null or undefined when calling wfsHandler().' ); } - if (requestParameters['namespaces'] == null) { + if (requestParameters['typeNames'] == null) { throw new runtime.RequiredError( - 'namespaces', - 'Required parameter "namespaces" was null or undefined when calling wfsHandler().' + 'typeNames', + 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' ); } - if (requestParameters['propertyName'] == null) { - throw new runtime.RequiredError( - 'propertyName', - 'Required parameter "propertyName" was null or undefined when calling wfsHandler().' - ); + const queryParameters: any = {}; + + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['count'] != null) { + queryParameters['count'] = requestParameters['count']; } - if (requestParameters['resultType'] == null) { - throw new runtime.RequiredError( - 'resultType', - 'Required parameter "resultType" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['filter'] != null) { + queryParameters['filter'] = requestParameters['filter']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['namespaces'] != null) { + queryParameters['namespaces'] = requestParameters['namespaces']; } - if (requestParameters['sortBy'] == null) { - throw new runtime.RequiredError( - 'sortBy', - 'Required parameter "sortBy" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['propertyName'] != null) { + queryParameters['propertyName'] = requestParameters['propertyName']; } - if (requestParameters['srsName'] == null) { - throw new runtime.RequiredError( - 'srsName', - 'Required parameter "srsName" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError( - 'time', - 'Required parameter "time" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['resultType'] != null) { + queryParameters['resultType'] = requestParameters['resultType']; } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError( - 'typeNames', - 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wfsHandler().' - ); + if (requestParameters['sortBy'] != null) { + queryParameters['sortBy'] = requestParameters['sortBy']; } - const queryParameters: any = {}; + if (requestParameters['srsName'] != null) { + queryParameters['srsName'] = requestParameters['srsName']; + } + + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + + if (requestParameters['typeNames'] != null) { + queryParameters['typeNames'] = requestParameters['typeNames']; + } + + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } const headerParameters: runtime.HTTPHeaders = {}; @@ -167,19 +156,6 @@ export class OGCWFSApi extends runtime.BaseAPI { let urlPath = `/wfs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); - urlPath = urlPath.replace(`{${"count"}}`, encodeURIComponent(String(requestParameters['count']))); - urlPath = urlPath.replace(`{${"filter"}}`, encodeURIComponent(String(requestParameters['filter']))); - urlPath = urlPath.replace(`{${"namespaces"}}`, encodeURIComponent(String(requestParameters['namespaces']))); - urlPath = urlPath.replace(`{${"propertyName"}}`, encodeURIComponent(String(requestParameters['propertyName']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"resultType"}}`, encodeURIComponent(String(requestParameters['resultType']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"sortBy"}}`, encodeURIComponent(String(requestParameters['sortBy']))); - urlPath = urlPath.replace(`{${"srsName"}}`, encodeURIComponent(String(requestParameters['srsName']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"typeNames"}}`, encodeURIComponent(String(requestParameters['typeNames']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = await this.request({ path: urlPath, From 5de34f95c356e91d45f9855a5a4508c1789b70d8 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Tue, 25 Nov 2025 18:58:35 +0100 Subject: [PATCH 08/15] update openapi-client --- .generation/input/openapi.json | 2 +- .../api/ogcwcs_api.py | 234 +++++++------ .../api/ogcwfs_api.py | 78 ++--- .../api/ogcwms_api.py | 330 ++++++++++-------- typescript/dist/apis/OGCWCSApi.d.ts | 26 +- typescript/dist/apis/OGCWCSApi.js | 75 ++-- typescript/dist/apis/OGCWFSApi.d.ts | 6 +- typescript/dist/apis/OGCWFSApi.js | 9 - typescript/dist/apis/OGCWMSApi.d.ts | 38 +- typescript/dist/apis/OGCWMSApi.js | 105 +++--- typescript/dist/esm/apis/OGCWCSApi.d.ts | 26 +- typescript/dist/esm/apis/OGCWCSApi.js | 75 ++-- typescript/dist/esm/apis/OGCWFSApi.d.ts | 6 +- typescript/dist/esm/apis/OGCWFSApi.js | 9 - typescript/dist/esm/apis/OGCWMSApi.d.ts | 38 +- typescript/dist/esm/apis/OGCWMSApi.js | 105 +++--- typescript/docs/OGCWCSApi.md | 58 +-- typescript/docs/OGCWFSApi.md | 20 +- typescript/docs/OGCWMSApi.md | 82 ++--- typescript/src/apis/OGCWCSApi.ts | 143 +++----- typescript/src/apis/OGCWFSApi.ts | 27 +- typescript/src/apis/OGCWMSApi.ts | 203 ++++------- 22 files changed, 773 insertions(+), 922 deletions(-) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 69cc4bac..fb114c6d 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"path","required":true,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"path","required":true,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"path","required":true,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"path","required":true,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"path","required":true,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"path","required":true,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":true,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"crs","in":"path","required":true,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"layer","in":"path","required":true,"schema":{"type":"string"}},{"name":"layers","in":"path","required":true,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"path","required":true,"schema":{"type":"string"}},{"name":"request","in":"path","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"styles","in":"path","required":true,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"path","required":true,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"version","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":false,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":false,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":false,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":false,"schema":{"type":"string"}},{"name":"layers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":false,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":false,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/python/geoengine_openapi_client/api/ogcwcs_api.py b/python/geoengine_openapi_client/api/ogcwcs_api.py index 7de76f17..66169035 100644 --- a/python/geoengine_openapi_client/api/ogcwcs_api.py +++ b/python/geoengine_openapi_client/api/ogcwcs_api.py @@ -47,20 +47,20 @@ def __init__(self, api_client=None) -> None: def wcs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - boundingbox: StrictStr, - format: GetCoverageFormat, - gridbasecrs: StrictStr, - gridoffsets: StrictStr, - gridorigin: StrictStr, - identifier: StrictStr, - identifiers: StrictStr, - nodatavalue: Optional[Union[StrictFloat, StrictInt]], request: Annotated[StrictStr, Field(description="type of WMS request")], - resx: Optional[Union[StrictFloat, StrictInt]], - resy: Optional[Union[StrictFloat, StrictInt]], - service: WcsService, - time: StrictStr, - version: Optional[WcsVersion], + boundingbox: Optional[StrictStr] = None, + format: Optional[GetCoverageFormat] = None, + gridbasecrs: Optional[StrictStr] = None, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + identifier: Optional[StrictStr] = None, + identifiers: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + service: Optional[WcsService] = None, + time: Optional[StrictStr] = None, + version: Optional[WcsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -79,33 +79,33 @@ def wcs_handler( :param workflow: Workflow id (required) :type workflow: str - :param boundingbox: (required) + :param request: type of WMS request (required) + :type request: str + :param boundingbox: :type boundingbox: str - :param format: (required) + :param format: :type format: GetCoverageFormat - :param gridbasecrs: (required) + :param gridbasecrs: :type gridbasecrs: str - :param gridoffsets: (required) + :param gridoffsets: :type gridoffsets: str - :param gridorigin: (required) + :param gridorigin: :type gridorigin: str - :param identifier: (required) + :param identifier: :type identifier: str - :param identifiers: (required) + :param identifiers: :type identifiers: str - :param nodatavalue: (required) + :param nodatavalue: :type nodatavalue: float - :param request: type of WMS request (required) - :type request: str - :param resx: (required) + :param resx: :type resx: float - :param resy: (required) + :param resy: :type resy: float - :param service: (required) + :param service: :type service: WcsService - :param time: (required) + :param time: :type time: str - :param version: (required) + :param version: :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -131,6 +131,7 @@ def wcs_handler( _param = self._wcs_handler_serialize( workflow=workflow, + request=request, boundingbox=boundingbox, format=format, gridbasecrs=gridbasecrs, @@ -139,7 +140,6 @@ def wcs_handler( identifier=identifier, identifiers=identifiers, nodatavalue=nodatavalue, - request=request, resx=resx, resy=resy, service=service, @@ -169,20 +169,20 @@ def wcs_handler( def wcs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - boundingbox: StrictStr, - format: GetCoverageFormat, - gridbasecrs: StrictStr, - gridoffsets: StrictStr, - gridorigin: StrictStr, - identifier: StrictStr, - identifiers: StrictStr, - nodatavalue: Optional[Union[StrictFloat, StrictInt]], request: Annotated[StrictStr, Field(description="type of WMS request")], - resx: Optional[Union[StrictFloat, StrictInt]], - resy: Optional[Union[StrictFloat, StrictInt]], - service: WcsService, - time: StrictStr, - version: Optional[WcsVersion], + boundingbox: Optional[StrictStr] = None, + format: Optional[GetCoverageFormat] = None, + gridbasecrs: Optional[StrictStr] = None, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + identifier: Optional[StrictStr] = None, + identifiers: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + service: Optional[WcsService] = None, + time: Optional[StrictStr] = None, + version: Optional[WcsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -201,33 +201,33 @@ def wcs_handler_with_http_info( :param workflow: Workflow id (required) :type workflow: str - :param boundingbox: (required) + :param request: type of WMS request (required) + :type request: str + :param boundingbox: :type boundingbox: str - :param format: (required) + :param format: :type format: GetCoverageFormat - :param gridbasecrs: (required) + :param gridbasecrs: :type gridbasecrs: str - :param gridoffsets: (required) + :param gridoffsets: :type gridoffsets: str - :param gridorigin: (required) + :param gridorigin: :type gridorigin: str - :param identifier: (required) + :param identifier: :type identifier: str - :param identifiers: (required) + :param identifiers: :type identifiers: str - :param nodatavalue: (required) + :param nodatavalue: :type nodatavalue: float - :param request: type of WMS request (required) - :type request: str - :param resx: (required) + :param resx: :type resx: float - :param resy: (required) + :param resy: :type resy: float - :param service: (required) + :param service: :type service: WcsService - :param time: (required) + :param time: :type time: str - :param version: (required) + :param version: :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -253,6 +253,7 @@ def wcs_handler_with_http_info( _param = self._wcs_handler_serialize( workflow=workflow, + request=request, boundingbox=boundingbox, format=format, gridbasecrs=gridbasecrs, @@ -261,7 +262,6 @@ def wcs_handler_with_http_info( identifier=identifier, identifiers=identifiers, nodatavalue=nodatavalue, - request=request, resx=resx, resy=resy, service=service, @@ -291,20 +291,20 @@ def wcs_handler_with_http_info( def wcs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - boundingbox: StrictStr, - format: GetCoverageFormat, - gridbasecrs: StrictStr, - gridoffsets: StrictStr, - gridorigin: StrictStr, - identifier: StrictStr, - identifiers: StrictStr, - nodatavalue: Optional[Union[StrictFloat, StrictInt]], request: Annotated[StrictStr, Field(description="type of WMS request")], - resx: Optional[Union[StrictFloat, StrictInt]], - resy: Optional[Union[StrictFloat, StrictInt]], - service: WcsService, - time: StrictStr, - version: Optional[WcsVersion], + boundingbox: Optional[StrictStr] = None, + format: Optional[GetCoverageFormat] = None, + gridbasecrs: Optional[StrictStr] = None, + gridoffsets: Optional[StrictStr] = None, + gridorigin: Optional[StrictStr] = None, + identifier: Optional[StrictStr] = None, + identifiers: Optional[StrictStr] = None, + nodatavalue: Optional[Union[StrictFloat, StrictInt]] = None, + resx: Optional[Union[StrictFloat, StrictInt]] = None, + resy: Optional[Union[StrictFloat, StrictInt]] = None, + service: Optional[WcsService] = None, + time: Optional[StrictStr] = None, + version: Optional[WcsVersion] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -323,33 +323,33 @@ def wcs_handler_without_preload_content( :param workflow: Workflow id (required) :type workflow: str - :param boundingbox: (required) + :param request: type of WMS request (required) + :type request: str + :param boundingbox: :type boundingbox: str - :param format: (required) + :param format: :type format: GetCoverageFormat - :param gridbasecrs: (required) + :param gridbasecrs: :type gridbasecrs: str - :param gridoffsets: (required) + :param gridoffsets: :type gridoffsets: str - :param gridorigin: (required) + :param gridorigin: :type gridorigin: str - :param identifier: (required) + :param identifier: :type identifier: str - :param identifiers: (required) + :param identifiers: :type identifiers: str - :param nodatavalue: (required) + :param nodatavalue: :type nodatavalue: float - :param request: type of WMS request (required) - :type request: str - :param resx: (required) + :param resx: :type resx: float - :param resy: (required) + :param resy: :type resy: float - :param service: (required) + :param service: :type service: WcsService - :param time: (required) + :param time: :type time: str - :param version: (required) + :param version: :type version: WcsVersion :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -375,6 +375,7 @@ def wcs_handler_without_preload_content( _param = self._wcs_handler_serialize( workflow=workflow, + request=request, boundingbox=boundingbox, format=format, gridbasecrs=gridbasecrs, @@ -383,7 +384,6 @@ def wcs_handler_without_preload_content( identifier=identifier, identifiers=identifiers, nodatavalue=nodatavalue, - request=request, resx=resx, resy=resy, service=service, @@ -408,6 +408,7 @@ def wcs_handler_without_preload_content( def _wcs_handler_serialize( self, workflow, + request, boundingbox, format, gridbasecrs, @@ -416,7 +417,6 @@ def _wcs_handler_serialize( identifier, identifiers, nodatavalue, - request, resx, resy, service, @@ -445,35 +445,63 @@ def _wcs_handler_serialize( # process the path parameters if workflow is not None: _path_params['workflow'] = workflow + # process the query parameters if boundingbox is not None: - _path_params['boundingbox'] = boundingbox + + _query_params.append(('boundingbox', boundingbox)) + if format is not None: - _path_params['format'] = format.value + + _query_params.append(('format', format.value)) + if gridbasecrs is not None: - _path_params['gridbasecrs'] = gridbasecrs + + _query_params.append(('gridbasecrs', gridbasecrs)) + if gridoffsets is not None: - _path_params['gridoffsets'] = gridoffsets + + _query_params.append(('gridoffsets', gridoffsets)) + if gridorigin is not None: - _path_params['gridorigin'] = gridorigin + + _query_params.append(('gridorigin', gridorigin)) + if identifier is not None: - _path_params['identifier'] = identifier + + _query_params.append(('identifier', identifier)) + if identifiers is not None: - _path_params['identifiers'] = identifiers + + _query_params.append(('identifiers', identifiers)) + if nodatavalue is not None: - _path_params['nodatavalue'] = nodatavalue + + _query_params.append(('nodatavalue', nodatavalue)) + if request is not None: - _path_params['request'] = request + + _query_params.append(('request', request)) + if resx is not None: - _path_params['resx'] = resx + + _query_params.append(('resx', resx)) + if resy is not None: - _path_params['resy'] = resy + + _query_params.append(('resy', resy)) + if service is not None: - _path_params['service'] = service.value + + _query_params.append(('service', service.value)) + if time is not None: - _path_params['time'] = time + + _query_params.append(('time', time)) + if version is not None: - _path_params['version'] = version.value - # process the query parameters + + _query_params.append(('version', version.value)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py index 9f74b6ba..157e5e80 100644 --- a/python/geoengine_openapi_client/api/ogcwfs_api.py +++ b/python/geoengine_openapi_client/api/ogcwfs_api.py @@ -47,18 +47,18 @@ def __init__(self, api_client=None) -> None: def wfs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, + bbox: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, filter: Optional[StrictStr] = None, namespaces: Optional[StrictStr] = None, property_name: Optional[StrictStr] = None, result_type: Optional[StrictStr] = None, + service: Optional[WfsService] = None, sort_by: Optional[StrictStr] = None, srs_name: Optional[StrictStr] = None, time: Optional[StrictStr] = None, + type_names: Optional[StrictStr] = None, version: Optional[WfsVersion] = None, _request_timeout: Union[ None, @@ -78,14 +78,10 @@ def wfs_handler( :param workflow: Workflow id (required) :type workflow: str - :param bbox: (required) - :type bbox: str :param request: type of WFS request (required) :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str + :param bbox: + :type bbox: str :param count: :type count: int :param filter: @@ -96,12 +92,16 @@ def wfs_handler( :type property_name: str :param result_type: :type result_type: str + :param service: + :type service: WfsService :param sort_by: :type sort_by: str :param srs_name: :type srs_name: str :param time: :type time: str + :param type_names: + :type type_names: str :param version: :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one @@ -128,18 +128,18 @@ def wfs_handler( _param = self._wfs_handler_serialize( workflow=workflow, - bbox=bbox, request=request, - service=service, - type_names=type_names, + bbox=bbox, count=count, filter=filter, namespaces=namespaces, property_name=property_name, result_type=result_type, + service=service, sort_by=sort_by, srs_name=srs_name, time=time, + type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -165,18 +165,18 @@ def wfs_handler( def wfs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, + bbox: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, filter: Optional[StrictStr] = None, namespaces: Optional[StrictStr] = None, property_name: Optional[StrictStr] = None, result_type: Optional[StrictStr] = None, + service: Optional[WfsService] = None, sort_by: Optional[StrictStr] = None, srs_name: Optional[StrictStr] = None, time: Optional[StrictStr] = None, + type_names: Optional[StrictStr] = None, version: Optional[WfsVersion] = None, _request_timeout: Union[ None, @@ -196,14 +196,10 @@ def wfs_handler_with_http_info( :param workflow: Workflow id (required) :type workflow: str - :param bbox: (required) - :type bbox: str :param request: type of WFS request (required) :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str + :param bbox: + :type bbox: str :param count: :type count: int :param filter: @@ -214,12 +210,16 @@ def wfs_handler_with_http_info( :type property_name: str :param result_type: :type result_type: str + :param service: + :type service: WfsService :param sort_by: :type sort_by: str :param srs_name: :type srs_name: str :param time: :type time: str + :param type_names: + :type type_names: str :param version: :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one @@ -246,18 +246,18 @@ def wfs_handler_with_http_info( _param = self._wfs_handler_serialize( workflow=workflow, - bbox=bbox, request=request, - service=service, - type_names=type_names, + bbox=bbox, count=count, filter=filter, namespaces=namespaces, property_name=property_name, result_type=result_type, + service=service, sort_by=sort_by, srs_name=srs_name, time=time, + type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -283,18 +283,18 @@ def wfs_handler_with_http_info( def wfs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, request: Annotated[StrictStr, Field(description="type of WFS request")], - service: WfsService, - type_names: StrictStr, + bbox: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, filter: Optional[StrictStr] = None, namespaces: Optional[StrictStr] = None, property_name: Optional[StrictStr] = None, result_type: Optional[StrictStr] = None, + service: Optional[WfsService] = None, sort_by: Optional[StrictStr] = None, srs_name: Optional[StrictStr] = None, time: Optional[StrictStr] = None, + type_names: Optional[StrictStr] = None, version: Optional[WfsVersion] = None, _request_timeout: Union[ None, @@ -314,14 +314,10 @@ def wfs_handler_without_preload_content( :param workflow: Workflow id (required) :type workflow: str - :param bbox: (required) - :type bbox: str :param request: type of WFS request (required) :type request: str - :param service: (required) - :type service: WfsService - :param type_names: (required) - :type type_names: str + :param bbox: + :type bbox: str :param count: :type count: int :param filter: @@ -332,12 +328,16 @@ def wfs_handler_without_preload_content( :type property_name: str :param result_type: :type result_type: str + :param service: + :type service: WfsService :param sort_by: :type sort_by: str :param srs_name: :type srs_name: str :param time: :type time: str + :param type_names: + :type type_names: str :param version: :type version: WfsVersion :param _request_timeout: timeout setting for this request. If one @@ -364,18 +364,18 @@ def wfs_handler_without_preload_content( _param = self._wfs_handler_serialize( workflow=workflow, - bbox=bbox, request=request, - service=service, - type_names=type_names, + bbox=bbox, count=count, filter=filter, namespaces=namespaces, property_name=property_name, result_type=result_type, + service=service, sort_by=sort_by, srs_name=srs_name, time=time, + type_names=type_names, version=version, _request_auth=_request_auth, _content_type=_content_type, @@ -396,18 +396,18 @@ def wfs_handler_without_preload_content( def _wfs_handler_serialize( self, workflow, - bbox, request, - service, - type_names, + bbox, count, filter, namespaces, property_name, result_type, + service, sort_by, srs_name, time, + type_names, version, _request_auth, _content_type, diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py index 0ed5c111..b0367678 100644 --- a/python/geoengine_openapi_client/api/ogcwms_api.py +++ b/python/geoengine_openapi_client/api/ogcwms_api.py @@ -48,26 +48,26 @@ def __init__(self, api_client=None) -> None: def wms_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - bgcolor: Optional[StrictStr], - crs: Optional[StrictStr], - elevation: Optional[StrictStr], - exceptions: Optional[GetMapExceptionFormat], - format: Optional[GetCapabilitiesFormat], - height: Annotated[int, Field(strict=True, ge=0)], - info_format: Optional[StrictStr], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - sld: Optional[StrictStr], - sld_body: Optional[StrictStr], - styles: StrictStr, - time: StrictStr, - transparent: Optional[StrictBool], - version: Optional[WmsVersion], - width: Annotated[int, Field(strict=True, ge=0)], + bbox: Optional[StrictStr] = None, + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + height: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + info_format: Optional[StrictStr] = None, + layer: Optional[StrictStr] = None, + layers: Optional[StrictStr] = None, + query_layers: Optional[StrictStr] = None, + service: Optional[WmsService] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + styles: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, + width: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -86,45 +86,45 @@ def wms_handler( :param workflow: Workflow id (required) :type workflow: str - :param bbox: (required) + :param request: type of WMS request (required) + :type request: str + :param bbox: :type bbox: str - :param bgcolor: (required) + :param bgcolor: :type bgcolor: str - :param crs: (required) + :param crs: :type crs: str - :param elevation: (required) + :param elevation: :type elevation: str - :param exceptions: (required) + :param exceptions: :type exceptions: GetMapExceptionFormat - :param format: (required) + :param format: :type format: GetCapabilitiesFormat - :param height: (required) + :param height: :type height: int - :param info_format: (required) + :param info_format: :type info_format: str - :param layer: (required) + :param layer: :type layer: str - :param layers: (required) + :param layers: :type layers: str - :param query_layers: (required) + :param query_layers: :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) + :param service: :type service: WmsService - :param sld: (required) + :param sld: :type sld: str - :param sld_body: (required) + :param sld_body: :type sld_body: str - :param styles: (required) + :param styles: :type styles: str - :param time: (required) + :param time: :type time: str - :param transparent: (required) + :param transparent: :type transparent: bool - :param version: (required) + :param version: :type version: WmsVersion - :param width: (required) + :param width: :type width: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -150,6 +150,7 @@ def wms_handler( _param = self._wms_handler_serialize( workflow=workflow, + request=request, bbox=bbox, bgcolor=bgcolor, crs=crs, @@ -161,7 +162,6 @@ def wms_handler( layer=layer, layers=layers, query_layers=query_layers, - request=request, service=service, sld=sld, sld_body=sld_body, @@ -194,26 +194,26 @@ def wms_handler( def wms_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - bgcolor: Optional[StrictStr], - crs: Optional[StrictStr], - elevation: Optional[StrictStr], - exceptions: Optional[GetMapExceptionFormat], - format: Optional[GetCapabilitiesFormat], - height: Annotated[int, Field(strict=True, ge=0)], - info_format: Optional[StrictStr], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - sld: Optional[StrictStr], - sld_body: Optional[StrictStr], - styles: StrictStr, - time: StrictStr, - transparent: Optional[StrictBool], - version: Optional[WmsVersion], - width: Annotated[int, Field(strict=True, ge=0)], + bbox: Optional[StrictStr] = None, + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + height: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + info_format: Optional[StrictStr] = None, + layer: Optional[StrictStr] = None, + layers: Optional[StrictStr] = None, + query_layers: Optional[StrictStr] = None, + service: Optional[WmsService] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + styles: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, + width: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -232,45 +232,45 @@ def wms_handler_with_http_info( :param workflow: Workflow id (required) :type workflow: str - :param bbox: (required) + :param request: type of WMS request (required) + :type request: str + :param bbox: :type bbox: str - :param bgcolor: (required) + :param bgcolor: :type bgcolor: str - :param crs: (required) + :param crs: :type crs: str - :param elevation: (required) + :param elevation: :type elevation: str - :param exceptions: (required) + :param exceptions: :type exceptions: GetMapExceptionFormat - :param format: (required) + :param format: :type format: GetCapabilitiesFormat - :param height: (required) + :param height: :type height: int - :param info_format: (required) + :param info_format: :type info_format: str - :param layer: (required) + :param layer: :type layer: str - :param layers: (required) + :param layers: :type layers: str - :param query_layers: (required) + :param query_layers: :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) + :param service: :type service: WmsService - :param sld: (required) + :param sld: :type sld: str - :param sld_body: (required) + :param sld_body: :type sld_body: str - :param styles: (required) + :param styles: :type styles: str - :param time: (required) + :param time: :type time: str - :param transparent: (required) + :param transparent: :type transparent: bool - :param version: (required) + :param version: :type version: WmsVersion - :param width: (required) + :param width: :type width: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -296,6 +296,7 @@ def wms_handler_with_http_info( _param = self._wms_handler_serialize( workflow=workflow, + request=request, bbox=bbox, bgcolor=bgcolor, crs=crs, @@ -307,7 +308,6 @@ def wms_handler_with_http_info( layer=layer, layers=layers, query_layers=query_layers, - request=request, service=service, sld=sld, sld_body=sld_body, @@ -340,26 +340,26 @@ def wms_handler_with_http_info( def wms_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - bbox: StrictStr, - bgcolor: Optional[StrictStr], - crs: Optional[StrictStr], - elevation: Optional[StrictStr], - exceptions: Optional[GetMapExceptionFormat], - format: Optional[GetCapabilitiesFormat], - height: Annotated[int, Field(strict=True, ge=0)], - info_format: Optional[StrictStr], - layer: StrictStr, - layers: StrictStr, - query_layers: StrictStr, request: Annotated[StrictStr, Field(description="type of WMS request")], - service: WmsService, - sld: Optional[StrictStr], - sld_body: Optional[StrictStr], - styles: StrictStr, - time: StrictStr, - transparent: Optional[StrictBool], - version: Optional[WmsVersion], - width: Annotated[int, Field(strict=True, ge=0)], + bbox: Optional[StrictStr] = None, + bgcolor: Optional[StrictStr] = None, + crs: Optional[StrictStr] = None, + elevation: Optional[StrictStr] = None, + exceptions: Optional[GetMapExceptionFormat] = None, + format: Optional[GetCapabilitiesFormat] = None, + height: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, + info_format: Optional[StrictStr] = None, + layer: Optional[StrictStr] = None, + layers: Optional[StrictStr] = None, + query_layers: Optional[StrictStr] = None, + service: Optional[WmsService] = None, + sld: Optional[StrictStr] = None, + sld_body: Optional[StrictStr] = None, + styles: Optional[StrictStr] = None, + time: Optional[StrictStr] = None, + transparent: Optional[StrictBool] = None, + version: Optional[WmsVersion] = None, + width: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -378,45 +378,45 @@ def wms_handler_without_preload_content( :param workflow: Workflow id (required) :type workflow: str - :param bbox: (required) + :param request: type of WMS request (required) + :type request: str + :param bbox: :type bbox: str - :param bgcolor: (required) + :param bgcolor: :type bgcolor: str - :param crs: (required) + :param crs: :type crs: str - :param elevation: (required) + :param elevation: :type elevation: str - :param exceptions: (required) + :param exceptions: :type exceptions: GetMapExceptionFormat - :param format: (required) + :param format: :type format: GetCapabilitiesFormat - :param height: (required) + :param height: :type height: int - :param info_format: (required) + :param info_format: :type info_format: str - :param layer: (required) + :param layer: :type layer: str - :param layers: (required) + :param layers: :type layers: str - :param query_layers: (required) + :param query_layers: :type query_layers: str - :param request: type of WMS request (required) - :type request: str - :param service: (required) + :param service: :type service: WmsService - :param sld: (required) + :param sld: :type sld: str - :param sld_body: (required) + :param sld_body: :type sld_body: str - :param styles: (required) + :param styles: :type styles: str - :param time: (required) + :param time: :type time: str - :param transparent: (required) + :param transparent: :type transparent: bool - :param version: (required) + :param version: :type version: WmsVersion - :param width: (required) + :param width: :type width: int :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -442,6 +442,7 @@ def wms_handler_without_preload_content( _param = self._wms_handler_serialize( workflow=workflow, + request=request, bbox=bbox, bgcolor=bgcolor, crs=crs, @@ -453,7 +454,6 @@ def wms_handler_without_preload_content( layer=layer, layers=layers, query_layers=query_layers, - request=request, service=service, sld=sld, sld_body=sld_body, @@ -481,6 +481,7 @@ def wms_handler_without_preload_content( def _wms_handler_serialize( self, workflow, + request, bbox, bgcolor, crs, @@ -492,7 +493,6 @@ def _wms_handler_serialize( layer, layers, query_layers, - request, service, sld, sld_body, @@ -524,47 +524,87 @@ def _wms_handler_serialize( # process the path parameters if workflow is not None: _path_params['workflow'] = workflow + # process the query parameters if bbox is not None: - _path_params['bbox'] = bbox + + _query_params.append(('bbox', bbox)) + if bgcolor is not None: - _path_params['bgcolor'] = bgcolor + + _query_params.append(('bgcolor', bgcolor)) + if crs is not None: - _path_params['crs'] = crs + + _query_params.append(('crs', crs)) + if elevation is not None: - _path_params['elevation'] = elevation + + _query_params.append(('elevation', elevation)) + if exceptions is not None: - _path_params['exceptions'] = exceptions.value + + _query_params.append(('exceptions', exceptions.value)) + if format is not None: - _path_params['format'] = format.value + + _query_params.append(('format', format.value)) + if height is not None: - _path_params['height'] = height + + _query_params.append(('height', height)) + if info_format is not None: - _path_params['info_format'] = info_format + + _query_params.append(('info_format', info_format)) + if layer is not None: - _path_params['layer'] = layer + + _query_params.append(('layer', layer)) + if layers is not None: - _path_params['layers'] = layers + + _query_params.append(('layers', layers)) + if query_layers is not None: - _path_params['query_layers'] = query_layers + + _query_params.append(('query_layers', query_layers)) + if request is not None: - _path_params['request'] = request + + _query_params.append(('request', request)) + if service is not None: - _path_params['service'] = service.value + + _query_params.append(('service', service.value)) + if sld is not None: - _path_params['sld'] = sld + + _query_params.append(('sld', sld)) + if sld_body is not None: - _path_params['sld_body'] = sld_body + + _query_params.append(('sld_body', sld_body)) + if styles is not None: - _path_params['styles'] = styles + + _query_params.append(('styles', styles)) + if time is not None: - _path_params['time'] = time + + _query_params.append(('time', time)) + if transparent is not None: - _path_params['transparent'] = transparent + + _query_params.append(('transparent', transparent)) + if version is not None: - _path_params['version'] = version.value + + _query_params.append(('version', version.value)) + if width is not None: - _path_params['width'] = width - # process the query parameters + + _query_params.append(('width', width)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/typescript/dist/apis/OGCWCSApi.d.ts b/typescript/dist/apis/OGCWCSApi.d.ts index a60b21dd..13c22c44 100644 --- a/typescript/dist/apis/OGCWCSApi.d.ts +++ b/typescript/dist/apis/OGCWCSApi.d.ts @@ -13,20 +13,20 @@ import * as runtime from '../runtime'; import type { GetCoverageFormat, WcsService, WcsVersion } from '../models/index'; export interface WcsHandlerRequest { workflow: string; - boundingbox: string; - format: GetCoverageFormat; - gridbasecrs: string; - gridoffsets: string; - gridorigin: string; - identifier: string; - identifiers: string; - nodatavalue: number | null; request: WcsHandlerRequestEnum; - resx: number | null; - resy: number | null; - service: WcsService; - time: string; - version: WcsVersion | null; + boundingbox?: string; + format?: GetCoverageFormat; + gridbasecrs?: string; + gridoffsets?: string; + gridorigin?: string; + identifier?: string; + identifiers?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + service?: WcsService; + time?: string; + version?: WcsVersion | null; } /** * diff --git a/typescript/dist/apis/OGCWCSApi.js b/typescript/dist/apis/OGCWCSApi.js index f2294525..b0813439 100644 --- a/typescript/dist/apis/OGCWCSApi.js +++ b/typescript/dist/apis/OGCWCSApi.js @@ -36,49 +36,52 @@ class OGCWCSApi extends runtime.BaseAPI { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); } - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); + const queryParameters = {}; + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; } - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['gridoffsets'] == null) { - throw new runtime.RequiredError('gridoffsets', 'Required parameter "gridoffsets" was null or undefined when calling wcsHandler().'); + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; } - if (requestParameters['gridorigin'] == null) { - throw new runtime.RequiredError('gridorigin', 'Required parameter "gridorigin" was null or undefined when calling wcsHandler().'); + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; } - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; } - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; } - if (requestParameters['nodatavalue'] == null) { - throw new runtime.RequiredError('nodatavalue', 'Required parameter "nodatavalue" was null or undefined when calling wcsHandler().'); + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; } - if (requestParameters['resx'] == null) { - throw new runtime.RequiredError('resx', 'Required parameter "resx" was null or undefined when calling wcsHandler().'); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['resy'] == null) { - throw new runtime.RequiredError('resy', 'Required parameter "resy" was null or undefined when calling wcsHandler().'); + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wcsHandler().'); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsHandler().'); + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -89,20 +92,6 @@ class OGCWCSApi extends runtime.BaseAPI { } let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"boundingbox"}}`, encodeURIComponent(String(requestParameters['boundingbox']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - urlPath = urlPath.replace(`{${"gridbasecrs"}}`, encodeURIComponent(String(requestParameters['gridbasecrs']))); - urlPath = urlPath.replace(`{${"gridoffsets"}}`, encodeURIComponent(String(requestParameters['gridoffsets']))); - urlPath = urlPath.replace(`{${"gridorigin"}}`, encodeURIComponent(String(requestParameters['gridorigin']))); - urlPath = urlPath.replace(`{${"identifier"}}`, encodeURIComponent(String(requestParameters['identifier']))); - urlPath = urlPath.replace(`{${"identifiers"}}`, encodeURIComponent(String(requestParameters['identifiers']))); - urlPath = urlPath.replace(`{${"nodatavalue"}}`, encodeURIComponent(String(requestParameters['nodatavalue']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"resx"}}`, encodeURIComponent(String(requestParameters['resx']))); - urlPath = urlPath.replace(`{${"resy"}}`, encodeURIComponent(String(requestParameters['resy']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts index d1a2389c..6a5080d3 100644 --- a/typescript/dist/apis/OGCWFSApi.d.ts +++ b/typescript/dist/apis/OGCWFSApi.d.ts @@ -13,18 +13,18 @@ import * as runtime from '../runtime'; import type { GeoJson, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; - bbox: string; request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; + bbox?: string; count?: number | null; filter?: string | null; namespaces?: string | null; propertyName?: string | null; resultType?: string | null; + service?: WfsService; sortBy?: string | null; srsName?: string | null; time?: string; + typeNames?: string; version?: WfsVersion | null; } /** diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js index dc7012f6..b1e0d649 100644 --- a/typescript/dist/apis/OGCWFSApi.js +++ b/typescript/dist/apis/OGCWFSApi.js @@ -37,18 +37,9 @@ class OGCWFSApi extends runtime.BaseAPI { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); - } if (requestParameters['request'] == null) { throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } const queryParameters = {}; if (requestParameters['bbox'] != null) { queryParameters['bbox'] = requestParameters['bbox']; diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts index 5ade52e1..1247b518 100644 --- a/typescript/dist/apis/OGCWMSApi.d.ts +++ b/typescript/dist/apis/OGCWMSApi.d.ts @@ -13,26 +13,26 @@ import * as runtime from '../runtime'; import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; export interface WmsHandlerRequest { workflow: string; - bbox: string; - bgcolor: string | null; - crs: string | null; - elevation: string | null; - exceptions: GetMapExceptionFormat | null; - format: GetCapabilitiesFormat | null; - height: number; - infoFormat: string | null; - layer: string; - layers: string; - queryLayers: string; request: WmsHandlerRequestEnum; - service: WmsService; - sld: string | null; - sldBody: string | null; - styles: string; - time: string; - transparent: boolean | null; - version: WmsVersion | null; - width: number; + bbox?: string; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + height?: number; + infoFormat?: string | null; + layer?: string; + layers?: string; + queryLayers?: string; + service?: WmsService; + sld?: string | null; + sldBody?: string | null; + styles?: string; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; + width?: number; } /** * diff --git a/typescript/dist/apis/OGCWMSApi.js b/typescript/dist/apis/OGCWMSApi.js index 5ff41082..8de9758d 100644 --- a/typescript/dist/apis/OGCWMSApi.js +++ b/typescript/dist/apis/OGCWMSApi.js @@ -36,67 +36,70 @@ class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); } - if (requestParameters['bgcolor'] == null) { - throw new runtime.RequiredError('bgcolor', 'Required parameter "bgcolor" was null or undefined when calling wmsHandler().'); + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['crs'] == null) { - throw new runtime.RequiredError('crs', 'Required parameter "crs" was null or undefined when calling wmsHandler().'); + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['elevation'] == null) { - throw new runtime.RequiredError('elevation', 'Required parameter "elevation" was null or undefined when calling wmsHandler().'); + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; } - if (requestParameters['exceptions'] == null) { - throw new runtime.RequiredError('exceptions', 'Required parameter "exceptions" was null or undefined when calling wmsHandler().'); + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsHandler().'); + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['infoFormat'] == null) { - throw new runtime.RequiredError('infoFormat', 'Required parameter "infoFormat" was null or undefined when calling wmsHandler().'); + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['sld'] == null) { - throw new runtime.RequiredError('sld', 'Required parameter "sld" was null or undefined when calling wmsHandler().'); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['sldBody'] == null) { - throw new runtime.RequiredError('sldBody', 'Required parameter "sldBody" was null or undefined when calling wmsHandler().'); + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wmsHandler().'); + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; } - if (requestParameters['transparent'] == null) { - throw new runtime.RequiredError('transparent', 'Required parameter "transparent" was null or undefined when calling wmsHandler().'); + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsHandler().'); + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; } - const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -107,26 +110,6 @@ class OGCWMSApi extends runtime.BaseAPI { } let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); - urlPath = urlPath.replace(`{${"bgcolor"}}`, encodeURIComponent(String(requestParameters['bgcolor']))); - urlPath = urlPath.replace(`{${"crs"}}`, encodeURIComponent(String(requestParameters['crs']))); - urlPath = urlPath.replace(`{${"elevation"}}`, encodeURIComponent(String(requestParameters['elevation']))); - urlPath = urlPath.replace(`{${"exceptions"}}`, encodeURIComponent(String(requestParameters['exceptions']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - urlPath = urlPath.replace(`{${"height"}}`, encodeURIComponent(String(requestParameters['height']))); - urlPath = urlPath.replace(`{${"info_format"}}`, encodeURIComponent(String(requestParameters['infoFormat']))); - urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); - urlPath = urlPath.replace(`{${"layers"}}`, encodeURIComponent(String(requestParameters['layers']))); - urlPath = urlPath.replace(`{${"query_layers"}}`, encodeURIComponent(String(requestParameters['queryLayers']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"sld"}}`, encodeURIComponent(String(requestParameters['sld']))); - urlPath = urlPath.replace(`{${"sld_body"}}`, encodeURIComponent(String(requestParameters['sldBody']))); - urlPath = urlPath.replace(`{${"styles"}}`, encodeURIComponent(String(requestParameters['styles']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"transparent"}}`, encodeURIComponent(String(requestParameters['transparent']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"width"}}`, encodeURIComponent(String(requestParameters['width']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/apis/OGCWCSApi.d.ts b/typescript/dist/esm/apis/OGCWCSApi.d.ts index a60b21dd..13c22c44 100644 --- a/typescript/dist/esm/apis/OGCWCSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWCSApi.d.ts @@ -13,20 +13,20 @@ import * as runtime from '../runtime'; import type { GetCoverageFormat, WcsService, WcsVersion } from '../models/index'; export interface WcsHandlerRequest { workflow: string; - boundingbox: string; - format: GetCoverageFormat; - gridbasecrs: string; - gridoffsets: string; - gridorigin: string; - identifier: string; - identifiers: string; - nodatavalue: number | null; request: WcsHandlerRequestEnum; - resx: number | null; - resy: number | null; - service: WcsService; - time: string; - version: WcsVersion | null; + boundingbox?: string; + format?: GetCoverageFormat; + gridbasecrs?: string; + gridoffsets?: string; + gridorigin?: string; + identifier?: string; + identifiers?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + service?: WcsService; + time?: string; + version?: WcsVersion | null; } /** * diff --git a/typescript/dist/esm/apis/OGCWCSApi.js b/typescript/dist/esm/apis/OGCWCSApi.js index 8559b84d..18651883 100644 --- a/typescript/dist/esm/apis/OGCWCSApi.js +++ b/typescript/dist/esm/apis/OGCWCSApi.js @@ -33,49 +33,52 @@ export class OGCWCSApi extends runtime.BaseAPI { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wcsHandler().'); } - if (requestParameters['boundingbox'] == null) { - throw new runtime.RequiredError('boundingbox', 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wcsHandler().'); + const queryParameters = {}; + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; } - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError('gridbasecrs', 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().'); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['gridoffsets'] == null) { - throw new runtime.RequiredError('gridoffsets', 'Required parameter "gridoffsets" was null or undefined when calling wcsHandler().'); + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; } - if (requestParameters['gridorigin'] == null) { - throw new runtime.RequiredError('gridorigin', 'Required parameter "gridorigin" was null or undefined when calling wcsHandler().'); + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; } - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError('identifier', 'Required parameter "identifier" was null or undefined when calling wcsHandler().'); + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; } - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError('identifiers', 'Required parameter "identifiers" was null or undefined when calling wcsHandler().'); + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; } - if (requestParameters['nodatavalue'] == null) { - throw new runtime.RequiredError('nodatavalue', 'Required parameter "nodatavalue" was null or undefined when calling wcsHandler().'); + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wcsHandler().'); + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; } - if (requestParameters['resx'] == null) { - throw new runtime.RequiredError('resx', 'Required parameter "resx" was null or undefined when calling wcsHandler().'); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['resy'] == null) { - throw new runtime.RequiredError('resy', 'Required parameter "resy" was null or undefined when calling wcsHandler().'); + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wcsHandler().'); + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wcsHandler().'); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wcsHandler().'); + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; + } + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -86,20 +89,6 @@ export class OGCWCSApi extends runtime.BaseAPI { } let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"boundingbox"}}`, encodeURIComponent(String(requestParameters['boundingbox']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - urlPath = urlPath.replace(`{${"gridbasecrs"}}`, encodeURIComponent(String(requestParameters['gridbasecrs']))); - urlPath = urlPath.replace(`{${"gridoffsets"}}`, encodeURIComponent(String(requestParameters['gridoffsets']))); - urlPath = urlPath.replace(`{${"gridorigin"}}`, encodeURIComponent(String(requestParameters['gridorigin']))); - urlPath = urlPath.replace(`{${"identifier"}}`, encodeURIComponent(String(requestParameters['identifier']))); - urlPath = urlPath.replace(`{${"identifiers"}}`, encodeURIComponent(String(requestParameters['identifiers']))); - urlPath = urlPath.replace(`{${"nodatavalue"}}`, encodeURIComponent(String(requestParameters['nodatavalue']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"resx"}}`, encodeURIComponent(String(requestParameters['resx']))); - urlPath = urlPath.replace(`{${"resy"}}`, encodeURIComponent(String(requestParameters['resy']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts index d1a2389c..6a5080d3 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWFSApi.d.ts @@ -13,18 +13,18 @@ import * as runtime from '../runtime'; import type { GeoJson, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; - bbox: string; request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; + bbox?: string; count?: number | null; filter?: string | null; namespaces?: string | null; propertyName?: string | null; resultType?: string | null; + service?: WfsService; sortBy?: string | null; srsName?: string | null; time?: string; + typeNames?: string; version?: WfsVersion | null; } /** diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js index 7c2f7ee0..0be6e156 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.js +++ b/typescript/dist/esm/apis/OGCWFSApi.js @@ -34,18 +34,9 @@ export class OGCWFSApi extends runtime.BaseAPI { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wfsHandler().'); } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wfsHandler().'); - } if (requestParameters['request'] == null) { throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wfsHandler().'); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wfsHandler().'); - } - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError('typeNames', 'Required parameter "typeNames" was null or undefined when calling wfsHandler().'); - } const queryParameters = {}; if (requestParameters['bbox'] != null) { queryParameters['bbox'] = requestParameters['bbox']; diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts index 5ade52e1..1247b518 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWMSApi.d.ts @@ -13,26 +13,26 @@ import * as runtime from '../runtime'; import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; export interface WmsHandlerRequest { workflow: string; - bbox: string; - bgcolor: string | null; - crs: string | null; - elevation: string | null; - exceptions: GetMapExceptionFormat | null; - format: GetCapabilitiesFormat | null; - height: number; - infoFormat: string | null; - layer: string; - layers: string; - queryLayers: string; request: WmsHandlerRequestEnum; - service: WmsService; - sld: string | null; - sldBody: string | null; - styles: string; - time: string; - transparent: boolean | null; - version: WmsVersion | null; - width: number; + bbox?: string; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + height?: number; + infoFormat?: string | null; + layer?: string; + layers?: string; + queryLayers?: string; + service?: WmsService; + sld?: string | null; + sldBody?: string | null; + styles?: string; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; + width?: number; } /** * diff --git a/typescript/dist/esm/apis/OGCWMSApi.js b/typescript/dist/esm/apis/OGCWMSApi.js index fb7426ea..fff8599c 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.js +++ b/typescript/dist/esm/apis/OGCWMSApi.js @@ -33,67 +33,70 @@ export class OGCWMSApi extends runtime.BaseAPI { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError('workflow', 'Required parameter "workflow" was null or undefined when calling wmsHandler().'); } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError('bbox', 'Required parameter "bbox" was null or undefined when calling wmsHandler().'); + if (requestParameters['request'] == null) { + throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); } - if (requestParameters['bgcolor'] == null) { - throw new runtime.RequiredError('bgcolor', 'Required parameter "bgcolor" was null or undefined when calling wmsHandler().'); + const queryParameters = {}; + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['crs'] == null) { - throw new runtime.RequiredError('crs', 'Required parameter "crs" was null or undefined when calling wmsHandler().'); + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['elevation'] == null) { - throw new runtime.RequiredError('elevation', 'Required parameter "elevation" was null or undefined when calling wmsHandler().'); + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; } - if (requestParameters['exceptions'] == null) { - throw new runtime.RequiredError('exceptions', 'Required parameter "exceptions" was null or undefined when calling wmsHandler().'); + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError('format', 'Required parameter "format" was null or undefined when calling wmsHandler().'); + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError('height', 'Required parameter "height" was null or undefined when calling wmsHandler().'); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['infoFormat'] == null) { - throw new runtime.RequiredError('infoFormat', 'Required parameter "infoFormat" was null or undefined when calling wmsHandler().'); + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError('layer', 'Required parameter "layer" was null or undefined when calling wmsHandler().'); + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError('layers', 'Required parameter "layers" was null or undefined when calling wmsHandler().'); + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError('queryLayers', 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().'); + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError('request', 'Required parameter "request" was null or undefined when calling wmsHandler().'); + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError('service', 'Required parameter "service" was null or undefined when calling wmsHandler().'); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['sld'] == null) { - throw new runtime.RequiredError('sld', 'Required parameter "sld" was null or undefined when calling wmsHandler().'); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['sldBody'] == null) { - throw new runtime.RequiredError('sldBody', 'Required parameter "sldBody" was null or undefined when calling wmsHandler().'); + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError('styles', 'Required parameter "styles" was null or undefined when calling wmsHandler().'); + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError('time', 'Required parameter "time" was null or undefined when calling wmsHandler().'); + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; } - if (requestParameters['transparent'] == null) { - throw new runtime.RequiredError('transparent', 'Required parameter "transparent" was null or undefined when calling wmsHandler().'); + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError('version', 'Required parameter "version" was null or undefined when calling wmsHandler().'); + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError('width', 'Required parameter "width" was null or undefined when calling wmsHandler().'); + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; } - const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; @@ -104,26 +107,6 @@ export class OGCWMSApi extends runtime.BaseAPI { } let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); - urlPath = urlPath.replace(`{${"bgcolor"}}`, encodeURIComponent(String(requestParameters['bgcolor']))); - urlPath = urlPath.replace(`{${"crs"}}`, encodeURIComponent(String(requestParameters['crs']))); - urlPath = urlPath.replace(`{${"elevation"}}`, encodeURIComponent(String(requestParameters['elevation']))); - urlPath = urlPath.replace(`{${"exceptions"}}`, encodeURIComponent(String(requestParameters['exceptions']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - urlPath = urlPath.replace(`{${"height"}}`, encodeURIComponent(String(requestParameters['height']))); - urlPath = urlPath.replace(`{${"info_format"}}`, encodeURIComponent(String(requestParameters['infoFormat']))); - urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); - urlPath = urlPath.replace(`{${"layers"}}`, encodeURIComponent(String(requestParameters['layers']))); - urlPath = urlPath.replace(`{${"query_layers"}}`, encodeURIComponent(String(requestParameters['queryLayers']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"sld"}}`, encodeURIComponent(String(requestParameters['sld']))); - urlPath = urlPath.replace(`{${"sld_body"}}`, encodeURIComponent(String(requestParameters['sldBody']))); - urlPath = urlPath.replace(`{${"styles"}}`, encodeURIComponent(String(requestParameters['styles']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"transparent"}}`, encodeURIComponent(String(requestParameters['transparent']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"width"}}`, encodeURIComponent(String(requestParameters['width']))); const response = yield this.request({ path: urlPath, method: 'GET', diff --git a/typescript/docs/OGCWCSApi.md b/typescript/docs/OGCWCSApi.md index b8483c88..b190afc5 100644 --- a/typescript/docs/OGCWCSApi.md +++ b/typescript/docs/OGCWCSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wcsHandler -> string wcsHandler(workflow, boundingbox, format, gridbasecrs, gridoffsets, gridorigin, identifier, identifiers, nodatavalue, request, resx, resy, service, time, version) +> string wcsHandler(workflow, request, boundingbox, format, gridbasecrs, gridoffsets, gridorigin, identifier, identifiers, nodatavalue, resx, resy, service, time, version) OGC WCS endpoint @@ -34,33 +34,33 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // string + // 'GetCapabilGetCapabilitiesities' | 'DescribeCoverage' | 'GetCoverage' | type of WMS request + request: request_example, + // string (optional) boundingbox: -90,-180,90,180,urn:ogc:def:crs:EPSG::4326, - // GetCoverageFormat + // GetCoverageFormat (optional) format: ..., - // string + // string (optional) gridbasecrs: urn:ogc:def:crs:EPSG::4326, - // string + // string (optional) gridoffsets: -0.1,0.1, - // string + // string (optional) gridorigin: 90,-180, - // string + // string (optional) identifier: , - // string + // string (optional) identifiers: , - // number + // number (optional) nodatavalue: 1.2, - // 'GetCapabilGetCapabilitiesities' | 'DescribeCoverage' | 'GetCoverage' | type of WMS request - request: request_example, - // number + // number (optional) resx: 1.2, - // number + // number (optional) resy: 1.2, - // WcsService + // WcsService (optional) service: ..., - // string + // string (optional) time: time_example, - // WcsVersion + // WcsVersion (optional) version: ..., } satisfies WcsHandlerRequest; @@ -82,20 +82,20 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **boundingbox** | `string` | | [Defaults to `undefined`] | -| **format** | `GetCoverageFormat` | | [Defaults to `undefined`] [Enum: image/tiff] | -| **gridbasecrs** | `string` | | [Defaults to `undefined`] | -| **gridoffsets** | `string` | | [Defaults to `undefined`] | -| **gridorigin** | `string` | | [Defaults to `undefined`] | -| **identifier** | `string` | | [Defaults to `undefined`] | -| **identifiers** | `string` | | [Defaults to `undefined`] | -| **nodatavalue** | `number` | | [Defaults to `undefined`] | | **request** | `GetCapabilGetCapabilitiesities`, `DescribeCoverage`, `GetCoverage` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilGetCapabilitiesities, DescribeCoverage, GetCoverage] | -| **resx** | `number` | | [Defaults to `undefined`] | -| **resy** | `number` | | [Defaults to `undefined`] | -| **service** | `WcsService` | | [Defaults to `undefined`] [Enum: WCS] | -| **time** | `string` | | [Defaults to `undefined`] | -| **version** | `WcsVersion` | | [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | +| **boundingbox** | `string` | | [Optional] [Defaults to `undefined`] | +| **format** | `GetCoverageFormat` | | [Optional] [Defaults to `undefined`] [Enum: image/tiff] | +| **gridbasecrs** | `string` | | [Optional] [Defaults to `undefined`] | +| **gridoffsets** | `string` | | [Optional] [Defaults to `undefined`] | +| **gridorigin** | `string` | | [Optional] [Defaults to `undefined`] | +| **identifier** | `string` | | [Optional] [Defaults to `undefined`] | +| **identifiers** | `string` | | [Optional] [Defaults to `undefined`] | +| **nodatavalue** | `number` | | [Optional] [Defaults to `undefined`] | +| **resx** | `number` | | [Optional] [Defaults to `undefined`] | +| **resy** | `number` | | [Optional] [Defaults to `undefined`] | +| **service** | `WcsService` | | [Optional] [Defaults to `undefined`] [Enum: WCS] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **version** | `WcsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.1.0, 1.1.1] | ### Return type diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index 8b4d1b71..a1539b53 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wfsHandler -> GeoJson wfsHandler(workflow, bbox, request, service, typeNames, count, filter, namespaces, propertyName, resultType, sortBy, srsName, time, version) +> GeoJson wfsHandler(workflow, request, bbox, count, filter, namespaces, propertyName, resultType, service, sortBy, srsName, time, typeNames, version) OGC WFS endpoint @@ -34,14 +34,10 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // string - bbox: -90,-180,90,180, // 'GetCapabilities' | 'GetFeature' | type of WFS request request: request_example, - // WfsService - service: ..., - // string - typeNames: , + // string (optional) + bbox: -90,-180,90,180, // number (optional) count: 789, // string (optional) @@ -52,12 +48,16 @@ async function example() { propertyName: propertyName_example, // string (optional) resultType: resultType_example, + // WfsService (optional) + service: ..., // string (optional) sortBy: sortBy_example, // string (optional) srsName: EPSG:4326, // string (optional) time: 2014-04-01T12:00:00.000Z, + // string (optional) + typeNames: , // WfsVersion (optional) version: ..., } satisfies WfsHandlerRequest; @@ -80,18 +80,18 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **bbox** | `string` | | [Defaults to `undefined`] | | **request** | `GetCapabilities`, `GetFeature` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | -| **service** | `WfsService` | | [Defaults to `undefined`] [Enum: WFS] | -| **typeNames** | `string` | | [Defaults to `undefined`] | +| **bbox** | `string` | | [Optional] [Defaults to `undefined`] | | **count** | `number` | | [Optional] [Defaults to `undefined`] | | **filter** | `string` | | [Optional] [Defaults to `undefined`] | | **namespaces** | `string` | | [Optional] [Defaults to `undefined`] | | **propertyName** | `string` | | [Optional] [Defaults to `undefined`] | | **resultType** | `string` | | [Optional] [Defaults to `undefined`] | +| **service** | `WfsService` | | [Optional] [Defaults to `undefined`] [Enum: WFS] | | **sortBy** | `string` | | [Optional] [Defaults to `undefined`] | | **srsName** | `string` | | [Optional] [Defaults to `undefined`] | | **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **typeNames** | `string` | | [Optional] [Defaults to `undefined`] | | **version** | `WfsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 2.0.0] | ### Return type diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index 7961a011..9a3e48d2 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *http://127.0.0.1:3030/api* ## wmsHandler -> string wmsHandler(workflow, bbox, bgcolor, crs, elevation, exceptions, format, height, infoFormat, layer, layers, queryLayers, request, service, sld, sldBody, styles, time, transparent, version, width) +> string wmsHandler(workflow, request, bbox, bgcolor, crs, elevation, exceptions, format, height, infoFormat, layer, layers, queryLayers, service, sld, sldBody, styles, time, transparent, version, width) OGC WMS endpoint @@ -34,45 +34,45 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // string + // 'GetCapabilities' | 'GetMap' | 'GetFeatureInfo' | 'GetStyles' | 'GetLegendGraphic' | type of WMS request + request: request_example, + // string (optional) bbox: -90,-180,90,180, - // string + // string (optional) bgcolor: bgcolor_example, - // string + // string (optional) crs: EPSG:4326, - // string + // string (optional) elevation: elevation_example, - // GetMapExceptionFormat + // GetMapExceptionFormat (optional) exceptions: ..., - // GetCapabilitiesFormat + // GetCapabilitiesFormat (optional) format: ..., - // number + // number (optional) height: 256, - // string + // string (optional) infoFormat: infoFormat_example, - // string + // string (optional) layer: layer_example, - // string + // string (optional) layers: , - // string + // string (optional) queryLayers: queryLayers_example, - // 'GetCapabilities' | 'GetMap' | 'GetFeatureInfo' | 'GetStyles' | 'GetLegendGraphic' | type of WMS request - request: request_example, - // WmsService + // WmsService (optional) service: ..., - // string + // string (optional) sld: sld_example, - // string + // string (optional) sldBody: sldBody_example, - // string + // string (optional) styles: custom:{"type":"linearGradient","breakpoints":[{"value":1,"color":[0,0,0,255]},{"value":255,"color":[255,255,255,255]}],"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}, - // string + // string (optional) time: 2014-04-01T12:00:00.000Z, - // boolean + // boolean (optional) transparent: true, - // WmsVersion + // WmsVersion (optional) version: ..., - // number + // number (optional) width: 512, } satisfies WmsHandlerRequest; @@ -94,26 +94,26 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **bbox** | `string` | | [Defaults to `undefined`] | -| **bgcolor** | `string` | | [Defaults to `undefined`] | -| **crs** | `string` | | [Defaults to `undefined`] | -| **elevation** | `string` | | [Defaults to `undefined`] | -| **exceptions** | `GetMapExceptionFormat` | | [Defaults to `undefined`] [Enum: XML, JSON] | -| **format** | `GetCapabilitiesFormat` | | [Defaults to `undefined`] [Enum: text/xml] | -| **height** | `number` | | [Defaults to `undefined`] | -| **infoFormat** | `string` | | [Defaults to `undefined`] | -| **layer** | `string` | | [Defaults to `undefined`] | -| **layers** | `string` | | [Defaults to `undefined`] | -| **queryLayers** | `string` | | [Defaults to `undefined`] | | **request** | `GetCapabilities`, `GetMap`, `GetFeatureInfo`, `GetStyles`, `GetLegendGraphic` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetMap, GetFeatureInfo, GetStyles, GetLegendGraphic] | -| **service** | `WmsService` | | [Defaults to `undefined`] [Enum: WMS] | -| **sld** | `string` | | [Defaults to `undefined`] | -| **sldBody** | `string` | | [Defaults to `undefined`] | -| **styles** | `string` | | [Defaults to `undefined`] | -| **time** | `string` | | [Defaults to `undefined`] | -| **transparent** | `boolean` | | [Defaults to `undefined`] | -| **version** | `WmsVersion` | | [Defaults to `undefined`] [Enum: 1.3.0] | -| **width** | `number` | | [Defaults to `undefined`] | +| **bbox** | `string` | | [Optional] [Defaults to `undefined`] | +| **bgcolor** | `string` | | [Optional] [Defaults to `undefined`] | +| **crs** | `string` | | [Optional] [Defaults to `undefined`] | +| **elevation** | `string` | | [Optional] [Defaults to `undefined`] | +| **exceptions** | `GetMapExceptionFormat` | | [Optional] [Defaults to `undefined`] [Enum: XML, JSON] | +| **format** | `GetCapabilitiesFormat` | | [Optional] [Defaults to `undefined`] [Enum: text/xml] | +| **height** | `number` | | [Optional] [Defaults to `undefined`] | +| **infoFormat** | `string` | | [Optional] [Defaults to `undefined`] | +| **layer** | `string` | | [Optional] [Defaults to `undefined`] | +| **layers** | `string` | | [Optional] [Defaults to `undefined`] | +| **queryLayers** | `string` | | [Optional] [Defaults to `undefined`] | +| **service** | `WmsService` | | [Optional] [Defaults to `undefined`] [Enum: WMS] | +| **sld** | `string` | | [Optional] [Defaults to `undefined`] | +| **sldBody** | `string` | | [Optional] [Defaults to `undefined`] | +| **styles** | `string` | | [Optional] [Defaults to `undefined`] | +| **time** | `string` | | [Optional] [Defaults to `undefined`] | +| **transparent** | `boolean` | | [Optional] [Defaults to `undefined`] | +| **version** | `WmsVersion` | | [Optional] [Defaults to `undefined`] [Enum: 1.3.0] | +| **width** | `number` | | [Optional] [Defaults to `undefined`] | ### Return type diff --git a/typescript/src/apis/OGCWCSApi.ts b/typescript/src/apis/OGCWCSApi.ts index 5b3f85d3..9b12ad67 100644 --- a/typescript/src/apis/OGCWCSApi.ts +++ b/typescript/src/apis/OGCWCSApi.ts @@ -30,20 +30,20 @@ import { export interface WcsHandlerRequest { workflow: string; - boundingbox: string; - format: GetCoverageFormat; - gridbasecrs: string; - gridoffsets: string; - gridorigin: string; - identifier: string; - identifiers: string; - nodatavalue: number | null; request: WcsHandlerRequestEnum; - resx: number | null; - resy: number | null; - service: WcsService; - time: string; - version: WcsVersion | null; + boundingbox?: string; + format?: GetCoverageFormat; + gridbasecrs?: string; + gridoffsets?: string; + gridorigin?: string; + identifier?: string; + identifiers?: string; + nodatavalue?: number | null; + resx?: number | null; + resy?: number | null; + service?: WcsService; + time?: string; + version?: WcsVersion | null; } /** @@ -62,105 +62,70 @@ export class OGCWCSApi extends runtime.BaseAPI { ); } - if (requestParameters['boundingbox'] == null) { + if (requestParameters['request'] == null) { throw new runtime.RequiredError( - 'boundingbox', - 'Required parameter "boundingbox" was null or undefined when calling wcsHandler().' + 'request', + 'Required parameter "request" was null or undefined when calling wcsHandler().' ); } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError( - 'format', - 'Required parameter "format" was null or undefined when calling wcsHandler().' - ); + const queryParameters: any = {}; + + if (requestParameters['boundingbox'] != null) { + queryParameters['boundingbox'] = requestParameters['boundingbox']; } - if (requestParameters['gridbasecrs'] == null) { - throw new runtime.RequiredError( - 'gridbasecrs', - 'Required parameter "gridbasecrs" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['gridoffsets'] == null) { - throw new runtime.RequiredError( - 'gridoffsets', - 'Required parameter "gridoffsets" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['gridbasecrs'] != null) { + queryParameters['gridbasecrs'] = requestParameters['gridbasecrs']; } - if (requestParameters['gridorigin'] == null) { - throw new runtime.RequiredError( - 'gridorigin', - 'Required parameter "gridorigin" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['gridoffsets'] != null) { + queryParameters['gridoffsets'] = requestParameters['gridoffsets']; } - if (requestParameters['identifier'] == null) { - throw new runtime.RequiredError( - 'identifier', - 'Required parameter "identifier" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['gridorigin'] != null) { + queryParameters['gridorigin'] = requestParameters['gridorigin']; } - if (requestParameters['identifiers'] == null) { - throw new runtime.RequiredError( - 'identifiers', - 'Required parameter "identifiers" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['identifier'] != null) { + queryParameters['identifier'] = requestParameters['identifier']; } - if (requestParameters['nodatavalue'] == null) { - throw new runtime.RequiredError( - 'nodatavalue', - 'Required parameter "nodatavalue" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['identifiers'] != null) { + queryParameters['identifiers'] = requestParameters['identifiers']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['nodatavalue'] != null) { + queryParameters['nodatavalue'] = requestParameters['nodatavalue']; } - if (requestParameters['resx'] == null) { - throw new runtime.RequiredError( - 'resx', - 'Required parameter "resx" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['resy'] == null) { - throw new runtime.RequiredError( - 'resy', - 'Required parameter "resy" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['resx'] != null) { + queryParameters['resx'] = requestParameters['resx']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['resy'] != null) { + queryParameters['resy'] = requestParameters['resy']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError( - 'time', - 'Required parameter "time" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wcsHandler().' - ); + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; } - const queryParameters: any = {}; + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; + } const headerParameters: runtime.HTTPHeaders = {}; @@ -175,20 +140,6 @@ export class OGCWCSApi extends runtime.BaseAPI { let urlPath = `/wcs/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"boundingbox"}}`, encodeURIComponent(String(requestParameters['boundingbox']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - urlPath = urlPath.replace(`{${"gridbasecrs"}}`, encodeURIComponent(String(requestParameters['gridbasecrs']))); - urlPath = urlPath.replace(`{${"gridoffsets"}}`, encodeURIComponent(String(requestParameters['gridoffsets']))); - urlPath = urlPath.replace(`{${"gridorigin"}}`, encodeURIComponent(String(requestParameters['gridorigin']))); - urlPath = urlPath.replace(`{${"identifier"}}`, encodeURIComponent(String(requestParameters['identifier']))); - urlPath = urlPath.replace(`{${"identifiers"}}`, encodeURIComponent(String(requestParameters['identifiers']))); - urlPath = urlPath.replace(`{${"nodatavalue"}}`, encodeURIComponent(String(requestParameters['nodatavalue']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"resx"}}`, encodeURIComponent(String(requestParameters['resx']))); - urlPath = urlPath.replace(`{${"resy"}}`, encodeURIComponent(String(requestParameters['resy']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); const response = await this.request({ path: urlPath, diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts index dc11ae68..2b7226e8 100644 --- a/typescript/src/apis/OGCWFSApi.ts +++ b/typescript/src/apis/OGCWFSApi.ts @@ -30,18 +30,18 @@ import { export interface WfsHandlerRequest { workflow: string; - bbox: string; request: WfsHandlerRequestEnum; - service: WfsService; - typeNames: string; + bbox?: string; count?: number | null; filter?: string | null; namespaces?: string | null; propertyName?: string | null; resultType?: string | null; + service?: WfsService; sortBy?: string | null; srsName?: string | null; time?: string; + typeNames?: string; version?: WfsVersion | null; } @@ -61,13 +61,6 @@ export class OGCWFSApi extends runtime.BaseAPI { ); } - if (requestParameters['bbox'] == null) { - throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wfsHandler().' - ); - } - if (requestParameters['request'] == null) { throw new runtime.RequiredError( 'request', @@ -75,20 +68,6 @@ export class OGCWFSApi extends runtime.BaseAPI { ); } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wfsHandler().' - ); - } - - if (requestParameters['typeNames'] == null) { - throw new runtime.RequiredError( - 'typeNames', - 'Required parameter "typeNames" was null or undefined when calling wfsHandler().' - ); - } - const queryParameters: any = {}; if (requestParameters['bbox'] != null) { diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts index 6cafb776..9e98a00b 100644 --- a/typescript/src/apis/OGCWMSApi.ts +++ b/typescript/src/apis/OGCWMSApi.ts @@ -33,26 +33,26 @@ import { export interface WmsHandlerRequest { workflow: string; - bbox: string; - bgcolor: string | null; - crs: string | null; - elevation: string | null; - exceptions: GetMapExceptionFormat | null; - format: GetCapabilitiesFormat | null; - height: number; - infoFormat: string | null; - layer: string; - layers: string; - queryLayers: string; request: WmsHandlerRequestEnum; - service: WmsService; - sld: string | null; - sldBody: string | null; - styles: string; - time: string; - transparent: boolean | null; - version: WmsVersion | null; - width: number; + bbox?: string; + bgcolor?: string | null; + crs?: string | null; + elevation?: string | null; + exceptions?: GetMapExceptionFormat | null; + format?: GetCapabilitiesFormat | null; + height?: number; + infoFormat?: string | null; + layer?: string; + layers?: string; + queryLayers?: string; + service?: WmsService; + sld?: string | null; + sldBody?: string | null; + styles?: string; + time?: string; + transparent?: boolean | null; + version?: WmsVersion | null; + width?: number; } /** @@ -71,147 +71,94 @@ export class OGCWMSApi extends runtime.BaseAPI { ); } - if (requestParameters['bbox'] == null) { + if (requestParameters['request'] == null) { throw new runtime.RequiredError( - 'bbox', - 'Required parameter "bbox" was null or undefined when calling wmsHandler().' + 'request', + 'Required parameter "request" was null or undefined when calling wmsHandler().' ); } - if (requestParameters['bgcolor'] == null) { - throw new runtime.RequiredError( - 'bgcolor', - 'Required parameter "bgcolor" was null or undefined when calling wmsHandler().' - ); + const queryParameters: any = {}; + + if (requestParameters['bbox'] != null) { + queryParameters['bbox'] = requestParameters['bbox']; } - if (requestParameters['crs'] == null) { - throw new runtime.RequiredError( - 'crs', - 'Required parameter "crs" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['bgcolor'] != null) { + queryParameters['bgcolor'] = requestParameters['bgcolor']; } - if (requestParameters['elevation'] == null) { - throw new runtime.RequiredError( - 'elevation', - 'Required parameter "elevation" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['crs'] != null) { + queryParameters['crs'] = requestParameters['crs']; } - if (requestParameters['exceptions'] == null) { - throw new runtime.RequiredError( - 'exceptions', - 'Required parameter "exceptions" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['elevation'] != null) { + queryParameters['elevation'] = requestParameters['elevation']; } - if (requestParameters['format'] == null) { - throw new runtime.RequiredError( - 'format', - 'Required parameter "format" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['exceptions'] != null) { + queryParameters['exceptions'] = requestParameters['exceptions']; } - if (requestParameters['height'] == null) { - throw new runtime.RequiredError( - 'height', - 'Required parameter "height" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['format'] != null) { + queryParameters['format'] = requestParameters['format']; } - if (requestParameters['infoFormat'] == null) { - throw new runtime.RequiredError( - 'infoFormat', - 'Required parameter "infoFormat" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['height'] != null) { + queryParameters['height'] = requestParameters['height']; } - if (requestParameters['layer'] == null) { - throw new runtime.RequiredError( - 'layer', - 'Required parameter "layer" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['infoFormat'] != null) { + queryParameters['info_format'] = requestParameters['infoFormat']; } - if (requestParameters['layers'] == null) { - throw new runtime.RequiredError( - 'layers', - 'Required parameter "layers" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['layer'] != null) { + queryParameters['layer'] = requestParameters['layer']; } - if (requestParameters['queryLayers'] == null) { - throw new runtime.RequiredError( - 'queryLayers', - 'Required parameter "queryLayers" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['layers'] != null) { + queryParameters['layers'] = requestParameters['layers']; } - if (requestParameters['request'] == null) { - throw new runtime.RequiredError( - 'request', - 'Required parameter "request" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['queryLayers'] != null) { + queryParameters['query_layers'] = requestParameters['queryLayers']; } - if (requestParameters['service'] == null) { - throw new runtime.RequiredError( - 'service', - 'Required parameter "service" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['request'] != null) { + queryParameters['request'] = requestParameters['request']; } - if (requestParameters['sld'] == null) { - throw new runtime.RequiredError( - 'sld', - 'Required parameter "sld" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['service'] != null) { + queryParameters['service'] = requestParameters['service']; } - if (requestParameters['sldBody'] == null) { - throw new runtime.RequiredError( - 'sldBody', - 'Required parameter "sldBody" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['sld'] != null) { + queryParameters['sld'] = requestParameters['sld']; } - if (requestParameters['styles'] == null) { - throw new runtime.RequiredError( - 'styles', - 'Required parameter "styles" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['sldBody'] != null) { + queryParameters['sld_body'] = requestParameters['sldBody']; } - if (requestParameters['time'] == null) { - throw new runtime.RequiredError( - 'time', - 'Required parameter "time" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['styles'] != null) { + queryParameters['styles'] = requestParameters['styles']; } - if (requestParameters['transparent'] == null) { - throw new runtime.RequiredError( - 'transparent', - 'Required parameter "transparent" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['time'] != null) { + queryParameters['time'] = requestParameters['time']; } - if (requestParameters['version'] == null) { - throw new runtime.RequiredError( - 'version', - 'Required parameter "version" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['transparent'] != null) { + queryParameters['transparent'] = requestParameters['transparent']; } - if (requestParameters['width'] == null) { - throw new runtime.RequiredError( - 'width', - 'Required parameter "width" was null or undefined when calling wmsHandler().' - ); + if (requestParameters['version'] != null) { + queryParameters['version'] = requestParameters['version']; } - const queryParameters: any = {}; + if (requestParameters['width'] != null) { + queryParameters['width'] = requestParameters['width']; + } const headerParameters: runtime.HTTPHeaders = {}; @@ -226,26 +173,6 @@ export class OGCWMSApi extends runtime.BaseAPI { let urlPath = `/wms/{workflow}`; urlPath = urlPath.replace(`{${"workflow"}}`, encodeURIComponent(String(requestParameters['workflow']))); - urlPath = urlPath.replace(`{${"bbox"}}`, encodeURIComponent(String(requestParameters['bbox']))); - urlPath = urlPath.replace(`{${"bgcolor"}}`, encodeURIComponent(String(requestParameters['bgcolor']))); - urlPath = urlPath.replace(`{${"crs"}}`, encodeURIComponent(String(requestParameters['crs']))); - urlPath = urlPath.replace(`{${"elevation"}}`, encodeURIComponent(String(requestParameters['elevation']))); - urlPath = urlPath.replace(`{${"exceptions"}}`, encodeURIComponent(String(requestParameters['exceptions']))); - urlPath = urlPath.replace(`{${"format"}}`, encodeURIComponent(String(requestParameters['format']))); - urlPath = urlPath.replace(`{${"height"}}`, encodeURIComponent(String(requestParameters['height']))); - urlPath = urlPath.replace(`{${"info_format"}}`, encodeURIComponent(String(requestParameters['infoFormat']))); - urlPath = urlPath.replace(`{${"layer"}}`, encodeURIComponent(String(requestParameters['layer']))); - urlPath = urlPath.replace(`{${"layers"}}`, encodeURIComponent(String(requestParameters['layers']))); - urlPath = urlPath.replace(`{${"query_layers"}}`, encodeURIComponent(String(requestParameters['queryLayers']))); - urlPath = urlPath.replace(`{${"request"}}`, encodeURIComponent(String(requestParameters['request']))); - urlPath = urlPath.replace(`{${"service"}}`, encodeURIComponent(String(requestParameters['service']))); - urlPath = urlPath.replace(`{${"sld"}}`, encodeURIComponent(String(requestParameters['sld']))); - urlPath = urlPath.replace(`{${"sld_body"}}`, encodeURIComponent(String(requestParameters['sldBody']))); - urlPath = urlPath.replace(`{${"styles"}}`, encodeURIComponent(String(requestParameters['styles']))); - urlPath = urlPath.replace(`{${"time"}}`, encodeURIComponent(String(requestParameters['time']))); - urlPath = urlPath.replace(`{${"transparent"}}`, encodeURIComponent(String(requestParameters['transparent']))); - urlPath = urlPath.replace(`{${"version"}}`, encodeURIComponent(String(requestParameters['version']))); - urlPath = urlPath.replace(`{${"width"}}`, encodeURIComponent(String(requestParameters['width']))); const response = await this.request({ path: urlPath, From b490fb06d800cf5737aaf0abf111abbc956d94f9 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Wed, 26 Nov 2025 10:31:00 +0100 Subject: [PATCH 09/15] update base path --- .generation/input/openapi.json | 11158 +++++++++++++++- python/README.md | 6 +- .../geoengine_openapi_client/configuration.py | 10 +- typescript/README.md | 4 +- typescript/dist/esm/runtime.js | 2 +- typescript/dist/runtime.js | 2 +- typescript/docs/DatasetsApi.md | 2 +- typescript/docs/GeneralApi.md | 2 +- typescript/docs/LayersApi.md | 2 +- typescript/docs/MLApi.md | 2 +- typescript/docs/OGCWCSApi.md | 2 +- typescript/docs/OGCWFSApi.md | 2 +- typescript/docs/OGCWMSApi.md | 2 +- typescript/docs/PermissionsApi.md | 2 +- typescript/docs/PlotsApi.md | 2 +- typescript/docs/ProjectsApi.md | 2 +- typescript/docs/SessionApi.md | 2 +- typescript/docs/SpatialReferencesApi.md | 2 +- typescript/docs/TasksApi.md | 2 +- typescript/docs/UploadsApi.md | 2 +- typescript/docs/UserApi.md | 2 +- typescript/docs/WorkflowsApi.md | 2 +- typescript/src/runtime.ts | 2 +- 23 files changed, 11189 insertions(+), 27 deletions(-) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index fb114c6d..a5994237 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1,11157 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":false,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":false,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":false,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":false,"schema":{"type":"string"}},{"name":"layers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":false,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":false,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{ + "openapi": "3.1.0", + "info": { + "title": "Geo Engine API", + "description": "", + "contact": { + "name": "Geo Engine Developers", + "email": "dev@geoengine.de" + }, + "license": { + "name": "Apache-2.0", + "url": "https://github.com/geo-engine/geoengine/blob/main/LICENSE" + }, + "version": "0.9.0" + }, + "servers": [ + { + "url": "{server}/api", + "variables": { + "server": { + "default": "https://geoengine.io" + } + } + } + ], + "paths": { + "/anonymous": { + "post": { + "tags": [ + "Session" + ], + "summary": "Creates session for anonymous user. The session's id serves as a Bearer token for requests.", + "operationId": "anonymous_handler", + "responses": { + "200": { + "description": "The created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": null, + "realName": null + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null, + "roles": [ + "8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a", + "fd8e87bf-515c-4f36-8da6-1a53702ff102" + ] + } + } + } + } + } + } + }, + "/available": { + "get": { + "tags": [ + "General" + ], + "summary": "Server availablity check.", + "operationId": "available_handler", + "responses": { + "204": { + "description": "Server availablity check" + } + } + } + }, + "/dataset": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.", + "operationId": "create_dataset_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetNameResponse" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/auto": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.", + "operationId": "auto_create_dataset_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoCreateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetNameResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Body is invalid json": { + "value": { + "error": "BodyDeserializeError", + "message": "expected `,` or `}` at line 13 column 7" + } + }, + "Dataset has no auto-importable layer": { + "value": { + "error": "DatasetHasNoAutoImportableLayer", + "message": "Dataset has no auto importable layer" + } + }, + "Dataset name is empty": { + "value": { + "error": "InvalidDatasetName", + "message": "Invalid dataset name" + } + }, + "Failed to read body": { + "value": { + "error": "Payload", + "message": "Error that occur during reading payload: Can not decode content-encoding." + } + }, + "File does not exist": { + "value": { + "error": "GdalError", + "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" + } + }, + "Referenced an unknown upload": { + "value": { + "error": "UnknownUploadId", + "message": "Unknown upload id" + } + }, + "Upload filename is invalid": { + "value": { + "error": "InvalidUploadFileName", + "message": "Invalid upload file name" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + }, + "413": { + "$ref": "#/components/responses/PayloadTooLargeResponse" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaTypeForJsonResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/suggest": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.", + "operationId": "suggest_meta_data_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuggestMetaData" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetaDataSuggestion" + }, + "example": { + "mainFile": "germany_polygon.gpkg", + "metaData": { + "type": "OgrMetaData", + "loadingInfo": { + "fileName": "upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg", + "layerName": "test_germany", + "dataType": "MultiPolygon", + "time": { + "type": "none" + }, + "defaultGeometry": null, + "columns": { + "formatSpecifics": null, + "x": "", + "y": null, + "int": [], + "float": [], + "text": [], + "bool": [], + "datetime": [], + "rename": null + }, + "forceOgrTimeFilter": false, + "forceOgrSpatialFilter": false, + "onError": "ignore", + "sqlQuery": null, + "attributeQuery": null + }, + "resultDescriptor": { + "dataType": "MultiPolygon", + "spatialReference": "EPSG:4326", + "columns": {}, + "time": null, + "bbox": null + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Dataset has no auto-importable layer": { + "value": { + "error": "DatasetHasNoAutoImportableLayer", + "message": "Dataset has no auto importable layer" + } + }, + "File does not exist": { + "value": { + "error": "GdalError", + "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" + } + }, + "Missing field in query string": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: missing field `offset`" + } + }, + "No suitable mainfile found": { + "value": { + "error": "NoMainFileCandidateFound", + "message": "No main file candidate found" + } + }, + "Number in query string contains letters": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: invalid digit found in string" + } + }, + "Referenced an unknown upload": { + "value": { + "error": "UnknownUploadId", + "message": "Unknown upload id" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/volumes": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Lists available volumes.", + "operationId": "list_volumes_handler", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Volume" + } + }, + "example": [ + { + "name": "test_data", + "path": "./test_data/" + } + ] + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedAdminResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/volumes/{volume_name}/files/{file_name}/layers": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "List the layers of a file in a volume.", + "operationId": "list_volume_file_layers_handler", + "parameters": [ + { + "name": "volume_name", + "in": "path", + "description": "Volume name", + "required": true, + "schema": { + "$ref": "#/components/schemas/VolumeName" + } + }, + { + "name": "file_name", + "in": "path", + "description": "File name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VolumeFileLayersResponse" + }, + "example": { + "layers": [ + "layer1", + "layer2" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Retrieves details about a dataset using the internal name.", + "operationId": "get_dataset_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dataset" + }, + "example": { + "id": { + "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" + }, + "name": "Germany", + "description": "Boundaries of Germany", + "resultDescriptor": { + "vector": { + "dataType": "MultiPolygon", + "spatialReference": "EPSG:4326", + "columns": {} + } + }, + "sourceOperator": "OgrSource" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Referenced an unknown dataset": { + "value": { + "error": "CannotLoadDataset", + "message": "CannotLoadDataset: UnknownDatasetName" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "Datasets" + ], + "summary": "Update details about a dataset using the internal name.", + "operationId": "update_dataset_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Referenced an unknown dataset": { + "value": { + "error": "CannotLoadDataset", + "message": "CannotLoadDataset: UnknownDatasetName" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Datasets" + ], + "summary": "Delete a dataset", + "operationId": "delete_dataset_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Given dataset can only be deleted by owner": { + "value": { + "error": "OperationRequiresOwnerPermission", + "message": "Operation requires owner permission" + } + }, + "Referenced an unknown dataset": { + "value": { + "error": "UnknownDatasetName", + "message": "Unknown dataset name" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/loadingInfo": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Retrieves the loading information of a dataset", + "operationId": "get_loading_info_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetaDataDefinition" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "put": { + "tags": [ + "Datasets" + ], + "summary": "Updates the dataset's loading info", + "operationId": "update_loading_info_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetaDataDefinition" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/provenance": { + "put": { + "tags": [ + "Datasets" + ], + "operationId": "update_dataset_provenance_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Provenances" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/symbology": { + "put": { + "tags": [ + "Datasets" + ], + "summary": "Updates the dataset's symbology", + "operationId": "update_dataset_symbology_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Symbology" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/tiles": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Add a tile to a gdal dataset.", + "operationId": "add_dataset_tiles_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoCreateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/datasetFromWorkflow/{id}": { + "post": { + "tags": [ + "Workflows" + ], + "summary": "Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task", + "operationId": "dataset_from_workflow_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RasterDatasetFromWorkflow" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Id of created task", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResponse" + }, + "example": { + "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/datasets": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Lists available datasets.", + "operationId": "list_datasets_handler", + "parameters": [ + { + "name": "filter", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "Germany" + }, + { + "name": "order", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrderBy" + }, + "example": "NameAsc" + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 2 + }, + { + "name": "tags", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "example": "['tag1', 'tag2']" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DatasetListing" + } + }, + "example": [ + { + "id": { + "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" + }, + "name": "Germany", + "description": "Boundaries of Germany", + "tags": [], + "sourceOperator": "OgrSource", + "resultDescriptor": { + "vector": { + "dataType": "MultiPolygon", + "spatialReference": "EPSG:4326", + "columns": {} + } + } + } + ] + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequestQueryResponse" + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/info": { + "get": { + "tags": [ + "General" + ], + "summary": "Shows information about the server software version.", + "operationId": "server_info_handler", + "responses": { + "200": { + "description": "Server software information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServerInfo" + }, + "example": { + "buildDate": "2022-09-29", + "commitHash": "555dc6d84d3682c37490a145d53c5097d0b81b27", + "version": "0.7.0", + "features": "default" + } + } + } + } + } + } + }, + "/layerDb/collections/{collection}": { + "put": { + "tags": [ + "Layers" + ], + "summary": "Update a collection", + "operationId": "update_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateLayerCollection" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Remove a collection", + "operationId": "remove_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{collection}/collections": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add a new collection to an existing collection", + "operationId": "add_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddLayerCollection" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{collection}/layers": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add a new layer to a collection", + "operationId": "add_layer", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddLayer" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{collection}/layers/{layer}": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add an existing layer to a collection", + "operationId": "add_existing_layer_to_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Remove a layer from a collection", + "operationId": "remove_layer_from_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{parent}/collections/{collection}": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add an existing collection to a collection", + "operationId": "add_existing_collection_to_collection", + "parameters": [ + { + "name": "parent", + "in": "path", + "description": "Parent layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Delete a collection from a collection", + "operationId": "remove_collection_from_collection", + "parameters": [ + { + "name": "parent", + "in": "path", + "description": "Parent layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/layers/{layer}": { + "put": { + "tags": [ + "Layers" + ], + "summary": "Update a layer", + "operationId": "update_layer", + "parameters": [ + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateLayer" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Remove a collection", + "operationId": "remove_layer", + "parameters": [ + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/providers": { + "get": { + "tags": [ + "Layers" + ], + "summary": "List all providers", + "operationId": "list_providers", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LayerProviderListing" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "Layers" + ], + "summary": "Add a new provider", + "operationId": "add_provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedDataProviderDefinition" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/providers/{provider}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Get an existing provider's definition", + "operationId": "get_provider_definition", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Layer provider id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedDataProviderDefinition" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "put": { + "tags": [ + "Layers" + ], + "summary": "Update an existing provider's definition", + "operationId": "update_provider_definition", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Layer provider id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedDataProviderDefinition" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Delete an existing provider", + "operationId": "delete_provider", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Layer provider id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections": { + "get": { + "tags": [ + "Layers" + ], + "summary": "List all layer collections", + "operationId": "list_root_collections_handler", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 20 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerCollection" + }, + "example": { + "id": { + "providerId": "1c3b8042-300b-485c-95b5-0147d9dc068d", + "collectionId": "f2424474-ef24-4c18-ab84-68592e12ce48" + }, + "name": "Layer Providers", + "description": "All available Geo Engine layer providers", + "items": [ + { + "type": "collection", + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" + }, + "name": "Datasets", + "description": "Basic Layers for all Datasets" + }, + { + "type": "collection", + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + "name": "Layers", + "description": "All available Geo Engine layers" + } + ], + "entryLabel": null, + "properties": [] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections/search/autocomplete/{provider}/{collection}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Autocompletes the search on the contents of the collection of the given provider", + "operationId": "autocomplete_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + }, + "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "searchType", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/SearchType" + }, + "example": "fulltext" + }, + { + "name": "searchString", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "test" + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "20" + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "0" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "example": [ + "An empty collection", + "Ports in Germany" + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections/search/{provider}/{collection}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Searches the contents of the collection of the given provider", + "operationId": "search_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + }, + "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "searchType", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/SearchType" + }, + "example": "fulltext" + }, + { + "name": "searchString", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "test" + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "20" + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "0" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerCollection" + }, + "example": { + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + "name": "Layers", + "description": "All available Geo Engine layers", + "items": [ + { + "type": "collection", + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "collectionId": "a29f77cc-51ce-466b-86ef-d0ab2170bc0a" + }, + "name": "An empty collection", + "description": "There is nothing here", + "properties": [] + }, + { + "type": "layer", + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "layerId": "b75db46e-2b9a-4a86-b33f-bc06a73cd711" + }, + "name": "Ports in Germany", + "description": "Natural Earth Ports point filtered with Germany polygon", + "properties": [] + } + ], + "entryLabel": null, + "properties": [] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections/{provider}/{collection}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "List the contents of the collection of the given provider", + "operationId": "list_collection_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 20 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerCollection" + }, + "example": { + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" + }, + "name": "Datasets", + "description": "Basic Layers for all Datasets", + "items": [ + { + "type": "layer", + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" + }, + "name": "Land Cover", + "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover" + }, + { + "type": "layer", + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "layerId": "36574dc3-560a-4b09-9d22-d5945f2b8093" + }, + "name": "NDVI", + "description": "NDVI data from MODIS" + } + ], + "entryLabel": null, + "properties": [] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/capabilities": { + "get": { + "tags": [ + "Layers" + ], + "operationId": "provider_capabilities_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProviderCapabilities" + }, + "example": { + "listing": true, + "search": { + "search_types": { + "fulltext": true, + "prefix": true + }, + "autocomplete": true, + "filters": [] + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/{layer}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Retrieves the layer of the given provider", + "operationId": "layer_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Layer" + }, + "example": { + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" + }, + "name": "Land Cover", + "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover", + "workflow": { + "type": "Raster", + "operator": { + "type": "GdalSource", + "params": { + "data": { + "type": "internal", + "datasetId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" + } + } + } + }, + "symbology": { + "type": "raster", + "opacity": 1, + "colorizer": { + "type": "palette", + "colors": { + "0": [ + 134, + 201, + 227, + 255 + ], + "1": [ + 30, + 129, + 62, + 255 + ], + "2": [ + 59, + 194, + 212, + 255 + ], + "3": [ + 157, + 194, + 63, + 255 + ], + "4": [ + 159, + 225, + 127, + 255 + ], + "5": [ + 125, + 194, + 127, + 255 + ], + "6": [ + 195, + 127, + 126, + 255 + ], + "7": [ + 188, + 221, + 190, + 255 + ], + "8": [ + 224, + 223, + 133, + 255 + ], + "9": [ + 226, + 221, + 7, + 255 + ], + "10": [ + 223, + 192, + 125, + 255 + ], + "11": [ + 66, + 128, + 189, + 255 + ], + "12": [ + 225, + 222, + 127, + 255 + ], + "13": [ + 253, + 2, + 0, + 255 + ], + "14": [ + 162, + 159, + 66, + 255 + ], + "15": [ + 255, + 255, + 255, + 255 + ], + "16": [ + 192, + 192, + 192, + 255 + ] + }, + "noDataColor": [ + 0, + 0, + 0, + 0 + ], + "defaultColor": [ + 0, + 0, + 0, + 0 + ] + } + }, + "properties": [], + "metadata": {} + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/{layer}/dataset": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Persist a raster layer from a provider as a dataset.", + "operationId": "layer_to_dataset", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "Id of created task", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResponse" + }, + "example": { + "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/{layer}/workflowId": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Registers a layer from a provider as a workflow and returns the workflow id", + "operationId": "layer_to_workflow_id_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + } + ], + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/login": { + "post": { + "tags": [ + "Session" + ], + "summary": "Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.", + "operationId": "login_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserCredentials" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": "foo@example.com", + "realName": "Foo Bar" + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null, + "roles": [ + "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", + "4e8081b6-8aa6-4275-af0c-2fa2da557d28" + ] + } + } + } + } + } + } + }, + "/logout": { + "post": { + "tags": [ + "Session" + ], + "summary": "Ends a session.", + "operationId": "logout_handler", + "responses": { + "200": { + "description": "The Session was deleted." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/ml/models": { + "get": { + "tags": [ + "ML" + ], + "summary": "List ml models.", + "operationId": "list_ml_models", + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MlModel" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "ML" + ], + "summary": "Create a new ml model.", + "operationId": "add_ml_model", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MlModel" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MlModelNameResponse" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/ml/models/{model_name}": { + "get": { + "tags": [ + "ML" + ], + "summary": "Get ml model by name.", + "operationId": "get_ml_model", + "parameters": [ + { + "name": "model_name", + "in": "path", + "description": "Ml Model Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/MlModelName" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MlModel" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/oidcInit": { + "post": { + "tags": [ + "Session" + ], + "summary": "Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.", + "description": "# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n", + "operationId": "oidc_init", + "parameters": [ + { + "name": "redirectUri", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthCodeRequestURL" + }, + "example": { + "url": "http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256" + } + } + } + } + } + } + }, + "/oidcLogin": { + "post": { + "tags": [ + "Session" + ], + "summary": "Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.", + "description": "# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n", + "operationId": "oidc_login", + "parameters": [ + { + "name": "redirectUri", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthCodeResponse" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": "foo@bar.de", + "realName": "Foo Bar" + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null + } + } + } + } + } + } + }, + "/permissions": { + "put": { + "tags": [ + "Permissions" + ], + "summary": "Adds a new permission.", + "operationId": "add_permission_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionRequest" + }, + "example": { + "resource": { + "type": "layer", + "id": "00000000-0000-0000-0000-000000000000" + }, + "roleId": "00000000-0000-0000-0000-000000000000", + "permission": "Read" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Permissions" + ], + "summary": "Removes an existing permission.", + "operationId": "remove_permission_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionRequest" + }, + "example": { + "resource": { + "type": "layer", + "id": "00000000-0000-0000-0000-000000000000" + }, + "roleId": "00000000-0000-0000-0000-000000000000", + "permission": "Read" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/permissions/resources/{resource_type}/{resource_id}": { + "get": { + "tags": [ + "Permissions" + ], + "summary": "Lists permission for a given resource.", + "operationId": "get_resource_permissions_handler", + "parameters": [ + { + "name": "resource_type", + "in": "path", + "description": "Resource Type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resource_id", + "in": "path", + "description": "Resource Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "List of permission", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PermissionListing" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/plot/{id}": { + "get": { + "tags": [ + "Plots" + ], + "summary": "Generates a plot.", + "description": "# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.", + "operationId": "get_plot_handler", + "parameters": [ + { + "name": "bbox", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "0,-0.3,0.2,0" + }, + { + "name": "crs", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + }, + "example": "EPSG:4326" + }, + { + "name": "time", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "2020-01-01T00:00:00.0Z" + }, + { + "name": "spatialResolution", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "0.1,0.1" + }, + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WrappedPlotOutput" + }, + "example": { + "outputFormat": "JsonPlain", + "plotType": "Statistics", + "data": { + "a": { + "max": 2.0, + "mean": 1.5, + "min": 1.0, + "stddev": 0.5, + "validCount": 2, + "valueCount": 2 + } + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Create a new project for the user.", + "operationId": "create_project_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateProject" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project/{project}": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Retrieves details about the latest version of a project.", + "operationId": "load_project_latest_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "Project loaded from database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + }, + "example": { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "version": { + "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", + "changed": "2021-04-26T14:05:39.677390600Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + }, + "name": "Test", + "description": "Foo", + "layers": [], + "plots": [], + "bounds": { + "spatialReference": "EPSG:4326", + "boundingBox": { + "lowerLeftCoordinate": { + "x": 0.0, + "y": 0.0 + }, + "upperRightCoordinate": { + "x": 1.0, + "y": 1.0 + } + }, + "timeInterval": { + "start": 0, + "end": 1 + } + }, + "timeStep": { + "granularity": "months", + "step": 1 + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Projects" + ], + "summary": "Deletes a project.", + "operationId": "delete_project_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "patch": { + "tags": [ + "Projects" + ], + "summary": "Updates a project.\nThis will create a new version.", + "operationId": "update_project_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProject" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project/{project}/versions": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Lists all available versions of a project.", + "operationId": "project_versions_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectVersion" + } + }, + "example": [ + { + "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", + "changed": "2021-04-26T14:05:39.677390600Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + }, + { + "id": "ced041c7-4b1d-4d13-b076-94596be6a36a", + "changed": "2021-04-26T14:13:10.901912700Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project/{project}/{version}": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Retrieves details about the given version of a project.", + "operationId": "load_project_version_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + }, + { + "name": "version", + "in": "path", + "description": "Version id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectVersionId" + } + } + ], + "responses": { + "200": { + "description": "Project loaded from database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + }, + "example": { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "version": { + "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", + "changed": "2021-04-26T14:05:39.677390600Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + }, + "name": "Test", + "description": "Foo", + "layers": [], + "plots": [], + "bounds": { + "spatialReference": "EPSG:4326", + "boundingBox": { + "lowerLeftCoordinate": { + "x": 0.0, + "y": 0.0 + }, + "upperRightCoordinate": { + "x": 1.0, + "y": 1.0 + } + }, + "timeInterval": { + "start": 0, + "end": 1 + } + }, + "timeStep": { + "granularity": "months", + "step": 1 + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/projects": { + "get": { + "tags": [ + "Projects" + ], + "summary": "List all projects accessible to the user that match the selected criteria.", + "operationId": "list_projects_handler", + "parameters": [ + { + "name": "order", + "in": "path", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrderBy" + }, + "example": "NameAsc" + }, + { + "name": "offset", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 2 + } + ], + "responses": { + "200": { + "description": "List of projects the user can access", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectListing" + } + }, + "example": [ + { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "name": "Test", + "description": "Foo", + "layerNames": [], + "plotNames": [], + "changed": "2021-04-26T14:03:51.984537900Z" + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the available and used quota of the current user.", + "operationId": "quota_handler", + "responses": { + "200": { + "description": "The available and used quota of the user", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Quota" + }, + "example": { + "available": 4321, + "used": 1234 + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/computations": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the quota used by computations", + "operationId": "computations_quota_handler", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "The quota used by computations", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputationQuota" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/computations/{computation}": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the quota used by computation with the given computation id", + "operationId": "computation_quota_handler", + "parameters": [ + { + "name": "computation", + "in": "path", + "description": "Computation id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "The quota used by computation", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OperatorQuota" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/dataUsage": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the data usage", + "operationId": "data_usage_handler", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "The quota used on data", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DataUsage" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/dataUsage/summary": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the data usage summary", + "operationId": "data_usage_summary_handler", + "parameters": [ + { + "name": "granularity", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/UsageSummaryGranularity" + } + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + }, + { + "name": "dataset", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + } + ], + "responses": { + "200": { + "description": "The quota used on data", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DataUsageSummary" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quotas/{user}": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the available and used quota of a specific user.", + "operationId": "get_user_quota_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + } + ], + "responses": { + "200": { + "description": "The available and used quota of the user", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Quota" + }, + "example": { + "available": 4321, + "used": 1234 + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "User" + ], + "summary": "Update the available quota of a specific user.", + "operationId": "update_user_quota_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateQuota" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Quota was updated" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/roles": { + "put": { + "tags": [ + "User" + ], + "summary": "Add a new role. Requires admin privilige.", + "operationId": "add_role_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddRole" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Role was added", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoleId" + }, + "example": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/roles/byName/{name}": { + "get": { + "tags": [ + "User" + ], + "summary": "Get role by name", + "operationId": "get_role_by_name_handler", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Role Name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/roles/{role}": { + "delete": { + "tags": [ + "User" + ], + "summary": "Remove a role. Requires admin privilige.", + "operationId": "remove_role_handler", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "Role id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoleId" + } + } + ], + "responses": { + "200": { + "description": "Role was removed" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/session": { + "get": { + "tags": [ + "Session" + ], + "summary": "Retrieves details about the current session.", + "operationId": "session_handler", + "responses": { + "200": { + "description": "The current session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": "foo@example.com", + "realName": "Foo Bar" + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null, + "roles": [ + "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", + "4e8081b6-8aa6-4275-af0c-2fa2da557d28" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/session/project/{project}": { + "post": { + "tags": [ + "Session" + ], + "summary": "Sets the active project of the session.", + "operationId": "session_project_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "The project of the session was updated." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/session/view": { + "post": { + "tags": [ + "Session" + ], + "operationId": "session_view_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/STRectangle" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The view of the session was updated." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/spatialReferenceSpecification/{srsString}": { + "get": { + "tags": [ + "Spatial References" + ], + "operationId": "get_spatial_reference_specification_handler", + "parameters": [ + { + "name": "srsString", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "EPSG:4326" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpatialReferenceSpecification" + }, + "example": { + "name": "WGS 84", + "spatialReference": "EPSG:4326", + "projString": "+proj=longlat +datum=WGS84 +no_defs +type=crs", + "extent": { + "lowerLeftCoordinate": { + "x": -180.0, + "y": -90.0 + }, + "upperRightCoordinate": { + "x": 180.0, + "y": 90.0 + } + }, + "axisLabels": [ + "Geodetic longitude", + "Geodetic latitude" + ], + "axisOrder": "northEast" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/tasks/list": { + "get": { + "tags": [ + "Tasks" + ], + "summary": "Retrieve the status of all tasks.", + "operationId": "list_handler", + "parameters": [ + { + "name": "filter", + "in": "path", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TaskFilter" + } + ] + } + }, + { + "name": "offset", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 20 + } + ], + "responses": { + "200": { + "description": "Status of all tasks", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskStatusWithId" + } + }, + "example": [ + { + "taskId": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", + "status": "completed", + "taskType": "dummy-task", + "description": "Demo", + "info": null, + "timeTotal": "00:00:30", + "timeStarted": "2023-02-16T15:25:45.390Z" + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/tasks/{id}": { + "delete": { + "tags": [ + "Tasks" + ], + "summary": "Abort a running task.", + "description": "# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.", + "operationId": "abort_handler", + "parameters": [ + { + "name": "force", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "id", + "in": "path", + "description": "Task id", + "required": true, + "schema": { + "$ref": "#/components/schemas/TaskId" + } + } + ], + "responses": { + "202": { + "description": "Task will be aborted." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/tasks/{id}/status": { + "get": { + "tags": [ + "Tasks" + ], + "summary": "Retrieve the status of a task.", + "operationId": "status_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Task id", + "required": true, + "schema": { + "$ref": "#/components/schemas/TaskId" + } + } + ], + "responses": { + "200": { + "description": "Status of the task (running)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStatus" + }, + "example": { + "status": "running", + "taskType": "dummy-task", + "description": "Demo", + "pctComplete": "0.00%", + "timeStarted": "2023-02-16T15:25:45.390Z", + "estimatedTimeRemaining": "? (± ?)", + "info": null + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/upload": { + "post": { + "tags": [ + "Uploads" + ], + "summary": "Uploads files.", + "operationId": "upload_handler", + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "required": [ + "files[]" + ], + "properties": { + "files[]": { + "type": "array", + "items": { + "type": "string", + "format": "binary" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/uploads/{upload_id}/files": { + "get": { + "tags": [ + "Uploads" + ], + "summary": "List the files of on upload.", + "operationId": "list_upload_files_handler", + "parameters": [ + { + "name": "upload_id", + "in": "path", + "description": "Upload id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UploadId" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadFilesResponse" + }, + "example": { + "files": [ + "file1", + "file2" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/uploads/{upload_id}/files/{file_name}/layers": { + "get": { + "tags": [ + "Uploads" + ], + "summary": "List the layers of on uploaded file.", + "operationId": "list_upload_file_layers_handler", + "parameters": [ + { + "name": "upload_id", + "in": "path", + "description": "Upload id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UploadId" + } + }, + { + "name": "file_name", + "in": "path", + "description": "File name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadFileLayersResponse" + }, + "example": { + "layers": [ + "layer1", + "layer2" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/user": { + "post": { + "tags": [ + "Session" + ], + "summary": "Registers a user.", + "operationId": "register_user_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserRegistration" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The id of the created user", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserId" + }, + "example": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" + } + } + } + } + } + } + }, + "/user/roles/descriptions": { + "get": { + "tags": [ + "User" + ], + "summary": "Query roles for the current user.", + "operationId": "get_role_descriptions", + "responses": { + "200": { + "description": "The description for roles of the current user", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RoleDescription" + } + }, + "example": [ + { + "role": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "name": "foo@example.com" + }, + "individual": true + }, + { + "role": { + "id": "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", + "name": "Example role" + }, + "individual": false + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/users/{user}/roles/{role}": { + "post": { + "tags": [ + "User" + ], + "summary": "Assign a role to a user. Requires admin privilige.", + "operationId": "assign_role_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + }, + { + "name": "role", + "in": "path", + "description": "Role id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoleId" + } + } + ], + "responses": { + "200": { + "description": "Role was assigned" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "User" + ], + "summary": "Revoke a role from a user. Requires admin privilige.", + "operationId": "revoke_role_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + }, + { + "name": "role", + "in": "path", + "description": "Role id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoleId" + } + } + ], + "responses": { + "200": { + "description": "Role was revoked" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/wcs/{workflow}": { + "get": { + "tags": [ + "OGC WCS" + ], + "summary": "OGC WCS endpoint", + "operationId": "wcs_handler", + "parameters": [ + { + "name": "workflow", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "boundingbox", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "-90,-180,90,180,urn:ogc:def:crs:EPSG::4326" + }, + { + "name": "format", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/GetCoverageFormat" + } + }, + { + "name": "gridbasecrs", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "urn:ogc:def:crs:EPSG::4326" + }, + { + "name": "gridoffsets", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "-0.1,0.1" + }, + { + "name": "gridorigin", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "90,-180" + }, + { + "name": "identifier", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "" + }, + { + "name": "identifiers", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "" + }, + { + "name": "nodatavalue", + "in": "query", + "required": false, + "schema": { + "type": [ + "number", + "null" + ], + "format": "double" + } + }, + { + "name": "request", + "in": "query", + "description": "type of WMS request", + "required": true, + "schema": { + "type": "string", + "enum": [ + "GetCapabilGetCapabilitiesities", + "DescribeCoverage", + "GetCoverage" + ] + } + }, + { + "name": "resx", + "in": "query", + "required": false, + "schema": { + "type": [ + "number", + "null" + ], + "format": "double" + } + }, + { + "name": "resy", + "in": "query", + "required": false, + "schema": { + "type": [ + "number", + "null" + ], + "format": "double" + } + }, + { + "name": "service", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/WcsService" + } + }, + { + "name": "time", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/WcsVersion" + } + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/wfs/{workflow}": { + "get": { + "tags": [ + "OGC WFS" + ], + "summary": "OGC WFS endpoint", + "operationId": "wfs_handler", + "parameters": [ + { + "name": "workflow", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "bbox", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/OgcBoundingBox" + }, + "example": "-90,-180,90,180" + }, + { + "name": "count", + "in": "query", + "required": false, + "schema": { + "type": [ + "integer", + "null" + ], + "format": "int64", + "minimum": 0 + } + }, + { + "name": "filter", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "namespaces", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "propertyName", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "request", + "in": "query", + "description": "type of WFS request", + "required": true, + "schema": { + "type": "string", + "enum": [ + "GetCapabilities", + "GetFeature" + ] + } + }, + { + "name": "resultType", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "service", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/WfsService" + } + }, + { + "name": "sortBy", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "srsName", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + }, + "example": "EPSG:4326" + }, + { + "name": "time", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "2014-04-01T12:00:00.000Z" + }, + { + "name": "typeNames", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeNames" + }, + "example": "" + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/WfsVersion" + } + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GeoJson" + }, + "example": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 0.0, + 0.1 + ] + }, + "properties": { + "foo": 0 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 1.0, + 1.1 + ] + }, + "properties": { + "foo": null + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 2.0, + 3.1 + ] + }, + "properties": { + "foo": 2 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 3.0, + 3.1 + ] + }, + "properties": { + "foo": 3 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 4.0, + 4.1 + ] + }, + "properties": { + "foo": 4 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + } + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/wms/{workflow}": { + "get": { + "tags": [ + "OGC WMS" + ], + "summary": "OGC WMS endpoint", + "operationId": "wms_handler", + "parameters": [ + { + "name": "workflow", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "bbox", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/OgcBoundingBox" + }, + "example": "-90,-180,90,180" + }, + { + "name": "bgcolor", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "crs", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + }, + "example": "EPSG:4326" + }, + { + "name": "elevation", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "exceptions", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/GetMapExceptionFormat" + } + ] + } + }, + { + "name": "format", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/GetCapabilitiesFormat" + } + ] + } + }, + { + "name": "height", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 256 + }, + { + "name": "info_format", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "layer", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "layers", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "" + }, + { + "name": "query_layers", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "request", + "in": "query", + "description": "type of WMS request", + "required": true, + "schema": { + "type": "string", + "enum": [ + "GetCapabilities", + "GetMap", + "GetFeatureInfo", + "GetStyles", + "GetLegendGraphic" + ] + } + }, + { + "name": "service", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/WmsService" + } + }, + { + "name": "sld", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "sld_body", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "styles", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}" + }, + { + "name": "time", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "2014-04-01T12:00:00.000Z" + }, + { + "name": "transparent", + "in": "query", + "required": false, + "schema": { + "type": [ + "boolean", + "null" + ] + } + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/WmsVersion" + } + ] + } + }, + { + "name": "width", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 512 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow": { + "post": { + "tags": [ + "Workflows" + ], + "summary": "Registers a new Workflow.", + "operationId": "register_workflow_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workflow" + }, + "examples": { + "MockPointSource": { + "value": { + "type": "Vector", + "operator": { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 0.0, + "y": 0.1 + }, + { + "x": 1.0, + "y": 1.1 + } + ] + } + } + } + }, + "Statistics Plot": { + "value": { + "type": "Plot", + "operator": { + "type": "Statistics", + "params": {}, + "sources": { + "source": { + "type": "OgrSource", + "params": { + "data": "ne_10m_ports", + "attributeProjection": null, + "attributeFilters": null + } + } + } + } + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Retrieves an existing Workflow.", + "operationId": "load_workflow_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "description": "Workflow loaded from database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workflow" + }, + "example": { + "type": "Vector", + "operator": { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 0.0, + "y": 0.1 + }, + { + "x": 1.0, + "y": 1.1 + } + ] + } + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/allMetadata/zip": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Gets a ZIP archive of the worklow, its provenance and the output metadata.", + "operationId": "get_workflow_all_metadata_zip_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "$ref": "#/components/responses/ZipResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/metadata": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Gets the metadata of a workflow", + "operationId": "get_workflow_metadata_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "description": "Metadata of loaded workflow", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedResultDescriptor" + }, + "example": { + "type": "vector", + "dataType": "MultiPoint", + "spatialReference": "EPSG:4326", + "columns": {} + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/provenance": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Gets the provenance of all datasets used in a workflow.", + "operationId": "get_workflow_provenance_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "description": "Provenance of used datasets", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProvenanceEntry" + } + }, + "example": [ + { + "dataset": { + "type": "internal", + "datasetId": "846a823a-6859-4b94-ab0a-c1de80f593d8" + }, + "provenance": { + "citation": "Author, Dataset Tile", + "license": "Some license", + "uri": "http://example.org/" + } + }, + { + "dataset": { + "type": "internal", + "datasetId": "453cd398-f271-437b-9c3d-7f42213ea30a" + }, + "provenance": { + "citation": "Another Author, Another Dataset Tile", + "license": "Some other license", + "uri": "http://example.org/" + } + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/rasterStream": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Query a workflow raster result as a stream of tiles via a websocket connection.", + "operationId": "raster_stream_websocket", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "spatialBounds", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/SpatialPartition2D" + } + }, + { + "name": "timeInterval", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "attributes", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resultType", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/RasterStreamWebsocketResultType" + } + } + ], + "responses": { + "101": { + "description": "Upgrade to websocket connection" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + } + }, + "components": { + "schemas": { + "AddDataset": { + "type": "object", + "required": [ + "displayName", + "description", + "sourceOperator" + ], + "properties": { + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DatasetName" + } + ] + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + }, + "sourceOperator": { + "type": "string" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "tags": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "AddDatasetTile": { + "type": "object", + "required": [ + "time", + "spatial_partition", + "band", + "z_index", + "params" + ], + "properties": { + "band": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "spatial_partition": { + "$ref": "#/components/schemas/SpatialPartition2D" + }, + "time": { + "$ref": "#/components/schemas/TimeInterval" + }, + "z_index": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "AddLayer": { + "type": "object", + "required": [ + "name", + "description", + "workflow" + ], + "properties": { + "description": { + "type": "string", + "example": "Example layer description" + }, + "metadata": { + "type": "object", + "description": "metadata used for loading the data", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "name": { + "type": "string", + "example": "Example Layer" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "workflow": { + "$ref": "#/components/schemas/Workflow" + } + } + }, + "AddLayerCollection": { + "type": "object", + "required": [ + "name", + "description" + ], + "properties": { + "description": { + "type": "string", + "example": "A description for an example collection" + }, + "name": { + "type": "string", + "example": "Example Collection" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + } + } + }, + "AddRole": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + }, + "ArunaDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description", + "apiUrl", + "projectId", + "apiToken", + "filterLabel" + ], + "properties": { + "apiToken": { + "type": "string" + }, + "apiUrl": { + "type": "string" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "filterLabel": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "projectId": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "Aruna" + ] + } + } + }, + "AuthCodeRequestURL": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "format": "uri" + } + } + }, + "AuthCodeResponse": { + "type": "object", + "required": [ + "sessionState", + "code", + "state" + ], + "properties": { + "code": { + "type": "string" + }, + "sessionState": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "AutoCreateDataset": { + "type": "object", + "required": [ + "upload", + "datasetName", + "datasetDescription", + "mainFile" + ], + "properties": { + "datasetDescription": { + "type": "string" + }, + "datasetName": { + "type": "string" + }, + "layerName": { + "type": [ + "string", + "null" + ] + }, + "mainFile": { + "type": "string" + }, + "tags": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "upload": { + "$ref": "#/components/schemas/UploadId" + } + }, + "example": { + "upload": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", + "datasetName": "Germany Border (auto)", + "datasetDescription": "The Outline of Germany (auto detected format)", + "mainFile": "germany_polygon.gpkg", + "tags": [ + "area" + ] + } + }, + "AxisOrder": { + "type": "string", + "enum": [ + "northEast", + "eastNorth" + ] + }, + "BandSelection": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0 + } + }, + "BoundingBox2D": { + "type": "object", + "description": "A bounding box that includes all border points.\nNote: may degenerate to a point!", + "required": [ + "lowerLeftCoordinate", + "upperRightCoordinate" + ], + "properties": { + "lowerLeftCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "upperRightCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + }, + "Breakpoint": { + "type": "object", + "required": [ + "value", + "color" + ], + "properties": { + "color": { + "$ref": "#/components/schemas/RgbaColor" + }, + "value": { + "type": "number" + } + } + }, + "CacheTtlSeconds": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "ClassificationMeasurement": { + "type": "object", + "required": [ + "type", + "measurement", + "classes" + ], + "properties": { + "classes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + "measurement": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "classification" + ] + } + } + }, + "CollectionItem": { + "oneOf": [ + { + "$ref": "#/components/schemas/LayerCollectionListing" + }, + { + "$ref": "#/components/schemas/LayerListing" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "collection": "#/components/schemas/LayerCollectionListing", + "layer": "#/components/schemas/LayerListing" + } + } + }, + "CollectionType": { + "type": "string", + "enum": [ + "FeatureCollection" + ] + }, + "ColorParam": { + "oneOf": [ + { + "$ref": "#/components/schemas/StaticColor" + }, + { + "$ref": "#/components/schemas/DerivedColor" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "derived": "#/components/schemas/DerivedColor", + "static": "#/components/schemas/StaticColor" + } + } + }, + "Colorizer": { + "oneOf": [ + { + "$ref": "#/components/schemas/LinearGradient" + }, + { + "$ref": "#/components/schemas/LogarithmicGradient" + }, + { + "$ref": "#/components/schemas/PaletteColorizer" + } + ], + "description": "A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.", + "discriminator": { + "propertyName": "type", + "mapping": { + "linearGradient": "#/components/schemas/LinearGradient", + "logarithmicGradient": "#/components/schemas/LogarithmicGradient", + "palette": "#/components/schemas/PaletteColorizer" + } + } + }, + "ComputationQuota": { + "type": "object", + "required": [ + "timestamp", + "computationId", + "workflowId", + "count" + ], + "properties": { + "computationId": { + "type": "string", + "format": "uuid" + }, + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "workflowId": { + "type": "string", + "format": "uuid" + } + } + }, + "ContinuousMeasurement": { + "type": "object", + "required": [ + "type", + "measurement" + ], + "properties": { + "measurement": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "continuous" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + } + } + }, + "Coordinate2D": { + "type": "object", + "required": [ + "x", + "y" + ], + "properties": { + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + } + } + }, + "CopernicusDataspaceDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "id", + "stacUrl", + "s3Url", + "s3AccessKey", + "s3SecretKey", + "gdalConfig" + ], + "properties": { + "description": { + "type": "string" + }, + "gdalConfig": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StringPair" + } + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "s3AccessKey": { + "type": "string" + }, + "s3SecretKey": { + "type": "string" + }, + "s3Url": { + "type": "string" + }, + "stacUrl": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "CopernicusDataspace" + ] + } + } + }, + "CreateDataset": { + "type": "object", + "required": [ + "dataPath", + "definition" + ], + "properties": { + "dataPath": { + "$ref": "#/components/schemas/DataPath" + }, + "definition": { + "$ref": "#/components/schemas/DatasetDefinition" + } + } + }, + "CreateProject": { + "type": "object", + "required": [ + "name", + "description", + "bounds" + ], + "properties": { + "bounds": { + "$ref": "#/components/schemas/STRectangle" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "timeStep": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeStep" + } + ] + } + }, + "example": { + "name": "Test", + "description": "Foo", + "bounds": { + "spatialReference": "EPSG:4326", + "boundingBox": { + "lowerLeftCoordinate": { + "x": 0, + "y": 0 + }, + "upperRightCoordinate": { + "x": 1, + "y": 1 + } + }, + "timeInterval": { + "start": 0, + "end": 1 + } + }, + "timeStep": { + "step": 1, + "granularity": "months" + } + } + }, + "CsvHeader": { + "type": "string", + "enum": [ + "yes", + "no", + "auto" + ] + }, + "DataId": { + "oneOf": [ + { + "$ref": "#/components/schemas/InternalDataId" + }, + { + "$ref": "#/components/schemas/ExternalDataId" + } + ], + "description": "The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.", + "discriminator": { + "propertyName": "type", + "mapping": { + "external": "#/components/schemas/ExternalDataId", + "internal": "#/components/schemas/InternalDataId" + } + } + }, + "DataPath": { + "oneOf": [ + { + "type": "object", + "required": [ + "volume" + ], + "properties": { + "volume": { + "$ref": "#/components/schemas/VolumeName" + } + } + }, + { + "type": "object", + "required": [ + "upload" + ], + "properties": { + "upload": { + "$ref": "#/components/schemas/UploadId" + } + } + } + ] + }, + "DataProviderId": { + "type": "string", + "format": "uuid" + }, + "DataProviderResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "type": { + "type": "string", + "enum": [ + "provider" + ] + } + } + }, + "DataUsage": { + "type": "object", + "required": [ + "timestamp", + "userId", + "computationId", + "data", + "count" + ], + "properties": { + "computationId": { + "type": "string", + "format": "uuid" + }, + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "data": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "userId": { + "type": "string", + "format": "uuid" + } + } + }, + "DataUsageSummary": { + "type": "object", + "required": [ + "timestamp", + "data", + "count" + ], + "properties": { + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "data": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + } + }, + "DatabaseConnectionConfig": { + "type": "object", + "required": [ + "host", + "port", + "database", + "schema", + "user", + "password" + ], + "properties": { + "database": { + "type": "string" + }, + "host": { + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "schema": { + "type": "string" + }, + "user": { + "type": "string" + } + } + }, + "Dataset": { + "type": "object", + "required": [ + "id", + "name", + "displayName", + "description", + "resultDescriptor", + "sourceOperator" + ], + "properties": { + "dataPath": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DataPath" + } + ] + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DatasetId" + }, + "name": { + "$ref": "#/components/schemas/DatasetName" + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + }, + "resultDescriptor": { + "$ref": "#/components/schemas/TypedResultDescriptor" + }, + "sourceOperator": { + "type": "string" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "tags": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "DatasetDefinition": { + "type": "object", + "required": [ + "properties", + "metaData" + ], + "properties": { + "metaData": { + "$ref": "#/components/schemas/MetaDataDefinition" + }, + "properties": { + "$ref": "#/components/schemas/AddDataset" + } + } + }, + "DatasetId": { + "type": "string", + "format": "uuid" + }, + "DatasetLayerListingCollection": { + "type": "object", + "required": [ + "name", + "description", + "tags" + ], + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetLayerListingProviderDefinition": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description", + "collections" + ], + "properties": { + "collections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DatasetLayerListingCollection" + } + }, + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "DatasetLayerListing" + ] + } + } + }, + "DatasetListing": { + "type": "object", + "required": [ + "id", + "name", + "displayName", + "description", + "tags", + "sourceOperator", + "resultDescriptor" + ], + "properties": { + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DatasetId" + }, + "name": { + "$ref": "#/components/schemas/DatasetName" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/TypedResultDescriptor" + }, + "sourceOperator": { + "type": "string" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetName": { + "type": "string", + "examples": [ + "ns:name" + ] + }, + "DatasetNameResponse": { + "type": "object", + "title": "Dataset Name Response", + "required": [ + "datasetName" + ], + "properties": { + "datasetName": { + "$ref": "#/components/schemas/DatasetName" + } + } + }, + "DatasetResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/DatasetName" + }, + "type": { + "type": "string", + "enum": [ + "dataset" + ] + } + } + }, + "DateTimeParseFormat": { + "type": "string" + }, + "DateTimeString": { + "type": "string" + }, + "DerivedColor": { + "type": "object", + "required": [ + "type", + "attribute", + "colorizer" + ], + "properties": { + "attribute": { + "type": "string" + }, + "colorizer": { + "$ref": "#/components/schemas/Colorizer" + }, + "type": { + "type": "string", + "enum": [ + "derived" + ] + } + } + }, + "DerivedNumber": { + "type": "object", + "required": [ + "type", + "attribute", + "factor", + "defaultValue" + ], + "properties": { + "attribute": { + "type": "string" + }, + "defaultValue": { + "type": "number", + "format": "double" + }, + "factor": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "derived" + ] + } + } + }, + "EbvPortalDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "baseUrl", + "data", + "overviews" + ], + "properties": { + "baseUrl": { + "type": "string", + "format": "uri" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "data": { + "type": "string", + "description": "Path were the `NetCDF` data can be found" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "overviews": { + "type": "string", + "description": "Path were overview files are stored" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "EbvPortal" + ] + } + } + }, + "EdrDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "id", + "baseUrl" + ], + "properties": { + "baseUrl": { + "type": "string", + "format": "uri" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "discreteVrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of vertical reference systems with a discrete scale" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + }, + "type": { + "type": "string", + "enum": [ + "Edr" + ] + }, + "vectorSpec": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/EdrVectorSpec" + } + ] + } + } + }, + "EdrVectorSpec": { + "type": "object", + "required": [ + "x", + "time" + ], + "properties": { + "time": { + "type": "string" + }, + "x": { + "type": "string" + }, + "y": { + "type": [ + "string", + "null" + ] + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error", + "message" + ], + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ExternalDataId": { + "type": "object", + "required": [ + "type", + "providerId", + "layerId" + ], + "properties": { + "layerId": { + "$ref": "#/components/schemas/LayerId" + }, + "providerId": { + "$ref": "#/components/schemas/DataProviderId" + }, + "type": { + "type": "string", + "enum": [ + "external" + ] + } + } + }, + "FeatureDataType": { + "type": "string", + "enum": [ + "category", + "int", + "float", + "text", + "bool", + "dateTime" + ] + }, + "FileNotFoundHandling": { + "type": "string", + "enum": [ + "NoData", + "Error" + ] + }, + "FormatSpecifics": { + "oneOf": [ + { + "type": "object", + "required": [ + "csv" + ], + "properties": { + "csv": { + "type": "object", + "required": [ + "header" + ], + "properties": { + "header": { + "$ref": "#/components/schemas/CsvHeader" + } + } + } + } + } + ] + }, + "GbifDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "dbConfig", + "autocompleteTimeout", + "columns" + ], + "properties": { + "autocompleteTimeout": { + "type": "integer", + "format": "int32" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "columns": { + "type": "array", + "items": { + "type": "string" + } + }, + "dbConfig": { + "$ref": "#/components/schemas/DatabaseConnectionConfig" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "Gbif" + ] + } + } + }, + "GdalDatasetGeoTransform": { + "type": "object", + "required": [ + "originCoordinate", + "xPixelSize", + "yPixelSize" + ], + "properties": { + "originCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "xPixelSize": { + "type": "number", + "format": "double" + }, + "yPixelSize": { + "type": "number", + "format": "double" + } + } + }, + "GdalDatasetParameters": { + "type": "object", + "description": "Parameters for loading data using Gdal", + "required": [ + "filePath", + "rasterbandChannel", + "geoTransform", + "width", + "height", + "fileNotFoundHandling" + ], + "properties": { + "allowAlphabandAsMask": { + "type": "boolean" + }, + "fileNotFoundHandling": { + "$ref": "#/components/schemas/FileNotFoundHandling" + }, + "filePath": { + "type": "string" + }, + "gdalConfigOptions": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/StringPair" + } + }, + "gdalOpenOptions": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "geoTransform": { + "$ref": "#/components/schemas/GdalDatasetGeoTransform" + }, + "height": { + "type": "integer", + "minimum": 0 + }, + "noDataValue": { + "type": [ + "number", + "null" + ], + "format": "double" + }, + "propertiesMapping": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/GdalMetadataMapping" + } + }, + "rasterbandChannel": { + "type": "integer", + "minimum": 0 + }, + "width": { + "type": "integer", + "minimum": 0 + } + } + }, + "GdalLoadingInfoTemporalSlice": { + "type": "object", + "description": "one temporal slice of the dataset that requires reading from exactly one Gdal dataset", + "required": [ + "time" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "params": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/GdalDatasetParameters" + } + ] + }, + "time": { + "$ref": "#/components/schemas/TimeInterval" + } + } + }, + "GdalMetaDataList": { + "type": "object", + "required": [ + "type", + "resultDescriptor", + "params" + ], + "properties": { + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GdalLoadingInfoTemporalSlice" + } + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "GdalMetaDataList" + ] + } + } + }, + "GdalMetaDataRegular": { + "type": "object", + "required": [ + "type", + "resultDescriptor", + "params", + "timePlaceholders", + "dataTime", + "step" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "dataTime": { + "$ref": "#/components/schemas/TimeInterval" + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "step": { + "$ref": "#/components/schemas/TimeStep" + }, + "timePlaceholders": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/GdalSourceTimePlaceholder" + }, + "propertyNames": { + "type": "string" + } + }, + "type": { + "type": "string", + "enum": [ + "GdalMetaDataRegular" + ] + } + } + }, + "GdalMetaDataStatic": { + "type": "object", + "required": [ + "type", + "params", + "resultDescriptor" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "GdalStatic" + ] + } + } + }, + "GdalMetadataMapping": { + "type": "object", + "required": [ + "source_key", + "target_key", + "target_type" + ], + "properties": { + "source_key": { + "$ref": "#/components/schemas/RasterPropertiesKey" + }, + "target_key": { + "$ref": "#/components/schemas/RasterPropertiesKey" + }, + "target_type": { + "$ref": "#/components/schemas/RasterPropertiesEntryType" + } + } + }, + "GdalMetadataNetCdfCf": { + "type": "object", + "description": "Meta data for 4D `NetCDF` CF datasets", + "required": [ + "type", + "resultDescriptor", + "params", + "start", + "end", + "step", + "bandOffset" + ], + "properties": { + "bandOffset": { + "type": "integer", + "description": "A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.", + "minimum": 0 + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "end": { + "$ref": "#/components/schemas/TimeInstance", + "description": "We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future." + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "start": { + "$ref": "#/components/schemas/TimeInstance" + }, + "step": { + "$ref": "#/components/schemas/TimeStep" + }, + "type": { + "type": "string", + "enum": [ + "GdalMetaDataNetCdfCf" + ] + } + } + }, + "GdalMultiBand": { + "type": "object", + "required": [ + "type", + "resultDescriptor" + ], + "properties": { + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "GdalMultiBand" + ] + } + } + }, + "GdalSourceTimePlaceholder": { + "type": "object", + "required": [ + "format", + "reference" + ], + "properties": { + "format": { + "$ref": "#/components/schemas/DateTimeParseFormat" + }, + "reference": { + "$ref": "#/components/schemas/TimeReference" + } + } + }, + "GeoJson": { + "type": "object", + "required": [ + "type", + "features" + ], + "properties": { + "features": { + "type": "array", + "items": {} + }, + "type": { + "$ref": "#/components/schemas/CollectionType" + } + } + }, + "GeoTransform": { + "type": "object", + "required": [ + "originCoordinate", + "xPixelSize", + "yPixelSize" + ], + "properties": { + "originCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "xPixelSize": { + "type": "number", + "format": "double" + }, + "yPixelSize": { + "type": "number", + "format": "double" + } + } + }, + "GetCapabilitiesFormat": { + "type": "string", + "enum": [ + "text/xml" + ] + }, + "GetCoverageFormat": { + "type": "string", + "enum": [ + "image/tiff" + ] + }, + "GetFeatureRequest": { + "type": "string", + "enum": [ + "GetFeature" + ] + }, + "GetMapExceptionFormat": { + "type": "string", + "enum": [ + "XML", + "JSON" + ] + }, + "GetMapFormat": { + "type": "string", + "enum": [ + "image/png" + ] + }, + "GfbioAbcdDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "dbConfig" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "dbConfig": { + "$ref": "#/components/schemas/DatabaseConnectionConfig" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "GfbioAbcd" + ] + } + } + }, + "GfbioCollectionsDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "collectionApiUrl", + "collectionApiAuthToken", + "abcdDbConfig", + "pangaeaUrl" + ], + "properties": { + "abcdDbConfig": { + "$ref": "#/components/schemas/DatabaseConnectionConfig" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "collectionApiAuthToken": { + "type": "string" + }, + "collectionApiUrl": { + "type": "string", + "format": "uri" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "pangaeaUrl": { + "type": "string", + "format": "uri" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "GfbioCollections" + ] + } + } + }, + "GridBoundingBox2D": { + "type": "object", + "required": [ + "topLeftIdx", + "bottomRightIdx" + ], + "properties": { + "bottomRightIdx": { + "$ref": "#/components/schemas/GridIdx2D" + }, + "topLeftIdx": { + "$ref": "#/components/schemas/GridIdx2D" + } + } + }, + "GridIdx2D": { + "type": "object", + "required": [ + "yIdx", + "xIdx" + ], + "properties": { + "xIdx": { + "type": "integer" + }, + "yIdx": { + "type": "integer" + } + } + }, + "InternalDataId": { + "type": "object", + "required": [ + "type", + "datasetId" + ], + "properties": { + "datasetId": { + "$ref": "#/components/schemas/DatasetId" + }, + "type": { + "type": "string", + "enum": [ + "internal" + ] + } + } + }, + "Layer": { + "type": "object", + "required": [ + "id", + "name", + "description", + "workflow" + ], + "properties": { + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerId" + }, + "metadata": { + "type": "object", + "description": "metadata used for loading the data", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "workflow": { + "$ref": "#/components/schemas/Workflow" + } + } + }, + "LayerCollection": { + "type": "object", + "required": [ + "id", + "name", + "description", + "items", + "properties" + ], + "properties": { + "description": { + "type": "string" + }, + "entryLabel": { + "type": [ + "string", + "null" + ], + "description": "a common label for the collection's entries, if there is any" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerCollectionId" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CollectionItem" + } + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + } + } + }, + "LayerCollectionId": { + "type": "string" + }, + "LayerCollectionListing": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description" + ], + "properties": { + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerCollectionId" + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + }, + "type": { + "type": "string", + "enum": [ + "collection" + ] + } + } + }, + "LayerCollectionResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "type": { + "type": "string", + "enum": [ + "layerCollection" + ] + } + } + }, + "LayerId": { + "type": "string" + }, + "LayerListing": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description" + ], + "properties": { + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerId" + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "type": { + "type": "string", + "enum": [ + "layer" + ] + } + } + }, + "LayerProviderListing": { + "type": "object", + "required": [ + "id", + "name", + "priority" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int32" + } + } + }, + "LayerResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/LayerId" + }, + "type": { + "type": "string", + "enum": [ + "layer" + ] + } + } + }, + "LayerVisibility": { + "type": "object", + "required": [ + "data", + "legend" + ], + "properties": { + "data": { + "type": "boolean" + }, + "legend": { + "type": "boolean" + } + } + }, + "LineSymbology": { + "type": "object", + "required": [ + "type", + "stroke", + "autoSimplified" + ], + "properties": { + "autoSimplified": { + "type": "boolean" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + }, + "text": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TextSymbology" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + } + }, + "LinearGradient": { + "type": "object", + "required": [ + "type", + "breakpoints", + "noDataColor", + "overColor", + "underColor" + ], + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Breakpoint" + } + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "overColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "linearGradient" + ] + }, + "underColor": { + "$ref": "#/components/schemas/RgbaColor" + } + } + }, + "LogarithmicGradient": { + "type": "object", + "required": [ + "type", + "breakpoints", + "noDataColor", + "overColor", + "underColor" + ], + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Breakpoint" + } + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "overColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "logarithmicGradient" + ] + }, + "underColor": { + "$ref": "#/components/schemas/RgbaColor" + } + } + }, + "Measurement": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnitlessMeasurement" + }, + { + "$ref": "#/components/schemas/ContinuousMeasurement" + }, + { + "$ref": "#/components/schemas/ClassificationMeasurement" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "classification": "#/components/schemas/ClassificationMeasurement", + "continuous": "#/components/schemas/ContinuousMeasurement", + "unitless": "#/components/schemas/UnitlessMeasurement" + } + } + }, + "MetaDataDefinition": { + "oneOf": [ + { + "$ref": "#/components/schemas/MockMetaData" + }, + { + "$ref": "#/components/schemas/OgrMetaData" + }, + { + "$ref": "#/components/schemas/GdalMetaDataRegular" + }, + { + "$ref": "#/components/schemas/GdalMetaDataStatic" + }, + { + "$ref": "#/components/schemas/GdalMetadataNetCdfCf" + }, + { + "$ref": "#/components/schemas/GdalMetaDataList" + }, + { + "$ref": "#/components/schemas/GdalMultiBand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "GdalMetaDataList": "#/components/schemas/GdalMetaDataList", + "GdalMetaDataNetCdfCf": "#/components/schemas/GdalMetadataNetCdfCf", + "GdalMetaDataRegular": "#/components/schemas/GdalMetaDataRegular", + "GdalMultiBand": "#/components/schemas/GdalMultiBand", + "GdalStatic": "#/components/schemas/GdalMetaDataStatic", + "MockMetaData": "#/components/schemas/MockMetaData", + "OgrMetaData": "#/components/schemas/OgrMetaData" + } + } + }, + "MetaDataSuggestion": { + "type": "object", + "required": [ + "mainFile", + "layerName", + "metaData" + ], + "properties": { + "layerName": { + "type": "string" + }, + "mainFile": { + "type": "string" + }, + "metaData": { + "$ref": "#/components/schemas/MetaDataDefinition" + } + } + }, + "MlModel": { + "type": "object", + "required": [ + "name", + "displayName", + "description", + "upload", + "metadata", + "fileName" + ], + "properties": { + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/MlModelMetadata" + }, + "name": { + "$ref": "#/components/schemas/MlModelName" + }, + "upload": { + "$ref": "#/components/schemas/UploadId" + } + } + }, + "MlModelId": { + "type": "string", + "format": "uuid" + }, + "MlModelInputNoDataHandling": { + "type": "object", + "required": [ + "variant" + ], + "properties": { + "noDataValue": { + "type": [ + "number", + "null" + ], + "format": "float" + }, + "variant": { + "$ref": "#/components/schemas/MlModelInputNoDataHandlingVariant" + } + } + }, + "MlModelInputNoDataHandlingVariant": { + "type": "string", + "enum": [ + "encodedNoData", + "skipIfNoData" + ] + }, + "MlModelMetadata": { + "type": "object", + "required": [ + "inputType", + "outputType", + "inputShape", + "outputShape", + "inputNoDataHandling", + "outputNoDataHandling" + ], + "properties": { + "inputNoDataHandling": { + "$ref": "#/components/schemas/MlModelInputNoDataHandling" + }, + "inputShape": { + "$ref": "#/components/schemas/MlTensorShape3D" + }, + "inputType": { + "$ref": "#/components/schemas/RasterDataType" + }, + "outputNoDataHandling": { + "$ref": "#/components/schemas/MlModelOutputNoDataHandling" + }, + "outputShape": { + "$ref": "#/components/schemas/MlTensorShape3D" + }, + "outputType": { + "$ref": "#/components/schemas/RasterDataType" + } + } + }, + "MlModelName": { + "type": "string" + }, + "MlModelNameResponse": { + "type": "object", + "required": [ + "mlModelName" + ], + "properties": { + "mlModelName": { + "$ref": "#/components/schemas/MlModelName" + } + } + }, + "MlModelOutputNoDataHandling": { + "type": "object", + "required": [ + "variant" + ], + "properties": { + "noDataValue": { + "type": [ + "number", + "null" + ], + "format": "float" + }, + "variant": { + "$ref": "#/components/schemas/MlModelOutputNoDataHandlingVariant" + } + } + }, + "MlModelOutputNoDataHandlingVariant": { + "type": "string", + "enum": [ + "encodedNoData", + "nanIsNoData" + ] + }, + "MlModelResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "mlModel" + ] + } + } + }, + "MlTensorShape3D": { + "type": "object", + "description": "A struct describing tensor shape for `MlModelMetadata`", + "required": [ + "y", + "x", + "bands" + ], + "properties": { + "bands": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "x": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "y": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "MockDatasetDataSourceLoadingInfo": { + "type": "object", + "required": [ + "points" + ], + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + }, + "MockMetaData": { + "type": "object", + "required": [ + "type", + "loadingInfo", + "resultDescriptor" + ], + "properties": { + "loadingInfo": { + "$ref": "#/components/schemas/MockDatasetDataSourceLoadingInfo" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/VectorResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "MockMetaData" + ] + } + } + }, + "MultiBandRasterColorizer": { + "type": "object", + "required": [ + "type", + "redBand", + "redMin", + "redMax", + "greenBand", + "greenMin", + "greenMax", + "blueBand", + "blueMin", + "blueMax" + ], + "properties": { + "blueBand": { + "type": "integer", + "format": "int32", + "description": "The band index of the blue channel.", + "minimum": 0 + }, + "blueMax": { + "type": "number", + "format": "double", + "description": "The maximum value for the red channel." + }, + "blueMin": { + "type": "number", + "format": "double", + "description": "The minimum value for the red channel." + }, + "blueScale": { + "type": "number", + "format": "double", + "description": "A scaling factor for the blue channel between 0 and 1." + }, + "greenBand": { + "type": "integer", + "format": "int32", + "description": "The band index of the green channel.", + "minimum": 0 + }, + "greenMax": { + "type": "number", + "format": "double", + "description": "The maximum value for the red channel." + }, + "greenMin": { + "type": "number", + "format": "double", + "description": "The minimum value for the red channel." + }, + "greenScale": { + "type": "number", + "format": "double", + "description": "A scaling factor for the green channel between 0 and 1." + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor", + "description": "The color to use for no data values.\nIf not specified, the no data values will be transparent." + }, + "redBand": { + "type": "integer", + "format": "int32", + "description": "The band index of the red channel.", + "minimum": 0 + }, + "redMax": { + "type": "number", + "format": "double", + "description": "The maximum value for the red channel." + }, + "redMin": { + "type": "number", + "format": "double", + "description": "The minimum value for the red channel." + }, + "redScale": { + "type": "number", + "format": "double", + "description": "A scaling factor for the red channel between 0 and 1." + }, + "type": { + "type": "string", + "enum": [ + "multiBand" + ] + } + } + }, + "MultiLineString": { + "type": "object", + "required": [ + "coordinates" + ], + "properties": { + "coordinates": { + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + } + }, + "MultiPoint": { + "type": "object", + "required": [ + "coordinates" + ], + "properties": { + "coordinates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + }, + "MultiPolygon": { + "type": "object", + "required": [ + "polygons" + ], + "properties": { + "polygons": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + } + } + }, + "NamedData": { + "type": "string" + }, + "NetCdfCfDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "data", + "overviews" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "data": { + "type": "string", + "description": "Path were the `NetCDF` data can be found" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "overviews": { + "type": "string", + "description": "Path were overview files are stored" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "NetCdfCf" + ] + } + } + }, + "NoGeometry": { + "default": null + }, + "NumberParam": { + "oneOf": [ + { + "$ref": "#/components/schemas/StaticNumber" + }, + { + "$ref": "#/components/schemas/DerivedNumber" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "derived": "#/components/schemas/DerivedNumber", + "static": "#/components/schemas/StaticNumber" + } + } + }, + "OgcBoundingBox": { + "type": "string" + }, + "OgrMetaData": { + "type": "object", + "required": [ + "type", + "loadingInfo", + "resultDescriptor" + ], + "properties": { + "loadingInfo": { + "$ref": "#/components/schemas/OgrSourceDataset" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/VectorResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "OgrMetaData" + ] + } + } + }, + "OgrSourceColumnSpec": { + "type": "object", + "required": [ + "x" + ], + "properties": { + "bool": { + "type": "array", + "items": { + "type": "string" + } + }, + "datetime": { + "type": "array", + "items": { + "type": "string" + } + }, + "float": { + "type": "array", + "items": { + "type": "string" + } + }, + "formatSpecifics": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/FormatSpecifics" + } + ] + }, + "int": { + "type": "array", + "items": { + "type": "string" + } + }, + "rename": { + "type": [ + "object", + "null" + ], + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "text": { + "type": "array", + "items": { + "type": "string" + } + }, + "x": { + "type": "string" + }, + "y": { + "type": [ + "string", + "null" + ] + } + } + }, + "OgrSourceDataset": { + "type": "object", + "required": [ + "fileName", + "layerName", + "onError" + ], + "properties": { + "attributeQuery": { + "type": [ + "string", + "null" + ] + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "columns": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/OgrSourceColumnSpec" + } + ] + }, + "dataType": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/VectorDataType" + } + ] + }, + "defaultGeometry": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypedGeometry" + } + ] + }, + "fileName": { + "type": "string" + }, + "forceOgrSpatialFilter": { + "type": "boolean" + }, + "forceOgrTimeFilter": { + "type": "boolean" + }, + "layerName": { + "type": "string" + }, + "onError": { + "$ref": "#/components/schemas/OgrSourceErrorSpec" + }, + "sqlQuery": { + "type": [ + "string", + "null" + ] + }, + "time": { + "$ref": "#/components/schemas/OgrSourceDatasetTimeType" + } + } + }, + "OgrSourceDatasetTimeType": { + "oneOf": [ + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeNone" + }, + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStart" + }, + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" + }, + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "none": "#/components/schemas/OgrSourceDatasetTimeTypeNone", + "start": "#/components/schemas/OgrSourceDatasetTimeTypeStart", + "start+duration": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration", + "start+end": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" + } + } + }, + "OgrSourceDatasetTimeTypeNone": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "none" + ] + } + } + }, + "OgrSourceDatasetTimeTypeStart": { + "type": "object", + "required": [ + "type", + "startField", + "startFormat", + "duration" + ], + "properties": { + "duration": { + "$ref": "#/components/schemas/OgrSourceDurationSpec" + }, + "startField": { + "type": "string" + }, + "startFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "type": { + "type": "string", + "enum": [ + "start" + ] + } + } + }, + "OgrSourceDatasetTimeTypeStartDuration": { + "type": "object", + "required": [ + "type", + "startField", + "startFormat", + "durationField" + ], + "properties": { + "durationField": { + "type": "string" + }, + "startField": { + "type": "string" + }, + "startFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "type": { + "type": "string", + "enum": [ + "start+duration" + ] + } + } + }, + "OgrSourceDatasetTimeTypeStartEnd": { + "type": "object", + "required": [ + "type", + "startField", + "startFormat", + "endField", + "endFormat" + ], + "properties": { + "endField": { + "type": "string" + }, + "endFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "startField": { + "type": "string" + }, + "startFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "type": { + "type": "string", + "enum": [ + "start+end" + ] + } + } + }, + "OgrSourceDurationSpec": { + "oneOf": [ + { + "$ref": "#/components/schemas/OgrSourceDurationSpecInfinite" + }, + { + "$ref": "#/components/schemas/OgrSourceDurationSpecZero" + }, + { + "$ref": "#/components/schemas/OgrSourceDurationSpecValue" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "infinite": "#/components/schemas/OgrSourceDurationSpecInfinite", + "value": "#/components/schemas/OgrSourceDurationSpecValue", + "zero": "#/components/schemas/OgrSourceDurationSpecZero" + } + } + }, + "OgrSourceDurationSpecInfinite": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "infinite" + ] + } + } + }, + "OgrSourceDurationSpecValue": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeStep" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "value" + ] + } + } + } + ] + }, + "OgrSourceDurationSpecZero": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "zero" + ] + } + } + }, + "OgrSourceErrorSpec": { + "type": "string", + "enum": [ + "ignore", + "abort" + ] + }, + "OgrSourceTimeFormat": { + "oneOf": [ + { + "$ref": "#/components/schemas/OgrSourceTimeFormatCustom" + }, + { + "$ref": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" + }, + { + "$ref": "#/components/schemas/OgrSourceTimeFormatAuto" + } + ], + "discriminator": { + "propertyName": "format", + "mapping": { + "auto": "#/components/schemas/OgrSourceTimeFormatAuto", + "custom": "#/components/schemas/OgrSourceTimeFormatCustom", + "unixTimeStamp": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" + } + } + }, + "OgrSourceTimeFormatAuto": { + "type": "object", + "required": [ + "format" + ], + "properties": { + "format": { + "type": "string", + "enum": [ + "auto" + ] + } + } + }, + "OgrSourceTimeFormatCustom": { + "type": "object", + "required": [ + "format", + "customFormat" + ], + "properties": { + "customFormat": { + "$ref": "#/components/schemas/DateTimeParseFormat" + }, + "format": { + "type": "string", + "enum": [ + "custom" + ] + } + } + }, + "OgrSourceTimeFormatUnixTimeStamp": { + "type": "object", + "required": [ + "format", + "timestampType" + ], + "properties": { + "format": { + "type": "string", + "enum": [ + "unixTimeStamp" + ] + }, + "timestampType": { + "$ref": "#/components/schemas/UnixTimeStampType" + } + } + }, + "OperatorQuota": { + "type": "object", + "required": [ + "operatorName", + "operatorPath", + "count" + ], + "properties": { + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "operatorName": { + "type": "string" + }, + "operatorPath": { + "type": "string" + } + } + }, + "OrderBy": { + "type": "string", + "enum": [ + "NameAsc", + "NameDesc" + ] + }, + "Palette": { + "type": "object", + "description": "A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.", + "additionalProperties": { + "$ref": "#/components/schemas/RgbaColor" + }, + "propertyNames": { + "type": "number", + "format": "double" + } + }, + "PaletteColorizer": { + "type": "object", + "required": [ + "type", + "colors", + "noDataColor", + "defaultColor" + ], + "properties": { + "colors": { + "$ref": "#/components/schemas/Palette" + }, + "defaultColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "palette" + ] + } + } + }, + "PangaeaDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "baseUrl", + "cacheTtl" + ], + "properties": { + "baseUrl": { + "type": "string", + "format": "uri" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "Pangaea" + ] + } + } + }, + "Permission": { + "type": "string", + "enum": [ + "Read", + "Owner" + ] + }, + "PermissionListOptions": { + "type": "object", + "required": [ + "limit", + "offset" + ], + "properties": { + "limit": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "offset": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "PermissionListing": { + "type": "object", + "required": [ + "resource", + "role", + "permission" + ], + "properties": { + "permission": { + "$ref": "#/components/schemas/Permission" + }, + "resource": { + "$ref": "#/components/schemas/Resource" + }, + "role": { + "$ref": "#/components/schemas/Role" + } + } + }, + "PermissionRequest": { + "type": "object", + "description": "Request for adding a new permission to the given role on the given resource", + "required": [ + "resource", + "roleId", + "permission" + ], + "properties": { + "permission": { + "$ref": "#/components/schemas/Permission" + }, + "resource": { + "$ref": "#/components/schemas/Resource" + }, + "roleId": { + "$ref": "#/components/schemas/RoleId" + } + } + }, + "Plot": { + "type": "object", + "required": [ + "workflow", + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "workflow": { + "$ref": "#/components/schemas/WorkflowId" + } + } + }, + "PlotOutputFormat": { + "type": "string", + "enum": [ + "JsonPlain", + "JsonVega", + "ImagePng" + ] + }, + "PlotResultDescriptor": { + "type": "object", + "description": "A `ResultDescriptor` for plot queries", + "required": [ + "spatialReference" + ], + "properties": { + "bbox": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/BoundingBox2D" + } + ] + }, + "spatialReference": { + "type": "string" + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + } + } + }, + "PointSymbology": { + "type": "object", + "required": [ + "type", + "radius", + "fillColor", + "stroke" + ], + "properties": { + "fillColor": { + "$ref": "#/components/schemas/ColorParam" + }, + "radius": { + "$ref": "#/components/schemas/NumberParam" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + }, + "text": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TextSymbology" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + } + }, + "PolygonSymbology": { + "type": "object", + "required": [ + "type", + "fillColor", + "stroke", + "autoSimplified" + ], + "properties": { + "autoSimplified": { + "type": "boolean" + }, + "fillColor": { + "$ref": "#/components/schemas/ColorParam" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + }, + "text": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TextSymbology" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + } + }, + "Project": { + "type": "object", + "required": [ + "id", + "version", + "name", + "description", + "layers", + "plots", + "bounds", + "timeStep" + ], + "properties": { + "bounds": { + "$ref": "#/components/schemas/STRectangle" + }, + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "layers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectLayer" + } + }, + "name": { + "type": "string" + }, + "plots": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Plot" + } + }, + "timeStep": { + "$ref": "#/components/schemas/TimeStep" + }, + "version": { + "$ref": "#/components/schemas/ProjectVersion" + } + } + }, + "ProjectId": { + "type": "string", + "format": "uuid" + }, + "ProjectLayer": { + "type": "object", + "required": [ + "workflow", + "name", + "visibility", + "symbology" + ], + "properties": { + "name": { + "type": "string" + }, + "symbology": { + "$ref": "#/components/schemas/Symbology" + }, + "visibility": { + "$ref": "#/components/schemas/LayerVisibility" + }, + "workflow": { + "$ref": "#/components/schemas/WorkflowId" + } + } + }, + "ProjectListing": { + "type": "object", + "required": [ + "id", + "name", + "description", + "layerNames", + "plotNames", + "changed" + ], + "properties": { + "changed": { + "type": "string", + "format": "date-time" + }, + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "layerNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "plotNames": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ProjectResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "type": { + "type": "string", + "enum": [ + "project" + ] + } + } + }, + "ProjectUpdateToken": { + "type": "string", + "enum": [ + "none", + "delete" + ] + }, + "ProjectVersion": { + "type": "object", + "required": [ + "id", + "changed" + ], + "properties": { + "changed": { + "type": "string", + "format": "date-time" + }, + "id": { + "$ref": "#/components/schemas/ProjectVersionId" + } + } + }, + "ProjectVersionId": { + "type": "string", + "format": "uuid" + }, + "Property": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 2, + "minItems": 2 + }, + "Provenance": { + "type": "object", + "required": [ + "citation", + "license", + "uri" + ], + "properties": { + "citation": { + "type": "string" + }, + "license": { + "type": "string" + }, + "uri": { + "type": "string" + } + } + }, + "ProvenanceEntry": { + "type": "object", + "required": [ + "provenance", + "data" + ], + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DataId" + } + }, + "provenance": { + "$ref": "#/components/schemas/Provenance" + } + } + }, + "ProvenanceOutput": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "$ref": "#/components/schemas/DataId" + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + } + } + }, + "Provenances": { + "type": "object", + "required": [ + "provenances" + ], + "properties": { + "provenances": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Provenance" + } + } + } + }, + "ProviderCapabilities": { + "type": "object", + "required": [ + "listing", + "search" + ], + "properties": { + "listing": { + "type": "boolean" + }, + "search": { + "$ref": "#/components/schemas/SearchCapabilities" + } + } + }, + "ProviderLayerCollectionId": { + "type": "object", + "required": [ + "providerId", + "collectionId" + ], + "properties": { + "collectionId": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "providerId": { + "$ref": "#/components/schemas/DataProviderId" + } + } + }, + "ProviderLayerId": { + "type": "object", + "required": [ + "providerId", + "layerId" + ], + "properties": { + "layerId": { + "$ref": "#/components/schemas/LayerId" + }, + "providerId": { + "$ref": "#/components/schemas/DataProviderId" + } + } + }, + "Quota": { + "type": "object", + "required": [ + "available", + "used" + ], + "properties": { + "available": { + "type": "integer", + "format": "int64" + }, + "used": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + } + }, + "RasterBandDescriptor": { + "type": "object", + "required": [ + "name", + "measurement" + ], + "properties": { + "measurement": { + "$ref": "#/components/schemas/Measurement" + }, + "name": { + "type": "string" + } + } + }, + "RasterBandDescriptors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RasterBandDescriptor" + } + }, + "RasterColorizer": { + "oneOf": [ + { + "$ref": "#/components/schemas/SingleBandRasterColorizer" + }, + { + "$ref": "#/components/schemas/MultiBandRasterColorizer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "multiBand": "#/components/schemas/MultiBandRasterColorizer", + "singleBand": "#/components/schemas/SingleBandRasterColorizer" + } + } + }, + "RasterDataType": { + "type": "string", + "enum": [ + "U8", + "U16", + "U32", + "U64", + "I8", + "I16", + "I32", + "I64", + "F32", + "F64" + ] + }, + "RasterDatasetFromWorkflow": { + "type": "object", + "description": "parameter for the dataset from workflow handler (body)", + "required": [ + "displayName", + "query" + ], + "properties": { + "asCog": { + "type": "boolean", + "default": true + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "displayName": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DatasetName" + } + ] + }, + "query": { + "$ref": "#/components/schemas/RasterToDatasetQueryRectangle" + } + }, + "example": { + "name": "foo", + "displayName": "a new dataset", + "description": null, + "query": { + "spatialBounds": { + "upperLeftCoordinate": { + "x": -10.0, + "y": 80.0 + }, + "lowerRightCoordinate": { + "x": 50.0, + "y": 20.0 + } + }, + "timeInterval": { + "start": 1388534400000, + "end": 1388534401000 + } + } + } + }, + "RasterDatasetFromWorkflowResult": { + "type": "object", + "description": "response of the dataset from workflow handler", + "required": [ + "dataset", + "upload" + ], + "properties": { + "dataset": { + "$ref": "#/components/schemas/DatasetName" + }, + "upload": { + "$ref": "#/components/schemas/UploadId" + } + } + }, + "RasterPropertiesEntryType": { + "type": "string", + "enum": [ + "Number", + "String" + ] + }, + "RasterPropertiesKey": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "domain": { + "type": [ + "string", + "null" + ] + }, + "key": { + "type": "string" + } + } + }, + "RasterResultDescriptor": { + "type": "object", + "description": "A `ResultDescriptor` for raster queries", + "required": [ + "dataType", + "spatialReference", + "time", + "spatialGrid", + "bands" + ], + "properties": { + "bands": { + "$ref": "#/components/schemas/RasterBandDescriptors" + }, + "dataType": { + "$ref": "#/components/schemas/RasterDataType" + }, + "spatialGrid": { + "$ref": "#/components/schemas/SpatialGridDescriptor" + }, + "spatialReference": { + "type": "string" + }, + "time": { + "$ref": "#/components/schemas/TimeDescriptor" + } + } + }, + "RasterStreamWebsocketResultType": { + "type": "string", + "description": "The stream result type for `raster_stream_websocket`.", + "enum": [ + "arrow" + ] + }, + "RasterSymbology": { + "type": "object", + "required": [ + "type", + "opacity", + "rasterColorizer" + ], + "properties": { + "opacity": { + "type": "number", + "format": "double" + }, + "rasterColorizer": { + "$ref": "#/components/schemas/RasterColorizer" + }, + "type": { + "type": "string", + "enum": [ + "raster" + ] + } + } + }, + "RasterToDatasetQueryRectangle": { + "type": "object", + "description": "A spatio-temporal rectangle with a specified resolution", + "required": [ + "spatialBounds", + "timeInterval" + ], + "properties": { + "spatialBounds": { + "$ref": "#/components/schemas/SpatialPartition2D" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeInterval" + } + } + }, + "RegularTimeDimension": { + "type": "object", + "required": [ + "origin", + "step" + ], + "properties": { + "origin": { + "$ref": "#/components/schemas/TimeInstance" + }, + "step": { + "$ref": "#/components/schemas/TimeStep" + } + } + }, + "Resource": { + "oneOf": [ + { + "$ref": "#/components/schemas/LayerResource" + }, + { + "$ref": "#/components/schemas/LayerCollectionResource" + }, + { + "$ref": "#/components/schemas/ProjectResource" + }, + { + "$ref": "#/components/schemas/DatasetResource" + }, + { + "$ref": "#/components/schemas/MlModelResource" + }, + { + "$ref": "#/components/schemas/DataProviderResource" + } + ], + "description": "A resource that is affected by a permission.", + "discriminator": { + "propertyName": "type", + "mapping": { + "dataset": "#/components/schemas/DatasetResource", + "layer": "#/components/schemas/LayerResource", + "layerCollection": "#/components/schemas/LayerCollectionResource", + "mlModel": "#/components/schemas/MlModelResource", + "project": "#/components/schemas/ProjectResource", + "provider": "#/components/schemas/DataProviderResource" + } + } + }, + "RgbaColor": { + "type": "array", + "items": { + "type": "integer" + }, + "maxItems": 4, + "minItems": 4 + }, + "Role": { + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/RoleId" + }, + "name": { + "type": "string" + } + } + }, + "RoleDescription": { + "type": "object", + "required": [ + "role", + "individual" + ], + "properties": { + "individual": { + "type": "boolean" + }, + "role": { + "$ref": "#/components/schemas/Role" + } + } + }, + "RoleId": { + "type": "string", + "format": "uuid" + }, + "STRectangle": { + "type": "object", + "required": [ + "spatialReference", + "boundingBox", + "timeInterval" + ], + "properties": { + "boundingBox": { + "$ref": "#/components/schemas/BoundingBox2D" + }, + "spatialReference": { + "type": "string" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeInterval" + } + } + }, + "SearchCapabilities": { + "type": "object", + "required": [ + "searchTypes", + "autocomplete" + ], + "properties": { + "autocomplete": { + "type": "boolean" + }, + "filters": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "searchTypes": { + "$ref": "#/components/schemas/SearchTypes" + } + } + }, + "SearchType": { + "type": "string", + "enum": [ + "fulltext", + "prefix" + ] + }, + "SearchTypes": { + "type": "object", + "required": [ + "fulltext", + "prefix" + ], + "properties": { + "fulltext": { + "type": "boolean" + }, + "prefix": { + "type": "boolean" + } + } + }, + "Secret_String": { + "type": "string", + "description": "A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests." + }, + "SentinelS2L2ACogsProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "id", + "description", + "apiUrl" + ], + "properties": { + "apiUrl": { + "type": "string" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "gdalRetries": { + "type": "integer", + "minimum": 0 + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "queryBuffer": { + "$ref": "#/components/schemas/StacQueryBuffer" + }, + "stacApiRetries": { + "$ref": "#/components/schemas/StacApiRetries" + }, + "type": { + "type": "string", + "enum": [ + "SentinelS2L2ACogs" + ] + } + } + }, + "ServerInfo": { + "type": "object", + "required": [ + "buildDate", + "commitHash", + "version", + "features" + ], + "properties": { + "buildDate": { + "type": "string" + }, + "commitHash": { + "type": "string" + }, + "features": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "SessionId": { + "type": "string", + "format": "uuid" + }, + "SingleBandRasterColorizer": { + "type": "object", + "required": [ + "type", + "band", + "bandColorizer" + ], + "properties": { + "band": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "bandColorizer": { + "$ref": "#/components/schemas/Colorizer" + }, + "type": { + "type": "string", + "enum": [ + "singleBand" + ] + } + } + }, + "SpatialGridDefinition": { + "type": "object", + "required": [ + "geoTransform", + "gridBounds" + ], + "properties": { + "geoTransform": { + "$ref": "#/components/schemas/GeoTransform" + }, + "gridBounds": { + "$ref": "#/components/schemas/GridBoundingBox2D" + } + } + }, + "SpatialGridDescriptor": { + "type": "object", + "required": [ + "spatialGrid", + "descriptor" + ], + "properties": { + "descriptor": { + "$ref": "#/components/schemas/SpatialGridDescriptorState" + }, + "spatialGrid": { + "$ref": "#/components/schemas/SpatialGridDefinition" + } + } + }, + "SpatialGridDescriptorState": { + "type": "string", + "enum": [ + "source", + "derived" + ] + }, + "SpatialPartition2D": { + "type": "object", + "description": "A partition of space that include the upper left but excludes the lower right coordinate", + "required": [ + "upperLeftCoordinate", + "lowerRightCoordinate" + ], + "properties": { + "lowerRightCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "upperLeftCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + }, + "SpatialReferenceAuthority": { + "type": "string", + "description": "A spatial reference authority that is part of a spatial reference definition", + "enum": [ + "EPSG", + "SR-ORG", + "IAU2000", + "ESRI" + ] + }, + "SpatialReferenceSpecification": { + "type": "object", + "description": "The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)", + "required": [ + "name", + "spatialReference", + "projString", + "extent" + ], + "properties": { + "axisLabels": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/StringPair" + } + ] + }, + "axisOrder": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AxisOrder" + } + ] + }, + "extent": { + "$ref": "#/components/schemas/BoundingBox2D" + }, + "name": { + "type": "string" + }, + "projString": { + "type": "string" + }, + "spatialReference": { + "type": "string" + } + } + }, + "SpatialResolution": { + "type": "object", + "description": "The spatial resolution in SRS units", + "required": [ + "x", + "y" + ], + "properties": { + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + } + } + }, + "StacApiRetries": { + "type": "object", + "required": [ + "numberOfRetries", + "initialDelayMs", + "exponentialBackoffFactor" + ], + "properties": { + "exponentialBackoffFactor": { + "type": "number", + "format": "double" + }, + "initialDelayMs": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "numberOfRetries": { + "type": "integer", + "minimum": 0 + } + } + }, + "StacQueryBuffer": { + "type": "object", + "description": "A struct that represents buffers to apply to stac requests", + "required": [ + "startSeconds", + "endSeconds" + ], + "properties": { + "endSeconds": { + "type": "integer", + "format": "int64" + }, + "startSeconds": { + "type": "integer", + "format": "int64" + } + } + }, + "StaticColor": { + "type": "object", + "required": [ + "type", + "color" + ], + "properties": { + "color": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "static" + ] + } + } + }, + "StaticNumber": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "static" + ] + }, + "value": { + "type": "integer", + "minimum": 0 + } + } + }, + "StringPair": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 2, + "minItems": 2 + }, + "StrokeParam": { + "type": "object", + "required": [ + "width", + "color" + ], + "properties": { + "color": { + "$ref": "#/components/schemas/ColorParam" + }, + "width": { + "$ref": "#/components/schemas/NumberParam" + } + } + }, + "SuggestMetaData": { + "type": "object", + "required": [ + "dataPath" + ], + "properties": { + "dataPath": { + "$ref": "#/components/schemas/DataPath" + }, + "layerName": { + "type": [ + "string", + "null" + ] + }, + "mainFile": { + "type": [ + "string", + "null" + ] + } + } + }, + "Symbology": { + "oneOf": [ + { + "$ref": "#/components/schemas/RasterSymbology" + }, + { + "$ref": "#/components/schemas/PointSymbology" + }, + { + "$ref": "#/components/schemas/LineSymbology" + }, + { + "$ref": "#/components/schemas/PolygonSymbology" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "line": "#/components/schemas/LineSymbology", + "point": "#/components/schemas/PointSymbology", + "polygon": "#/components/schemas/PolygonSymbology", + "raster": "#/components/schemas/RasterSymbology" + } + } + }, + "TaskAbortOptions": { + "type": "object", + "properties": { + "force": { + "type": "boolean" + } + } + }, + "TaskFilter": { + "type": "string", + "enum": [ + "running", + "aborted", + "failed", + "completed" + ] + }, + "TaskId": { + "type": "string", + "format": "uuid" + }, + "TaskListOptions": { + "type": "object", + "properties": { + "filter": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TaskFilter" + } + ] + }, + "limit": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "offset": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "TaskResponse": { + "type": "object", + "description": "Create a task somewhere and respond with a task id to query the task status.", + "required": [ + "taskId" + ], + "properties": { + "taskId": { + "$ref": "#/components/schemas/TaskId" + } + } + }, + "TaskStatus": { + "oneOf": [ + { + "type": "object", + "title": "TaskStatusRunning", + "required": [ + "status", + "taskType", + "pctComplete", + "estimatedTimeRemaining", + "timeStarted" + ], + "properties": { + "description": { + "type": "string" + }, + "estimatedTimeRemaining": { + "type": "string" + }, + "info": {}, + "pctComplete": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "running" + ] + }, + "taskType": { + "type": "string" + }, + "timeStarted": { + "type": "string" + } + } + }, + { + "type": "object", + "title": "TaskStatusCompleted", + "required": [ + "status", + "taskType", + "timeTotal", + "timeStarted" + ], + "properties": { + "description": { + "type": "string" + }, + "info": {}, + "status": { + "type": "string", + "enum": [ + "completed" + ] + }, + "taskType": { + "type": "string" + }, + "timeStarted": { + "type": "string" + }, + "timeTotal": { + "type": "string" + } + } + }, + { + "type": "object", + "title": "TaskStatusAborted", + "required": [ + "status", + "cleanUp" + ], + "properties": { + "cleanUp": {}, + "status": { + "type": "string", + "enum": [ + "aborted" + ] + } + } + }, + { + "type": "object", + "title": "TaskStatusFailed", + "required": [ + "status", + "error", + "cleanUp" + ], + "properties": { + "cleanUp": {}, + "error": {}, + "status": { + "type": "string", + "enum": [ + "failed" + ] + } + } + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "aborted": "TaskStatusAborted", + "completed": "TaskStatusCompleted", + "failed": "TaskStatusFailed", + "running": "TaskStatusRunning" + } + } + }, + "TaskStatusWithId": { + "allOf": [ + { + "$ref": "#/components/schemas/TaskStatus" + }, + { + "type": "object", + "required": [ + "taskId" + ], + "properties": { + "taskId": { + "$ref": "#/components/schemas/TaskId" + } + } + } + ] + }, + "TextSymbology": { + "type": "object", + "required": [ + "attribute", + "fillColor", + "stroke" + ], + "properties": { + "attribute": { + "type": "string" + }, + "fillColor": { + "$ref": "#/components/schemas/ColorParam" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + } + } + }, + "TimeDescriptor": { + "type": "object", + "required": [ + "dimension" + ], + "properties": { + "bounds": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + }, + "dimension": { + "$ref": "#/components/schemas/TimeDimension" + } + } + }, + "TimeDimension": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/RegularTimeDimension" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "regular" + ] + } + } + } + ] + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "irregular" + ] + } + } + } + ] + }, + "TimeGranularity": { + "type": "string", + "description": "A time granularity.", + "enum": [ + "millis", + "seconds", + "minutes", + "hours", + "days", + "months", + "years" + ] + }, + "TimeInstance": { + "type": "integer", + "format": "int64" + }, + "TimeInterval": { + "type": "object", + "description": "Stores time intervals in ms in close-open semantic [start, end)", + "required": [ + "start", + "end" + ], + "properties": { + "end": { + "$ref": "#/components/schemas/TimeInstance" + }, + "start": { + "$ref": "#/components/schemas/TimeInstance" + } + } + }, + "TimeReference": { + "type": "string", + "enum": [ + "start", + "end" + ] + }, + "TimeStep": { + "type": "object", + "required": [ + "granularity", + "step" + ], + "properties": { + "granularity": { + "$ref": "#/components/schemas/TimeGranularity" + }, + "step": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "TypeNames": { + "type": "string" + }, + "TypedDataProviderDefinition": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArunaDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/CopernicusDataspaceDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/DatasetLayerListingProviderDefinition" + }, + { + "$ref": "#/components/schemas/EbvPortalDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/EdrDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/GbifDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/GfbioAbcdDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/GfbioCollectionsDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/NetCdfCfDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/PangaeaDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/SentinelS2L2ACogsProviderDefinition" + }, + { + "$ref": "#/components/schemas/WildliveDataConnectorDefinition" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "Aruna": "#/components/schemas/ArunaDataProviderDefinition", + "CopernicusDataspace": "#/components/schemas/CopernicusDataspaceDataProviderDefinition", + "DatasetLayerListing": "#/components/schemas/DatasetLayerListingProviderDefinition", + "EbvPortal": "#/components/schemas/EbvPortalDataProviderDefinition", + "Edr": "#/components/schemas/EdrDataProviderDefinition", + "Gbif": "#/components/schemas/GbifDataProviderDefinition", + "GfbioAbcd": "#/components/schemas/GfbioAbcdDataProviderDefinition", + "GfbioCollections": "#/components/schemas/GfbioCollectionsDataProviderDefinition", + "NetCdfCf": "#/components/schemas/NetCdfCfDataProviderDefinition", + "Pangaea": "#/components/schemas/PangaeaDataProviderDefinition", + "SentinelS2L2ACogs": "#/components/schemas/SentinelS2L2ACogsProviderDefinition", + "WildLIVE!": "#/components/schemas/WildliveDataConnectorDefinition" + } + } + }, + "TypedGeometry": { + "oneOf": [ + { + "type": "object", + "required": [ + "Data" + ], + "properties": { + "Data": { + "$ref": "#/components/schemas/NoGeometry" + } + } + }, + { + "type": "object", + "required": [ + "MultiPoint" + ], + "properties": { + "MultiPoint": { + "$ref": "#/components/schemas/MultiPoint" + } + } + }, + { + "type": "object", + "required": [ + "MultiLineString" + ], + "properties": { + "MultiLineString": { + "$ref": "#/components/schemas/MultiLineString" + } + } + }, + { + "type": "object", + "required": [ + "MultiPolygon" + ], + "properties": { + "MultiPolygon": { + "$ref": "#/components/schemas/MultiPolygon" + } + } + } + ] + }, + "TypedOperator": { + "type": "object", + "description": "An enum to differentiate between `Operator` variants", + "required": [ + "type", + "operator" + ], + "properties": { + "operator": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "params": { + "type": "object" + }, + "sources": { + "type": "object" + }, + "type": { + "type": "string" + } + } + }, + "type": { + "type": "string", + "enum": [ + "Vector", + "Raster", + "Plot" + ] + } + }, + "examples": [ + { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 0.0, + "y": 0.1 + }, + { + "x": 1.0, + "y": 1.1 + } + ] + } + } + ] + }, + "TypedPlotResultDescriptor": { + "allOf": [ + { + "$ref": "#/components/schemas/PlotResultDescriptor" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "plot" + ] + } + } + } + ] + }, + "TypedRasterResultDescriptor": { + "allOf": [ + { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "raster" + ] + } + } + } + ] + }, + "TypedResultDescriptor": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypedPlotResultDescriptor" + }, + { + "$ref": "#/components/schemas/TypedRasterResultDescriptor" + }, + { + "$ref": "#/components/schemas/TypedVectorResultDescriptor" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "plot": "#/components/schemas/TypedPlotResultDescriptor", + "raster": "#/components/schemas/TypedRasterResultDescriptor", + "vector": "#/components/schemas/TypedVectorResultDescriptor" + } + } + }, + "TypedVectorResultDescriptor": { + "allOf": [ + { + "$ref": "#/components/schemas/VectorResultDescriptor" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "vector" + ] + } + } + } + ] + }, + "UnitlessMeasurement": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "unitless" + ] + } + } + }, + "UnixTimeStampType": { + "type": "string", + "enum": [ + "epochSeconds", + "epochMilliseconds" + ] + }, + "UpdateDataset": { + "type": "object", + "required": [ + "name", + "display_name", + "description", + "tags" + ], + "properties": { + "description": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "name": { + "$ref": "#/components/schemas/DatasetName" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UpdateLayer": { + "type": "object", + "required": [ + "name", + "description", + "workflow" + ], + "properties": { + "description": { + "type": "string", + "example": "Example layer description" + }, + "metadata": { + "type": "object", + "description": "metadata used for loading the data", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "name": { + "type": "string", + "example": "Example Layer" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "workflow": { + "$ref": "#/components/schemas/Workflow" + } + } + }, + "UpdateLayerCollection": { + "type": "object", + "required": [ + "name", + "description" + ], + "properties": { + "description": { + "type": "string", + "example": "A description for an example collection" + }, + "name": { + "type": "string", + "example": "Example Collection" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + } + } + }, + "UpdateProject": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "bounds": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/STRectangle" + } + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "layers": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/VecUpdate" + } + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "plots": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/VecUpdate" + } + }, + "timeStep": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeStep" + } + ] + } + }, + "example": { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "name": "TestUpdate", + "layers": [ + { + "workflow": "100ee39c-761c-4218-9d85-ec861a8f3097", + "name": "L1", + "visibility": { + "data": true, + "legend": false + }, + "symbology": { + "type": "raster", + "opacity": 1.0, + "colorizer": { + "type": "linearGradient", + "breakpoints": [ + { + "value": 1.0, + "color": [ + 255, + 255, + 255, + 255 + ] + }, + { + "value": 2.0, + "color": [ + 0, + 0, + 0, + 255 + ] + } + ], + "noDataColor": [ + 0, + 0, + 0, + 0 + ], + "overColor": [ + 255, + 255, + 255, + 255 + ], + "underColor": [ + 0, + 0, + 0, + 255 + ] + } + } + } + ] + } + }, + "UpdateQuota": { + "type": "object", + "required": [ + "available" + ], + "properties": { + "available": { + "type": "integer", + "format": "int64" + } + } + }, + "UploadFileLayersResponse": { + "type": "object", + "required": [ + "layers" + ], + "properties": { + "layers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UploadFilesResponse": { + "type": "object", + "required": [ + "files" + ], + "properties": { + "files": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UploadId": { + "type": "string", + "format": "uuid" + }, + "UsageSummaryGranularity": { + "type": "string", + "enum": [ + "minutes", + "hours", + "days", + "months", + "years" + ] + }, + "UserCredentials": { + "type": "object", + "required": [ + "email", + "password" + ], + "properties": { + "email": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "example": { + "email": "foo@example.com", + "password": "secret123" + } + }, + "UserId": { + "type": "string", + "format": "uuid" + }, + "UserInfo": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "email": { + "type": [ + "string", + "null" + ] + }, + "id": { + "$ref": "#/components/schemas/UserId" + }, + "realName": { + "type": [ + "string", + "null" + ] + } + } + }, + "UserRegistration": { + "type": "object", + "required": [ + "email", + "password", + "realName" + ], + "properties": { + "email": { + "type": "string" + }, + "password": { + "type": "string" + }, + "realName": { + "type": "string" + } + }, + "example": { + "email": "foo@example.com", + "password": "secret123", + "realName": "Foo Bar" + } + }, + "UserSession": { + "type": "object", + "required": [ + "id", + "user", + "created", + "validUntil", + "roles" + ], + "properties": { + "created": { + "type": "string", + "format": "date-time" + }, + "id": { + "$ref": "#/components/schemas/SessionId" + }, + "project": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ProjectId" + } + ] + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RoleId" + } + }, + "user": { + "$ref": "#/components/schemas/UserInfo" + }, + "validUntil": { + "type": "string", + "format": "date-time" + }, + "view": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/STRectangle" + } + ] + } + } + }, + "VecUpdate": { + "oneOf": [ + { + "$ref": "#/components/schemas/ProjectUpdateToken" + }, + { + "$ref": "#/components/schemas/Plot" + } + ] + }, + "VectorColumnInfo": { + "type": "object", + "required": [ + "dataType", + "measurement" + ], + "properties": { + "dataType": { + "$ref": "#/components/schemas/FeatureDataType" + }, + "measurement": { + "$ref": "#/components/schemas/Measurement" + } + } + }, + "VectorDataType": { + "type": "string", + "description": "An enum that contains all possible vector data types", + "enum": [ + "Data", + "MultiPoint", + "MultiLineString", + "MultiPolygon" + ] + }, + "VectorResultDescriptor": { + "type": "object", + "required": [ + "dataType", + "spatialReference", + "columns" + ], + "properties": { + "bbox": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/BoundingBox2D" + } + ] + }, + "columns": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/VectorColumnInfo" + }, + "propertyNames": { + "type": "string" + } + }, + "dataType": { + "$ref": "#/components/schemas/VectorDataType" + }, + "spatialReference": { + "type": "string" + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + } + } + }, + "Volume": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + } + } + }, + "VolumeFileLayersResponse": { + "type": "object", + "required": [ + "layers" + ], + "properties": { + "layers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "VolumeName": { + "type": "string" + }, + "WcsBoundingbox": { + "type": "object", + "required": [ + "bbox" + ], + "properties": { + "bbox": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "spatial_reference": { + "type": [ + "string", + "null" + ] + } + } + }, + "WcsService": { + "type": "string", + "enum": [ + "WCS" + ] + }, + "WcsVersion": { + "type": "string", + "enum": [ + "1.1.0", + "1.1.1" + ] + }, + "WfsService": { + "type": "string", + "enum": [ + "WFS" + ] + }, + "WfsVersion": { + "type": "string", + "enum": [ + "2.0.0" + ] + }, + "WildliveDataConnectorDefinition": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description" + ], + "properties": { + "description": { + "type": "string" + }, + "expiryDate": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "refreshToken": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Secret_String" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "WildLIVE!" + ] + }, + "user": { + "type": [ + "string", + "null" + ] + } + } + }, + "WmsService": { + "type": "string", + "enum": [ + "WMS" + ] + }, + "WmsVersion": { + "type": "string", + "enum": [ + "1.3.0" + ] + }, + "Workflow": { + "allOf": [ + { + "$ref": "#/components/schemas/TypedOperator" + } + ] + }, + "WorkflowId": { + "type": "string", + "format": "uuid" + }, + "WrappedPlotOutput": { + "type": "object", + "required": [ + "outputFormat", + "plotType", + "data" + ], + "properties": { + "data": { + "type": "object" + }, + "outputFormat": { + "$ref": "#/components/schemas/PlotOutputFormat" + }, + "plotType": { + "type": "string" + } + } + } + }, + "responses": { + "BadRequestQueryResponse": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Missing field in query string": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: missing field `offset`" + } + }, + "Number in query string contains letters": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: invalid digit found in string" + } + } + } + } + } + }, + "IdResponse": { + "description": "Id of generated resource", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "IdResponse", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "format": "uuid" + } + } + }, + "example": { + "id": "36574dc3-560a-4b09-9d22-d5945f2b8093" + } + } + } + }, + "PayloadTooLargeResponse": { + "description": "Payload too large", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Known payload size": { + "value": { + "error": "Overflow", + "message": "JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)." + } + }, + "Unknown payload size": { + "value": { + "error": "Overflow", + "message": "JSON payload has exceeded limit (2097152 bytes)." + } + } + } + } + } + }, + "PngResponse": { + "description": "PNG Image", + "content": { + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "UnauthorizedAdminResponse": { + "description": "Authorization failed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Auth token does not correspond to an admin": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Invalid admin token" + } + }, + "Authorization Header is missing": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Header with authorization token not provided." + } + }, + "Authorization Scheme other than Bearer is used": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Authentication scheme must be Bearer." + } + }, + "Provided auth token has an invalid format": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Identifier does not have the right format." + } + }, + "Session id is invalid": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: The session id is invalid." + } + } + } + } + } + }, + "UnauthorizedUserResponse": { + "description": "Authorization failed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Authorization Header is missing": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Header with authorization token not provided." + } + }, + "Authorization Scheme other than Bearer is used": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Authentication scheme must be Bearer." + } + }, + "Provided auth token has an invalid format": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Identifier does not have the right format." + } + }, + "Session id is invalid": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: The session id is invalid." + } + } + } + } + } + }, + "UnsupportedMediaTypeForJsonResponse": { + "description": "Media type of application/json is expected", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "error": "UnsupportedMediaType", + "message": "Unsupported content type header." + } + } + } + }, + "ZipResponse": { + "description": "ZIP Archive", + "content": { + "application/zip": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + } + }, + "securitySchemes": { + "session_token": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "UUID", + "description": "A valid session token can be obtained via the /anonymous or /login endpoints." + } + } + }, + "externalDocs": { + "url": "https://docs.geoengine.io", + "description": "Geo Engine Docs" + } +} diff --git a/python/README.md b/python/README.md index 44c502ab..0ec466f3 100644 --- a/python/README.md +++ b/python/README.md @@ -55,10 +55,10 @@ import geoengine_openapi_client from geoengine_openapi_client.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to http://127.0.0.1:3030/api +# Defining the host is optional and defaults to https://geoengine.io/api # See configuration.py for a list of all supported configuration parameters. configuration = geoengine_openapi_client.Configuration( - host = "http://127.0.0.1:3030/api" + host = "https://geoengine.io/api" ) # The client must configure the authentication and authorization parameters @@ -89,7 +89,7 @@ with geoengine_openapi_client.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- diff --git a/python/geoengine_openapi_client/configuration.py b/python/geoengine_openapi_client/configuration.py index 111111a6..a5f5673a 100644 --- a/python/geoengine_openapi_client/configuration.py +++ b/python/geoengine_openapi_client/configuration.py @@ -195,7 +195,7 @@ def __init__( ) -> None: """Constructor """ - self._base_path = "http://127.0.0.1:3030/api" if host is None else host + self._base_path = "https://geoengine.io/api" if host is None else host """Default Base url """ self.server_index = 0 if server_index is None and host is None else server_index @@ -526,8 +526,14 @@ def get_host_settings(self) -> List[HostSetting]: """ return [ { - 'url': "http://127.0.0.1:3030/api", + 'url': "{server}/api", 'description': "No description provided", + 'variables': { + 'server': { + 'description': "No description provided", + 'default_value': "https://geoengine.io", + } + } } ] diff --git a/typescript/README.md b/typescript/README.md index f0d87009..ed1ba0cd 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -1,6 +1,6 @@ # @geoengine/openapi-client@0.0.30 -A TypeScript SDK client for the 127.0.0.1 API. +A TypeScript SDK client for the geoengine.io API. ## Usage @@ -52,7 +52,7 @@ example().catch(console.error); ### API Endpoints -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Class | Method | HTTP request | Description | ----- | ------ | ------------ | ------------- diff --git a/typescript/dist/esm/runtime.js b/typescript/dist/esm/runtime.js index ddb74be0..d8d84515 100644 --- a/typescript/dist/esm/runtime.js +++ b/typescript/dist/esm/runtime.js @@ -20,7 +20,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); +export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); export class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/dist/runtime.js b/typescript/dist/runtime.js index f1d84562..f2d35eb0 100644 --- a/typescript/dist/runtime.js +++ b/typescript/dist/runtime.js @@ -27,7 +27,7 @@ exports.querystring = querystring; exports.exists = exists; exports.mapValues = mapValues; exports.canConsumeForm = canConsumeForm; -exports.BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); +exports.BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/docs/DatasetsApi.md b/typescript/docs/DatasetsApi.md index 644940f4..74478f19 100644 --- a/typescript/docs/DatasetsApi.md +++ b/typescript/docs/DatasetsApi.md @@ -1,6 +1,6 @@ # DatasetsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/GeneralApi.md b/typescript/docs/GeneralApi.md index af2a6a74..aae4f23d 100644 --- a/typescript/docs/GeneralApi.md +++ b/typescript/docs/GeneralApi.md @@ -1,6 +1,6 @@ # GeneralApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/LayersApi.md b/typescript/docs/LayersApi.md index ff45f377..fb62468e 100644 --- a/typescript/docs/LayersApi.md +++ b/typescript/docs/LayersApi.md @@ -1,6 +1,6 @@ # LayersApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/MLApi.md b/typescript/docs/MLApi.md index 94b75c90..2fac8af1 100644 --- a/typescript/docs/MLApi.md +++ b/typescript/docs/MLApi.md @@ -1,6 +1,6 @@ # MLApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWCSApi.md b/typescript/docs/OGCWCSApi.md index b190afc5..4492bb5b 100644 --- a/typescript/docs/OGCWCSApi.md +++ b/typescript/docs/OGCWCSApi.md @@ -1,6 +1,6 @@ # OGCWCSApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index a1539b53..6288e64b 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -1,6 +1,6 @@ # OGCWFSApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index 9a3e48d2..ca2643ed 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -1,6 +1,6 @@ # OGCWMSApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/PermissionsApi.md b/typescript/docs/PermissionsApi.md index e6d74059..2488d005 100644 --- a/typescript/docs/PermissionsApi.md +++ b/typescript/docs/PermissionsApi.md @@ -1,6 +1,6 @@ # PermissionsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/PlotsApi.md b/typescript/docs/PlotsApi.md index fa6e82fa..74416d28 100644 --- a/typescript/docs/PlotsApi.md +++ b/typescript/docs/PlotsApi.md @@ -1,6 +1,6 @@ # PlotsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/ProjectsApi.md b/typescript/docs/ProjectsApi.md index ac5907cb..be9574d5 100644 --- a/typescript/docs/ProjectsApi.md +++ b/typescript/docs/ProjectsApi.md @@ -1,6 +1,6 @@ # ProjectsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/SessionApi.md b/typescript/docs/SessionApi.md index a196058b..b79cd89f 100644 --- a/typescript/docs/SessionApi.md +++ b/typescript/docs/SessionApi.md @@ -1,6 +1,6 @@ # SessionApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/SpatialReferencesApi.md b/typescript/docs/SpatialReferencesApi.md index 599b322a..a0fcccbf 100644 --- a/typescript/docs/SpatialReferencesApi.md +++ b/typescript/docs/SpatialReferencesApi.md @@ -1,6 +1,6 @@ # SpatialReferencesApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/TasksApi.md b/typescript/docs/TasksApi.md index d8414212..dac812ec 100644 --- a/typescript/docs/TasksApi.md +++ b/typescript/docs/TasksApi.md @@ -1,6 +1,6 @@ # TasksApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UploadsApi.md b/typescript/docs/UploadsApi.md index 9c749ed0..b5b5dc75 100644 --- a/typescript/docs/UploadsApi.md +++ b/typescript/docs/UploadsApi.md @@ -1,6 +1,6 @@ # UploadsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UserApi.md b/typescript/docs/UserApi.md index ec95ace7..52310dad 100644 --- a/typescript/docs/UserApi.md +++ b/typescript/docs/UserApi.md @@ -1,6 +1,6 @@ # UserApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/WorkflowsApi.md b/typescript/docs/WorkflowsApi.md index d2404b87..73948165 100644 --- a/typescript/docs/WorkflowsApi.md +++ b/typescript/docs/WorkflowsApi.md @@ -1,6 +1,6 @@ # WorkflowsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/src/runtime.ts b/typescript/src/runtime.ts index ee33a1d3..2f290740 100644 --- a/typescript/src/runtime.ts +++ b/typescript/src/runtime.ts @@ -13,7 +13,7 @@ */ -export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); +export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); export interface ConfigurationParameters { basePath?: string; // override base path From fa52d6302e733b1055f968f07d20189036e22dbc Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Wed, 26 Nov 2025 13:57:30 +0100 Subject: [PATCH 10/15] update openapi-client --- .generation/input/openapi.json | 11158 +--------------- .generation/post-process/python.py | 18 - python/README.md | 6 +- .../geoengine_openapi_client/configuration.py | 10 +- typescript/README.md | 4 +- typescript/dist/esm/runtime.js | 2 +- typescript/dist/runtime.js | 2 +- typescript/docs/DatasetsApi.md | 2 +- typescript/docs/GeneralApi.md | 2 +- typescript/docs/LayersApi.md | 2 +- typescript/docs/MLApi.md | 2 +- typescript/docs/OGCWCSApi.md | 2 +- typescript/docs/OGCWFSApi.md | 2 +- typescript/docs/OGCWMSApi.md | 2 +- typescript/docs/PermissionsApi.md | 2 +- typescript/docs/PlotsApi.md | 2 +- typescript/docs/ProjectsApi.md | 2 +- typescript/docs/SessionApi.md | 2 +- typescript/docs/SpatialReferencesApi.md | 2 +- typescript/docs/TasksApi.md | 2 +- typescript/docs/UploadsApi.md | 2 +- typescript/docs/UserApi.md | 2 +- typescript/docs/WorkflowsApi.md | 2 +- typescript/src/runtime.ts | 2 +- 24 files changed, 27 insertions(+), 11207 deletions(-) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index a5994237..fb114c6d 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1,11157 +1 @@ -{ - "openapi": "3.1.0", - "info": { - "title": "Geo Engine API", - "description": "", - "contact": { - "name": "Geo Engine Developers", - "email": "dev@geoengine.de" - }, - "license": { - "name": "Apache-2.0", - "url": "https://github.com/geo-engine/geoengine/blob/main/LICENSE" - }, - "version": "0.9.0" - }, - "servers": [ - { - "url": "{server}/api", - "variables": { - "server": { - "default": "https://geoengine.io" - } - } - } - ], - "paths": { - "/anonymous": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates session for anonymous user. The session's id serves as a Bearer token for requests.", - "operationId": "anonymous_handler", - "responses": { - "200": { - "description": "The created session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": null, - "realName": null - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null, - "roles": [ - "8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a", - "fd8e87bf-515c-4f36-8da6-1a53702ff102" - ] - } - } - } - } - } - } - }, - "/available": { - "get": { - "tags": [ - "General" - ], - "summary": "Server availablity check.", - "operationId": "available_handler", - "responses": { - "204": { - "description": "Server availablity check" - } - } - } - }, - "/dataset": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.", - "operationId": "create_dataset_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DatasetNameResponse" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/auto": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.", - "operationId": "auto_create_dataset_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoCreateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DatasetNameResponse" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Body is invalid json": { - "value": { - "error": "BodyDeserializeError", - "message": "expected `,` or `}` at line 13 column 7" - } - }, - "Dataset has no auto-importable layer": { - "value": { - "error": "DatasetHasNoAutoImportableLayer", - "message": "Dataset has no auto importable layer" - } - }, - "Dataset name is empty": { - "value": { - "error": "InvalidDatasetName", - "message": "Invalid dataset name" - } - }, - "Failed to read body": { - "value": { - "error": "Payload", - "message": "Error that occur during reading payload: Can not decode content-encoding." - } - }, - "File does not exist": { - "value": { - "error": "GdalError", - "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" - } - }, - "Referenced an unknown upload": { - "value": { - "error": "UnknownUploadId", - "message": "Unknown upload id" - } - }, - "Upload filename is invalid": { - "value": { - "error": "InvalidUploadFileName", - "message": "Invalid upload file name" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - }, - "413": { - "$ref": "#/components/responses/PayloadTooLargeResponse" - }, - "415": { - "$ref": "#/components/responses/UnsupportedMediaTypeForJsonResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/suggest": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.", - "operationId": "suggest_meta_data_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SuggestMetaData" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetaDataSuggestion" - }, - "example": { - "mainFile": "germany_polygon.gpkg", - "metaData": { - "type": "OgrMetaData", - "loadingInfo": { - "fileName": "upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg", - "layerName": "test_germany", - "dataType": "MultiPolygon", - "time": { - "type": "none" - }, - "defaultGeometry": null, - "columns": { - "formatSpecifics": null, - "x": "", - "y": null, - "int": [], - "float": [], - "text": [], - "bool": [], - "datetime": [], - "rename": null - }, - "forceOgrTimeFilter": false, - "forceOgrSpatialFilter": false, - "onError": "ignore", - "sqlQuery": null, - "attributeQuery": null - }, - "resultDescriptor": { - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326", - "columns": {}, - "time": null, - "bbox": null - } - } - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Dataset has no auto-importable layer": { - "value": { - "error": "DatasetHasNoAutoImportableLayer", - "message": "Dataset has no auto importable layer" - } - }, - "File does not exist": { - "value": { - "error": "GdalError", - "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" - } - }, - "Missing field in query string": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: missing field `offset`" - } - }, - "No suitable mainfile found": { - "value": { - "error": "NoMainFileCandidateFound", - "message": "No main file candidate found" - } - }, - "Number in query string contains letters": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: invalid digit found in string" - } - }, - "Referenced an unknown upload": { - "value": { - "error": "UnknownUploadId", - "message": "Unknown upload id" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/volumes": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Lists available volumes.", - "operationId": "list_volumes_handler", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Volume" - } - }, - "example": [ - { - "name": "test_data", - "path": "./test_data/" - } - ] - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedAdminResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/volumes/{volume_name}/files/{file_name}/layers": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "List the layers of a file in a volume.", - "operationId": "list_volume_file_layers_handler", - "parameters": [ - { - "name": "volume_name", - "in": "path", - "description": "Volume name", - "required": true, - "schema": { - "$ref": "#/components/schemas/VolumeName" - } - }, - { - "name": "file_name", - "in": "path", - "description": "File name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VolumeFileLayersResponse" - }, - "example": { - "layers": [ - "layer1", - "layer2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Retrieves details about a dataset using the internal name.", - "operationId": "get_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Dataset" - }, - "example": { - "id": { - "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" - }, - "name": "Germany", - "description": "Boundaries of Germany", - "resultDescriptor": { - "vector": { - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326", - "columns": {} - } - }, - "sourceOperator": "OgrSource" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Referenced an unknown dataset": { - "value": { - "error": "CannotLoadDataset", - "message": "CannotLoadDataset: UnknownDatasetName" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "Datasets" - ], - "summary": "Update details about a dataset using the internal name.", - "operationId": "update_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Referenced an unknown dataset": { - "value": { - "error": "CannotLoadDataset", - "message": "CannotLoadDataset: UnknownDatasetName" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Datasets" - ], - "summary": "Delete a dataset", - "operationId": "delete_dataset_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Given dataset can only be deleted by owner": { - "value": { - "error": "OperationRequiresOwnerPermission", - "message": "Operation requires owner permission" - } - }, - "Referenced an unknown dataset": { - "value": { - "error": "UnknownDatasetName", - "message": "Unknown dataset name" - } - } - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/loadingInfo": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Retrieves the loading information of a dataset", - "operationId": "get_loading_info_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetaDataDefinition" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "put": { - "tags": [ - "Datasets" - ], - "summary": "Updates the dataset's loading info", - "operationId": "update_loading_info_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetaDataDefinition" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/provenance": { - "put": { - "tags": [ - "Datasets" - ], - "operationId": "update_dataset_provenance_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Provenances" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/symbology": { - "put": { - "tags": [ - "Datasets" - ], - "summary": "Updates the dataset's symbology", - "operationId": "update_dataset_symbology_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Symbology" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - } - } - } - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/dataset/{dataset}/tiles": { - "post": { - "tags": [ - "Datasets" - ], - "summary": "Add a tile to a gdal dataset.", - "operationId": "add_dataset_tiles_handler", - "parameters": [ - { - "name": "dataset", - "in": "path", - "description": "Dataset Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/DatasetName" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoCreateDataset" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/datasetFromWorkflow/{id}": { - "post": { - "tags": [ - "Workflows" - ], - "summary": "Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task", - "operationId": "dataset_from_workflow_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RasterDatasetFromWorkflow" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Id of created task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskResponse" - }, - "example": { - "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/datasets": { - "get": { - "tags": [ - "Datasets" - ], - "summary": "Lists available datasets.", - "operationId": "list_datasets_handler", - "parameters": [ - { - "name": "filter", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "Germany" - }, - { - "name": "order", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/OrderBy" - }, - "example": "NameAsc" - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 2 - }, - { - "name": "tags", - "in": "query", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "example": "['tag1', 'tag2']" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DatasetListing" - } - }, - "example": [ - { - "id": { - "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" - }, - "name": "Germany", - "description": "Boundaries of Germany", - "tags": [], - "sourceOperator": "OgrSource", - "resultDescriptor": { - "vector": { - "dataType": "MultiPolygon", - "spatialReference": "EPSG:4326", - "columns": {} - } - } - } - ] - } - } - }, - "400": { - "$ref": "#/components/responses/BadRequestQueryResponse" - }, - "401": { - "$ref": "#/components/responses/UnauthorizedUserResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/info": { - "get": { - "tags": [ - "General" - ], - "summary": "Shows information about the server software version.", - "operationId": "server_info_handler", - "responses": { - "200": { - "description": "Server software information", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServerInfo" - }, - "example": { - "buildDate": "2022-09-29", - "commitHash": "555dc6d84d3682c37490a145d53c5097d0b81b27", - "version": "0.7.0", - "features": "default" - } - } - } - } - } - } - }, - "/layerDb/collections/{collection}": { - "put": { - "tags": [ - "Layers" - ], - "summary": "Update a collection", - "operationId": "update_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateLayerCollection" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a collection", - "operationId": "remove_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/collections": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new collection to an existing collection", - "operationId": "add_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddLayerCollection" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/layers": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new layer to a collection", - "operationId": "add_layer", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddLayer" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{collection}/layers/{layer}": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add an existing layer to a collection", - "operationId": "add_existing_layer_to_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a layer from a collection", - "operationId": "remove_layer_from_collection", - "parameters": [ - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/collections/{parent}/collections/{collection}": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Add an existing collection to a collection", - "operationId": "add_existing_collection_to_collection", - "parameters": [ - { - "name": "parent", - "in": "path", - "description": "Parent layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Delete a collection from a collection", - "operationId": "remove_collection_from_collection", - "parameters": [ - { - "name": "parent", - "in": "path", - "description": "Parent layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/layers/{layer}": { - "put": { - "tags": [ - "Layers" - ], - "summary": "Update a layer", - "operationId": "update_layer", - "parameters": [ - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateLayer" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Remove a collection", - "operationId": "remove_layer", - "parameters": [ - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/providers": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List all providers", - "operationId": "list_providers", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LayerProviderListing" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "Layers" - ], - "summary": "Add a new provider", - "operationId": "add_provider", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedDataProviderDefinition" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layerDb/providers/{provider}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Get an existing provider's definition", - "operationId": "get_provider_definition", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Layer provider id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedDataProviderDefinition" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "put": { - "tags": [ - "Layers" - ], - "summary": "Update an existing provider's definition", - "operationId": "update_provider_definition", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Layer provider id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedDataProviderDefinition" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Layers" - ], - "summary": "Delete an existing provider", - "operationId": "delete_provider", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Layer provider id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List all layer collections", - "operationId": "list_root_collections_handler", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "id": { - "providerId": "1c3b8042-300b-485c-95b5-0147d9dc068d", - "collectionId": "f2424474-ef24-4c18-ab84-68592e12ce48" - }, - "name": "Layer Providers", - "description": "All available Geo Engine layer providers", - "items": [ - { - "type": "collection", - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" - }, - "name": "Datasets", - "description": "Basic Layers for all Datasets" - }, - { - "type": "collection", - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - "name": "Layers", - "description": "All available Geo Engine layers" - } - ], - "entryLabel": null, - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections/search/autocomplete/{provider}/{collection}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Autocompletes the search on the contents of the collection of the given provider", - "operationId": "autocomplete_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - }, - "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "searchType", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SearchType" - }, - "example": "fulltext" - }, - { - "name": "searchString", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "test" - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "20" - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "0" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "example": [ - "An empty collection", - "Ports in Germany" - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections/search/{provider}/{collection}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Searches the contents of the collection of the given provider", - "operationId": "search_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - }, - "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - { - "name": "searchType", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SearchType" - }, - "example": "fulltext" - }, - { - "name": "searchString", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "test" - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "20" - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": "0" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" - }, - "name": "Layers", - "description": "All available Geo Engine layers", - "items": [ - { - "type": "collection", - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "collectionId": "a29f77cc-51ce-466b-86ef-d0ab2170bc0a" - }, - "name": "An empty collection", - "description": "There is nothing here", - "properties": [] - }, - { - "type": "layer", - "id": { - "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", - "layerId": "b75db46e-2b9a-4a86-b33f-bc06a73cd711" - }, - "name": "Ports in Germany", - "description": "Natural Earth Ports point filtered with Germany polygon", - "properties": [] - } - ], - "entryLabel": null, - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/collections/{provider}/{collection}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "List the contents of the collection of the given provider", - "operationId": "list_collection_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "collection", - "in": "path", - "description": "Layer collection id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LayerCollection" - }, - "example": { - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" - }, - "name": "Datasets", - "description": "Basic Layers for all Datasets", - "items": [ - { - "type": "layer", - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" - }, - "name": "Land Cover", - "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover" - }, - { - "type": "layer", - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "layerId": "36574dc3-560a-4b09-9d22-d5945f2b8093" - }, - "name": "NDVI", - "description": "NDVI data from MODIS" - } - ], - "entryLabel": null, - "properties": [] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/capabilities": { - "get": { - "tags": [ - "Layers" - ], - "operationId": "provider_capabilities_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProviderCapabilities" - }, - "example": { - "listing": true, - "search": { - "search_types": { - "fulltext": true, - "prefix": true - }, - "autocomplete": true, - "filters": [] - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}": { - "get": { - "tags": [ - "Layers" - ], - "summary": "Retrieves the layer of the given provider", - "operationId": "layer_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Layer" - }, - "example": { - "id": { - "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", - "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" - }, - "name": "Land Cover", - "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover", - "workflow": { - "type": "Raster", - "operator": { - "type": "GdalSource", - "params": { - "data": { - "type": "internal", - "datasetId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" - } - } - } - }, - "symbology": { - "type": "raster", - "opacity": 1, - "colorizer": { - "type": "palette", - "colors": { - "0": [ - 134, - 201, - 227, - 255 - ], - "1": [ - 30, - 129, - 62, - 255 - ], - "2": [ - 59, - 194, - 212, - 255 - ], - "3": [ - 157, - 194, - 63, - 255 - ], - "4": [ - 159, - 225, - 127, - 255 - ], - "5": [ - 125, - 194, - 127, - 255 - ], - "6": [ - 195, - 127, - 126, - 255 - ], - "7": [ - 188, - 221, - 190, - 255 - ], - "8": [ - 224, - 223, - 133, - 255 - ], - "9": [ - 226, - 221, - 7, - 255 - ], - "10": [ - 223, - 192, - 125, - 255 - ], - "11": [ - 66, - 128, - 189, - 255 - ], - "12": [ - 225, - 222, - 127, - 255 - ], - "13": [ - 253, - 2, - 0, - 255 - ], - "14": [ - 162, - 159, - 66, - 255 - ], - "15": [ - 255, - 255, - 255, - 255 - ], - "16": [ - 192, - 192, - 192, - 255 - ] - }, - "noDataColor": [ - 0, - 0, - 0, - 0 - ], - "defaultColor": [ - 0, - 0, - 0, - 0 - ] - } - }, - "properties": [], - "metadata": {} - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}/dataset": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Persist a raster layer from a provider as a dataset.", - "operationId": "layer_to_dataset", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerId" - } - } - ], - "responses": { - "200": { - "description": "Id of created task", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskResponse" - }, - "example": { - "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/layers/{provider}/{layer}/workflowId": { - "post": { - "tags": [ - "Layers" - ], - "summary": "Registers a layer from a provider as a workflow and returns the workflow id", - "operationId": "layer_to_workflow_id_handler", - "parameters": [ - { - "name": "provider", - "in": "path", - "description": "Data provider id", - "required": true, - "schema": { - "$ref": "#/components/schemas/DataProviderId" - } - }, - { - "name": "layer", - "in": "path", - "description": "Layer id", - "required": true, - "schema": { - "$ref": "#/components/schemas/LayerCollectionId" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/login": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.", - "operationId": "login_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserCredentials" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The created session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": "foo@example.com", - "realName": "Foo Bar" - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null, - "roles": [ - "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "4e8081b6-8aa6-4275-af0c-2fa2da557d28" - ] - } - } - } - } - } - } - }, - "/logout": { - "post": { - "tags": [ - "Session" - ], - "summary": "Ends a session.", - "operationId": "logout_handler", - "responses": { - "200": { - "description": "The Session was deleted." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/ml/models": { - "get": { - "tags": [ - "ML" - ], - "summary": "List ml models.", - "operationId": "list_ml_models", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MlModel" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "ML" - ], - "summary": "Create a new ml model.", - "operationId": "add_ml_model", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MlModel" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MlModelNameResponse" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/ml/models/{model_name}": { - "get": { - "tags": [ - "ML" - ], - "summary": "Get ml model by name.", - "operationId": "get_ml_model", - "parameters": [ - { - "name": "model_name", - "in": "path", - "description": "Ml Model Name", - "required": true, - "schema": { - "$ref": "#/components/schemas/MlModelName" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MlModel" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/oidcInit": { - "post": { - "tags": [ - "Session" - ], - "summary": "Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.", - "description": "# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n", - "operationId": "oidc_init", - "parameters": [ - { - "name": "redirectUri", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthCodeRequestURL" - }, - "example": { - "url": "http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256" - } - } - } - } - } - } - }, - "/oidcLogin": { - "post": { - "tags": [ - "Session" - ], - "summary": "Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.", - "description": "# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n", - "operationId": "oidc_login", - "parameters": [ - { - "name": "redirectUri", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuthCodeResponse" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": "foo@bar.de", - "realName": "Foo Bar" - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null - } - } - } - } - } - } - }, - "/permissions": { - "put": { - "tags": [ - "Permissions" - ], - "summary": "Adds a new permission.", - "operationId": "add_permission_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionRequest" - }, - "example": { - "resource": { - "type": "layer", - "id": "00000000-0000-0000-0000-000000000000" - }, - "roleId": "00000000-0000-0000-0000-000000000000", - "permission": "Read" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Permissions" - ], - "summary": "Removes an existing permission.", - "operationId": "remove_permission_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PermissionRequest" - }, - "example": { - "resource": { - "type": "layer", - "id": "00000000-0000-0000-0000-000000000000" - }, - "roleId": "00000000-0000-0000-0000-000000000000", - "permission": "Read" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/permissions/resources/{resource_type}/{resource_id}": { - "get": { - "tags": [ - "Permissions" - ], - "summary": "Lists permission for a given resource.", - "operationId": "get_resource_permissions_handler", - "parameters": [ - { - "name": "resource_type", - "in": "path", - "description": "Resource Type", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "resource_id", - "in": "path", - "description": "Resource Id", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "List of permission", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PermissionListing" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/plot/{id}": { - "get": { - "tags": [ - "Plots" - ], - "summary": "Generates a plot.", - "description": "# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.", - "operationId": "get_plot_handler", - "parameters": [ - { - "name": "bbox", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "0,-0.3,0.2,0" - }, - { - "name": "crs", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - }, - "example": "EPSG:4326" - }, - { - "name": "time", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "2020-01-01T00:00:00.0Z" - }, - { - "name": "spatialResolution", - "in": "query", - "required": true, - "schema": { - "type": "string" - }, - "example": "0.1,0.1" - }, - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/WrappedPlotOutput" - }, - "example": { - "outputFormat": "JsonPlain", - "plotType": "Statistics", - "data": { - "a": { - "max": 2.0, - "mean": 1.5, - "min": 1.0, - "stddev": 0.5, - "validCount": 2, - "valueCount": 2 - } - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project": { - "post": { - "tags": [ - "Projects" - ], - "summary": "Create a new project for the user.", - "operationId": "create_project_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateProject" - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Retrieves details about the latest version of a project.", - "operationId": "load_project_latest_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "Project loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Project" - }, - "example": { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "version": { - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", - "changed": "2021-04-26T14:05:39.677390600Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - }, - "name": "Test", - "description": "Foo", - "layers": [], - "plots": [], - "bounds": { - "spatialReference": "EPSG:4326", - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0.0, - "y": 0.0 - }, - "upperRightCoordinate": { - "x": 1.0, - "y": 1.0 - } - }, - "timeInterval": { - "start": 0, - "end": 1 - } - }, - "timeStep": { - "granularity": "months", - "step": 1 - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "Projects" - ], - "summary": "Deletes a project.", - "operationId": "delete_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "patch": { - "tags": [ - "Projects" - ], - "summary": "Updates a project.\nThis will create a new version.", - "operationId": "update_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProject" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "OK" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}/versions": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Lists all available versions of a project.", - "operationId": "project_versions_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectVersion" - } - }, - "example": [ - { - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", - "changed": "2021-04-26T14:05:39.677390600Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - }, - { - "id": "ced041c7-4b1d-4d13-b076-94596be6a36a", - "changed": "2021-04-26T14:13:10.901912700Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/project/{project}/{version}": { - "get": { - "tags": [ - "Projects" - ], - "summary": "Retrieves details about the given version of a project.", - "operationId": "load_project_version_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - }, - { - "name": "version", - "in": "path", - "description": "Version id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectVersionId" - } - } - ], - "responses": { - "200": { - "description": "Project loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Project" - }, - "example": { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "version": { - "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", - "changed": "2021-04-26T14:05:39.677390600Z", - "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" - }, - "name": "Test", - "description": "Foo", - "layers": [], - "plots": [], - "bounds": { - "spatialReference": "EPSG:4326", - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0.0, - "y": 0.0 - }, - "upperRightCoordinate": { - "x": 1.0, - "y": 1.0 - } - }, - "timeInterval": { - "start": 0, - "end": 1 - } - }, - "timeStep": { - "granularity": "months", - "step": 1 - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/projects": { - "get": { - "tags": [ - "Projects" - ], - "summary": "List all projects accessible to the user that match the selected criteria.", - "operationId": "list_projects_handler", - "parameters": [ - { - "name": "order", - "in": "path", - "required": true, - "schema": { - "$ref": "#/components/schemas/OrderBy" - }, - "example": "NameAsc" - }, - { - "name": "offset", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 2 - } - ], - "responses": { - "200": { - "description": "List of projects the user can access", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectListing" - } - }, - "example": [ - { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "name": "Test", - "description": "Foo", - "layerNames": [], - "plotNames": [], - "changed": "2021-04-26T14:03:51.984537900Z" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the available and used quota of the current user.", - "operationId": "quota_handler", - "responses": { - "200": { - "description": "The available and used quota of the user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Quota" - }, - "example": { - "available": 4321, - "used": 1234 - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/computations": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the quota used by computations", - "operationId": "computations_quota_handler", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "The quota used by computations", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ComputationQuota" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/computations/{computation}": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the quota used by computation with the given computation id", - "operationId": "computation_quota_handler", - "parameters": [ - { - "name": "computation", - "in": "path", - "description": "Computation id", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } - ], - "responses": { - "200": { - "description": "The quota used by computation", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OperatorQuota" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/dataUsage": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the data usage", - "operationId": "data_usage_handler", - "parameters": [ - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - } - ], - "responses": { - "200": { - "description": "The quota used on data", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataUsage" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quota/dataUsage/summary": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the data usage summary", - "operationId": "data_usage_summary_handler", - "parameters": [ - { - "name": "granularity", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/UsageSummaryGranularity" - } - }, - { - "name": "offset", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - }, - { - "name": "limit", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - }, - { - "name": "dataset", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - } - ], - "responses": { - "200": { - "description": "The quota used on data", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataUsageSummary" - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/quotas/{user}": { - "get": { - "tags": [ - "User" - ], - "summary": "Retrieves the available and used quota of a specific user.", - "operationId": "get_user_quota_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - } - ], - "responses": { - "200": { - "description": "The available and used quota of the user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Quota" - }, - "example": { - "available": 4321, - "used": 1234 - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "post": { - "tags": [ - "User" - ], - "summary": "Update the available quota of a specific user.", - "operationId": "update_user_quota_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateQuota" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Quota was updated" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles": { - "put": { - "tags": [ - "User" - ], - "summary": "Add a new role. Requires admin privilige.", - "operationId": "add_role_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddRole" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "Role was added", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RoleId" - }, - "example": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles/byName/{name}": { - "get": { - "tags": [ - "User" - ], - "summary": "Get role by name", - "operationId": "get_role_by_name_handler", - "parameters": [ - { - "name": "name", - "in": "path", - "description": "Role Name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/roles/{role}": { - "delete": { - "tags": [ - "User" - ], - "summary": "Remove a role. Requires admin privilige.", - "operationId": "remove_role_handler", - "parameters": [ - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was removed" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/session": { - "get": { - "tags": [ - "Session" - ], - "summary": "Retrieves details about the current session.", - "operationId": "session_handler", - "responses": { - "200": { - "description": "The current session", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserSession" - }, - "example": { - "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", - "user": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "email": "foo@example.com", - "realName": "Foo Bar" - }, - "created": "2021-04-26T13:47:10.579724800Z", - "validUntil": "2021-04-26T14:47:10.579775400Z", - "project": null, - "view": null, - "roles": [ - "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "4e8081b6-8aa6-4275-af0c-2fa2da557d28" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/session/project/{project}": { - "post": { - "tags": [ - "Session" - ], - "summary": "Sets the active project of the session.", - "operationId": "session_project_handler", - "parameters": [ - { - "name": "project", - "in": "path", - "description": "Project id", - "required": true, - "schema": { - "$ref": "#/components/schemas/ProjectId" - } - } - ], - "responses": { - "200": { - "description": "The project of the session was updated." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/session/view": { - "post": { - "tags": [ - "Session" - ], - "operationId": "session_view_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/STRectangle" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The view of the session was updated." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/spatialReferenceSpecification/{srsString}": { - "get": { - "tags": [ - "Spatial References" - ], - "operationId": "get_spatial_reference_specification_handler", - "parameters": [ - { - "name": "srsString", - "in": "path", - "required": true, - "schema": { - "type": "string" - }, - "example": "EPSG:4326" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SpatialReferenceSpecification" - }, - "example": { - "name": "WGS 84", - "spatialReference": "EPSG:4326", - "projString": "+proj=longlat +datum=WGS84 +no_defs +type=crs", - "extent": { - "lowerLeftCoordinate": { - "x": -180.0, - "y": -90.0 - }, - "upperRightCoordinate": { - "x": 180.0, - "y": 90.0 - } - }, - "axisLabels": [ - "Geodetic longitude", - "Geodetic latitude" - ], - "axisOrder": "northEast" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/list": { - "get": { - "tags": [ - "Tasks" - ], - "summary": "Retrieve the status of all tasks.", - "operationId": "list_handler", - "parameters": [ - { - "name": "filter", - "in": "path", - "required": true, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TaskFilter" - } - ] - } - }, - { - "name": "offset", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 0 - }, - { - "name": "limit", - "in": "path", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 20 - } - ], - "responses": { - "200": { - "description": "Status of all tasks", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TaskStatusWithId" - } - }, - "example": [ - { - "taskId": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", - "status": "completed", - "taskType": "dummy-task", - "description": "Demo", - "info": null, - "timeTotal": "00:00:30", - "timeStarted": "2023-02-16T15:25:45.390Z" - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/{id}": { - "delete": { - "tags": [ - "Tasks" - ], - "summary": "Abort a running task.", - "description": "# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.", - "operationId": "abort_handler", - "parameters": [ - { - "name": "force", - "in": "query", - "required": false, - "schema": { - "type": "boolean" - } - }, - { - "name": "id", - "in": "path", - "description": "Task id", - "required": true, - "schema": { - "$ref": "#/components/schemas/TaskId" - } - } - ], - "responses": { - "202": { - "description": "Task will be aborted." - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/tasks/{id}/status": { - "get": { - "tags": [ - "Tasks" - ], - "summary": "Retrieve the status of a task.", - "operationId": "status_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Task id", - "required": true, - "schema": { - "$ref": "#/components/schemas/TaskId" - } - } - ], - "responses": { - "200": { - "description": "Status of the task (running)", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TaskStatus" - }, - "example": { - "status": "running", - "taskType": "dummy-task", - "description": "Demo", - "pctComplete": "0.00%", - "timeStarted": "2023-02-16T15:25:45.390Z", - "estimatedTimeRemaining": "? (± ?)", - "info": null - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/upload": { - "post": { - "tags": [ - "Uploads" - ], - "summary": "Uploads files.", - "operationId": "upload_handler", - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "required": [ - "files[]" - ], - "properties": { - "files[]": { - "type": "array", - "items": { - "type": "string", - "format": "binary" - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/uploads/{upload_id}/files": { - "get": { - "tags": [ - "Uploads" - ], - "summary": "List the files of on upload.", - "operationId": "list_upload_files_handler", - "parameters": [ - { - "name": "upload_id", - "in": "path", - "description": "Upload id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UploadId" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadFilesResponse" - }, - "example": { - "files": [ - "file1", - "file2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/uploads/{upload_id}/files/{file_name}/layers": { - "get": { - "tags": [ - "Uploads" - ], - "summary": "List the layers of on uploaded file.", - "operationId": "list_upload_file_layers_handler", - "parameters": [ - { - "name": "upload_id", - "in": "path", - "description": "Upload id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UploadId" - } - }, - { - "name": "file_name", - "in": "path", - "description": "File name", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadFileLayersResponse" - }, - "example": { - "layers": [ - "layer1", - "layer2" - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/user": { - "post": { - "tags": [ - "Session" - ], - "summary": "Registers a user.", - "operationId": "register_user_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserRegistration" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "The id of the created user", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserId" - }, - "example": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" - } - } - } - } - } - } - }, - "/user/roles/descriptions": { - "get": { - "tags": [ - "User" - ], - "summary": "Query roles for the current user.", - "operationId": "get_role_descriptions", - "responses": { - "200": { - "description": "The description for roles of the current user", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RoleDescription" - } - }, - "example": [ - { - "role": { - "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", - "name": "foo@example.com" - }, - "individual": true - }, - { - "role": { - "id": "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", - "name": "Example role" - }, - "individual": false - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/users/{user}/roles/{role}": { - "post": { - "tags": [ - "User" - ], - "summary": "Assign a role to a user. Requires admin privilige.", - "operationId": "assign_role_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - }, - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was assigned" - } - }, - "security": [ - { - "session_token": [] - } - ] - }, - "delete": { - "tags": [ - "User" - ], - "summary": "Revoke a role from a user. Requires admin privilige.", - "operationId": "revoke_role_handler", - "parameters": [ - { - "name": "user", - "in": "path", - "description": "User id", - "required": true, - "schema": { - "$ref": "#/components/schemas/UserId" - } - }, - { - "name": "role", - "in": "path", - "description": "Role id", - "required": true, - "schema": { - "$ref": "#/components/schemas/RoleId" - } - } - ], - "responses": { - "200": { - "description": "Role was revoked" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wcs/{workflow}": { - "get": { - "tags": [ - "OGC WCS" - ], - "summary": "OGC WCS endpoint", - "operationId": "wcs_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "boundingbox", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "-90,-180,90,180,urn:ogc:def:crs:EPSG::4326" - }, - { - "name": "format", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/GetCoverageFormat" - } - }, - { - "name": "gridbasecrs", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "urn:ogc:def:crs:EPSG::4326" - }, - { - "name": "gridoffsets", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "-0.1,0.1" - }, - { - "name": "gridorigin", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "90,-180" - }, - { - "name": "identifier", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "" - }, - { - "name": "identifiers", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "" - }, - { - "name": "nodatavalue", - "in": "query", - "required": false, - "schema": { - "type": [ - "number", - "null" - ], - "format": "double" - } - }, - { - "name": "request", - "in": "query", - "description": "type of WMS request", - "required": true, - "schema": { - "type": "string", - "enum": [ - "GetCapabilGetCapabilitiesities", - "DescribeCoverage", - "GetCoverage" - ] - } - }, - { - "name": "resx", - "in": "query", - "required": false, - "schema": { - "type": [ - "number", - "null" - ], - "format": "double" - } - }, - { - "name": "resy", - "in": "query", - "required": false, - "schema": { - "type": [ - "number", - "null" - ], - "format": "double" - } - }, - { - "name": "service", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/WcsService" - } - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WcsVersion" - } - ] - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wfs/{workflow}": { - "get": { - "tags": [ - "OGC WFS" - ], - "summary": "OGC WFS endpoint", - "operationId": "wfs_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "bbox", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/OgcBoundingBox" - }, - "example": "-90,-180,90,180" - }, - { - "name": "count", - "in": "query", - "required": false, - "schema": { - "type": [ - "integer", - "null" - ], - "format": "int64", - "minimum": 0 - } - }, - { - "name": "filter", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "namespaces", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "propertyName", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "request", - "in": "query", - "description": "type of WFS request", - "required": true, - "schema": { - "type": "string", - "enum": [ - "GetCapabilities", - "GetFeature" - ] - } - }, - { - "name": "resultType", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "service", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/WfsService" - } - }, - { - "name": "sortBy", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "srsName", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - }, - "example": "EPSG:4326" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "2014-04-01T12:00:00.000Z" - }, - { - "name": "typeNames", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/TypeNames" - }, - "example": "" - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WfsVersion" - } - ] - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GeoJson" - }, - "example": { - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 0.0, - 0.1 - ] - }, - "properties": { - "foo": 0 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 1.0, - 1.1 - ] - }, - "properties": { - "foo": null - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 2.0, - 3.1 - ] - }, - "properties": { - "foo": 2 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 3.0, - 3.1 - ] - }, - "properties": { - "foo": 3 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - 4.0, - 4.1 - ] - }, - "properties": { - "foo": 4 - }, - "when": { - "start": "1970-01-01T00:00:00+00:00", - "end": "1970-01-01T00:00:00.001+00:00", - "type": "Interval" - } - } - ] - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/wms/{workflow}": { - "get": { - "tags": [ - "OGC WMS" - ], - "summary": "OGC WMS endpoint", - "operationId": "wms_handler", - "parameters": [ - { - "name": "workflow", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "bbox", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/OgcBoundingBox" - }, - "example": "-90,-180,90,180" - }, - { - "name": "bgcolor", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "crs", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - }, - "example": "EPSG:4326" - }, - { - "name": "elevation", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "exceptions", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/GetMapExceptionFormat" - } - ] - } - }, - { - "name": "format", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/GetCapabilitiesFormat" - } - ] - } - }, - { - "name": "height", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 256 - }, - { - "name": "info_format", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "layer", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "layers", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "" - }, - { - "name": "query_layers", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "request", - "in": "query", - "description": "type of WMS request", - "required": true, - "schema": { - "type": "string", - "enum": [ - "GetCapabilities", - "GetMap", - "GetFeatureInfo", - "GetStyles", - "GetLegendGraphic" - ] - } - }, - { - "name": "service", - "in": "query", - "required": false, - "schema": { - "$ref": "#/components/schemas/WmsService" - } - }, - { - "name": "sld", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "sld_body", - "in": "query", - "required": false, - "schema": { - "type": [ - "string", - "null" - ] - } - }, - { - "name": "styles", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}" - }, - { - "name": "time", - "in": "query", - "required": false, - "schema": { - "type": "string" - }, - "example": "2014-04-01T12:00:00.000Z" - }, - { - "name": "transparent", - "in": "query", - "required": false, - "schema": { - "type": [ - "boolean", - "null" - ] - } - }, - { - "name": "version", - "in": "query", - "required": false, - "schema": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/WmsVersion" - } - ] - } - }, - { - "name": "width", - "in": "query", - "required": false, - "schema": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "example": 512 - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow": { - "post": { - "tags": [ - "Workflows" - ], - "summary": "Registers a new Workflow.", - "operationId": "register_workflow_handler", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workflow" - }, - "examples": { - "MockPointSource": { - "value": { - "type": "Vector", - "operator": { - "type": "MockPointSource", - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - } - } - } - }, - "Statistics Plot": { - "value": { - "type": "Plot", - "operator": { - "type": "Statistics", - "params": {}, - "sources": { - "source": { - "type": "OgrSource", - "params": { - "data": "ne_10m_ports", - "attributeProjection": null, - "attributeFilters": null - } - } - } - } - } - } - } - } - }, - "required": true - }, - "responses": { - "200": { - "$ref": "#/components/responses/IdResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Retrieves an existing Workflow.", - "operationId": "load_workflow_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Workflow loaded from database", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Workflow" - }, - "example": { - "type": "Vector", - "operator": { - "type": "MockPointSource", - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - } - } - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/allMetadata/zip": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets a ZIP archive of the worklow, its provenance and the output metadata.", - "operationId": "get_workflow_all_metadata_zip_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/ZipResponse" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/metadata": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets the metadata of a workflow", - "operationId": "get_workflow_metadata_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Metadata of loaded workflow", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "example": { - "type": "vector", - "dataType": "MultiPoint", - "spatialReference": "EPSG:4326", - "columns": {} - } - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/provenance": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Gets the provenance of all datasets used in a workflow.", - "operationId": "get_workflow_provenance_handler", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - } - ], - "responses": { - "200": { - "description": "Provenance of used datasets", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProvenanceEntry" - } - }, - "example": [ - { - "dataset": { - "type": "internal", - "datasetId": "846a823a-6859-4b94-ab0a-c1de80f593d8" - }, - "provenance": { - "citation": "Author, Dataset Tile", - "license": "Some license", - "uri": "http://example.org/" - } - }, - { - "dataset": { - "type": "internal", - "datasetId": "453cd398-f271-437b-9c3d-7f42213ea30a" - }, - "provenance": { - "citation": "Another Author, Another Dataset Tile", - "license": "Some other license", - "uri": "http://example.org/" - } - } - ] - } - } - } - }, - "security": [ - { - "session_token": [] - } - ] - } - }, - "/workflow/{id}/rasterStream": { - "get": { - "tags": [ - "Workflows" - ], - "summary": "Query a workflow raster result as a stream of tiles via a websocket connection.", - "operationId": "raster_stream_websocket", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Workflow id", - "required": true, - "schema": { - "$ref": "#/components/schemas/WorkflowId" - } - }, - { - "name": "spatialBounds", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/SpatialPartition2D" - } - }, - { - "name": "timeInterval", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "attributes", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "resultType", - "in": "query", - "required": true, - "schema": { - "$ref": "#/components/schemas/RasterStreamWebsocketResultType" - } - } - ], - "responses": { - "101": { - "description": "Upgrade to websocket connection" - } - }, - "security": [ - { - "session_token": [] - } - ] - } - } - }, - "components": { - "schemas": { - "AddDataset": { - "type": "object", - "required": [ - "displayName", - "description", - "sourceOperator" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "name": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/DatasetName" - } - ] - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "tags": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - } - } - }, - "AddDatasetTile": { - "type": "object", - "required": [ - "time", - "spatial_partition", - "band", - "z_index", - "params" - ], - "properties": { - "band": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "spatial_partition": { - "$ref": "#/components/schemas/SpatialPartition2D" - }, - "time": { - "$ref": "#/components/schemas/TimeInterval" - }, - "z_index": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "AddLayer": { - "type": "object", - "required": [ - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string", - "example": "Example layer description" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "name": { - "type": "string", - "example": "Example Layer" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "AddLayerCollection": { - "type": "object", - "required": [ - "name", - "description" - ], - "properties": { - "description": { - "type": "string", - "example": "A description for an example collection" - }, - "name": { - "type": "string", - "example": "Example Collection" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "AddRole": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - } - } - }, - "ArunaDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description", - "apiUrl", - "projectId", - "apiToken", - "filterLabel" - ], - "properties": { - "apiToken": { - "type": "string" - }, - "apiUrl": { - "type": "string" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "filterLabel": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "projectId": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "Aruna" - ] - } - } - }, - "AuthCodeRequestURL": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "type": "string", - "format": "uri" - } - } - }, - "AuthCodeResponse": { - "type": "object", - "required": [ - "sessionState", - "code", - "state" - ], - "properties": { - "code": { - "type": "string" - }, - "sessionState": { - "type": "string" - }, - "state": { - "type": "string" - } - } - }, - "AutoCreateDataset": { - "type": "object", - "required": [ - "upload", - "datasetName", - "datasetDescription", - "mainFile" - ], - "properties": { - "datasetDescription": { - "type": "string" - }, - "datasetName": { - "type": "string" - }, - "layerName": { - "type": [ - "string", - "null" - ] - }, - "mainFile": { - "type": "string" - }, - "tags": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - }, - "example": { - "upload": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", - "datasetName": "Germany Border (auto)", - "datasetDescription": "The Outline of Germany (auto detected format)", - "mainFile": "germany_polygon.gpkg", - "tags": [ - "area" - ] - } - }, - "AxisOrder": { - "type": "string", - "enum": [ - "northEast", - "eastNorth" - ] - }, - "BandSelection": { - "type": "array", - "items": { - "type": "integer", - "minimum": 0 - } - }, - "BoundingBox2D": { - "type": "object", - "description": "A bounding box that includes all border points.\nNote: may degenerate to a point!", - "required": [ - "lowerLeftCoordinate", - "upperRightCoordinate" - ], - "properties": { - "lowerLeftCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "upperRightCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - }, - "Breakpoint": { - "type": "object", - "required": [ - "value", - "color" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/RgbaColor" - }, - "value": { - "type": "number" - } - } - }, - "CacheTtlSeconds": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "ClassificationMeasurement": { - "type": "object", - "required": [ - "type", - "measurement", - "classes" - ], - "properties": { - "classes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - }, - "measurement": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "classification" - ] - } - } - }, - "CollectionItem": { - "oneOf": [ - { - "$ref": "#/components/schemas/LayerCollectionListing" - }, - { - "$ref": "#/components/schemas/LayerListing" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "collection": "#/components/schemas/LayerCollectionListing", - "layer": "#/components/schemas/LayerListing" - } - } - }, - "CollectionType": { - "type": "string", - "enum": [ - "FeatureCollection" - ] - }, - "ColorParam": { - "oneOf": [ - { - "$ref": "#/components/schemas/StaticColor" - }, - { - "$ref": "#/components/schemas/DerivedColor" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "derived": "#/components/schemas/DerivedColor", - "static": "#/components/schemas/StaticColor" - } - } - }, - "Colorizer": { - "oneOf": [ - { - "$ref": "#/components/schemas/LinearGradient" - }, - { - "$ref": "#/components/schemas/LogarithmicGradient" - }, - { - "$ref": "#/components/schemas/PaletteColorizer" - } - ], - "description": "A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.", - "discriminator": { - "propertyName": "type", - "mapping": { - "linearGradient": "#/components/schemas/LinearGradient", - "logarithmicGradient": "#/components/schemas/LogarithmicGradient", - "palette": "#/components/schemas/PaletteColorizer" - } - } - }, - "ComputationQuota": { - "type": "object", - "required": [ - "timestamp", - "computationId", - "workflowId", - "count" - ], - "properties": { - "computationId": { - "type": "string", - "format": "uuid" - }, - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "workflowId": { - "type": "string", - "format": "uuid" - } - } - }, - "ContinuousMeasurement": { - "type": "object", - "required": [ - "type", - "measurement" - ], - "properties": { - "measurement": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "continuous" - ] - }, - "unit": { - "type": [ - "string", - "null" - ] - } - } - }, - "Coordinate2D": { - "type": "object", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - } - } - }, - "CopernicusDataspaceDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "id", - "stacUrl", - "s3Url", - "s3AccessKey", - "s3SecretKey", - "gdalConfig" - ], - "properties": { - "description": { - "type": "string" - }, - "gdalConfig": { - "type": "array", - "items": { - "$ref": "#/components/schemas/StringPair" - } - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "s3AccessKey": { - "type": "string" - }, - "s3SecretKey": { - "type": "string" - }, - "s3Url": { - "type": "string" - }, - "stacUrl": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "CopernicusDataspace" - ] - } - } - }, - "CreateDataset": { - "type": "object", - "required": [ - "dataPath", - "definition" - ], - "properties": { - "dataPath": { - "$ref": "#/components/schemas/DataPath" - }, - "definition": { - "$ref": "#/components/schemas/DatasetDefinition" - } - } - }, - "CreateProject": { - "type": "object", - "required": [ - "name", - "description", - "bounds" - ], - "properties": { - "bounds": { - "$ref": "#/components/schemas/STRectangle" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "timeStep": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeStep" - } - ] - } - }, - "example": { - "name": "Test", - "description": "Foo", - "bounds": { - "spatialReference": "EPSG:4326", - "boundingBox": { - "lowerLeftCoordinate": { - "x": 0, - "y": 0 - }, - "upperRightCoordinate": { - "x": 1, - "y": 1 - } - }, - "timeInterval": { - "start": 0, - "end": 1 - } - }, - "timeStep": { - "step": 1, - "granularity": "months" - } - } - }, - "CsvHeader": { - "type": "string", - "enum": [ - "yes", - "no", - "auto" - ] - }, - "DataId": { - "oneOf": [ - { - "$ref": "#/components/schemas/InternalDataId" - }, - { - "$ref": "#/components/schemas/ExternalDataId" - } - ], - "description": "The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.", - "discriminator": { - "propertyName": "type", - "mapping": { - "external": "#/components/schemas/ExternalDataId", - "internal": "#/components/schemas/InternalDataId" - } - } - }, - "DataPath": { - "oneOf": [ - { - "type": "object", - "required": [ - "volume" - ], - "properties": { - "volume": { - "$ref": "#/components/schemas/VolumeName" - } - } - }, - { - "type": "object", - "required": [ - "upload" - ], - "properties": { - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - } - ] - }, - "DataProviderId": { - "type": "string", - "format": "uuid" - }, - "DataProviderResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "type": { - "type": "string", - "enum": [ - "provider" - ] - } - } - }, - "DataUsage": { - "type": "object", - "required": [ - "timestamp", - "userId", - "computationId", - "data", - "count" - ], - "properties": { - "computationId": { - "type": "string", - "format": "uuid" - }, - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "data": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "userId": { - "type": "string", - "format": "uuid" - } - } - }, - "DataUsageSummary": { - "type": "object", - "required": [ - "timestamp", - "data", - "count" - ], - "properties": { - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "data": { - "type": "string" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - } - }, - "DatabaseConnectionConfig": { - "type": "object", - "required": [ - "host", - "port", - "database", - "schema", - "user", - "password" - ], - "properties": { - "database": { - "type": "string" - }, - "host": { - "type": "string" - }, - "password": { - "type": "string" - }, - "port": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "schema": { - "type": "string" - }, - "user": { - "type": "string" - } - } - }, - "Dataset": { - "type": "object", - "required": [ - "id", - "name", - "displayName", - "description", - "resultDescriptor", - "sourceOperator" - ], - "properties": { - "dataPath": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/DataPath" - } - ] - }, - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DatasetId" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - }, - "resultDescriptor": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "tags": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - } - } - }, - "DatasetDefinition": { - "type": "object", - "required": [ - "properties", - "metaData" - ], - "properties": { - "metaData": { - "$ref": "#/components/schemas/MetaDataDefinition" - }, - "properties": { - "$ref": "#/components/schemas/AddDataset" - } - } - }, - "DatasetId": { - "type": "string", - "format": "uuid" - }, - "DatasetLayerListingCollection": { - "type": "object", - "required": [ - "name", - "description", - "tags" - ], - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DatasetLayerListingProviderDefinition": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description", - "collections" - ], - "properties": { - "collections": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DatasetLayerListingCollection" - } - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "DatasetLayerListing" - ] - } - } - }, - "DatasetListing": { - "type": "object", - "required": [ - "id", - "name", - "displayName", - "description", - "tags", - "sourceOperator", - "resultDescriptor" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/DatasetId" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/TypedResultDescriptor" - }, - "sourceOperator": { - "type": "string" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "DatasetName": { - "type": "string", - "examples": [ - "ns:name" - ] - }, - "DatasetNameResponse": { - "type": "object", - "title": "Dataset Name Response", - "required": [ - "datasetName" - ], - "properties": { - "datasetName": { - "$ref": "#/components/schemas/DatasetName" - } - } - }, - "DatasetResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DatasetName" - }, - "type": { - "type": "string", - "enum": [ - "dataset" - ] - } - } - }, - "DateTimeParseFormat": { - "type": "string" - }, - "DateTimeString": { - "type": "string" - }, - "DerivedColor": { - "type": "object", - "required": [ - "type", - "attribute", - "colorizer" - ], - "properties": { - "attribute": { - "type": "string" - }, - "colorizer": { - "$ref": "#/components/schemas/Colorizer" - }, - "type": { - "type": "string", - "enum": [ - "derived" - ] - } - } - }, - "DerivedNumber": { - "type": "object", - "required": [ - "type", - "attribute", - "factor", - "defaultValue" - ], - "properties": { - "attribute": { - "type": "string" - }, - "defaultValue": { - "type": "number", - "format": "double" - }, - "factor": { - "type": "number", - "format": "double" - }, - "type": { - "type": "string", - "enum": [ - "derived" - ] - } - } - }, - "EbvPortalDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "baseUrl", - "data", - "overviews" - ], - "properties": { - "baseUrl": { - "type": "string", - "format": "uri" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "data": { - "type": "string", - "description": "Path were the `NetCDF` data can be found" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "overviews": { - "type": "string", - "description": "Path were overview files are stored" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "EbvPortal" - ] - } - } - }, - "EdrDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "id", - "baseUrl" - ], - "properties": { - "baseUrl": { - "type": "string", - "format": "uri" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "discreteVrs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of vertical reference systems with a discrete scale" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - }, - "type": { - "type": "string", - "enum": [ - "Edr" - ] - }, - "vectorSpec": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/EdrVectorSpec" - } - ] - } - } - }, - "EdrVectorSpec": { - "type": "object", - "required": [ - "x", - "time" - ], - "properties": { - "time": { - "type": "string" - }, - "x": { - "type": "string" - }, - "y": { - "type": [ - "string", - "null" - ] - } - } - }, - "ErrorResponse": { - "type": "object", - "required": [ - "error", - "message" - ], - "properties": { - "error": { - "type": "string" - }, - "message": { - "type": "string" - } - } - }, - "ExternalDataId": { - "type": "object", - "required": [ - "type", - "providerId", - "layerId" - ], - "properties": { - "layerId": { - "$ref": "#/components/schemas/LayerId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - }, - "type": { - "type": "string", - "enum": [ - "external" - ] - } - } - }, - "FeatureDataType": { - "type": "string", - "enum": [ - "category", - "int", - "float", - "text", - "bool", - "dateTime" - ] - }, - "FileNotFoundHandling": { - "type": "string", - "enum": [ - "NoData", - "Error" - ] - }, - "FormatSpecifics": { - "oneOf": [ - { - "type": "object", - "required": [ - "csv" - ], - "properties": { - "csv": { - "type": "object", - "required": [ - "header" - ], - "properties": { - "header": { - "$ref": "#/components/schemas/CsvHeader" - } - } - } - } - } - ] - }, - "GbifDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "dbConfig", - "autocompleteTimeout", - "columns" - ], - "properties": { - "autocompleteTimeout": { - "type": "integer", - "format": "int32" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "columns": { - "type": "array", - "items": { - "type": "string" - } - }, - "dbConfig": { - "$ref": "#/components/schemas/DatabaseConnectionConfig" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "Gbif" - ] - } - } - }, - "GdalDatasetGeoTransform": { - "type": "object", - "required": [ - "originCoordinate", - "xPixelSize", - "yPixelSize" - ], - "properties": { - "originCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "xPixelSize": { - "type": "number", - "format": "double" - }, - "yPixelSize": { - "type": "number", - "format": "double" - } - } - }, - "GdalDatasetParameters": { - "type": "object", - "description": "Parameters for loading data using Gdal", - "required": [ - "filePath", - "rasterbandChannel", - "geoTransform", - "width", - "height", - "fileNotFoundHandling" - ], - "properties": { - "allowAlphabandAsMask": { - "type": "boolean" - }, - "fileNotFoundHandling": { - "$ref": "#/components/schemas/FileNotFoundHandling" - }, - "filePath": { - "type": "string" - }, - "gdalConfigOptions": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/StringPair" - } - }, - "gdalOpenOptions": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - }, - "geoTransform": { - "$ref": "#/components/schemas/GdalDatasetGeoTransform" - }, - "height": { - "type": "integer", - "minimum": 0 - }, - "noDataValue": { - "type": [ - "number", - "null" - ], - "format": "double" - }, - "propertiesMapping": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/GdalMetadataMapping" - } - }, - "rasterbandChannel": { - "type": "integer", - "minimum": 0 - }, - "width": { - "type": "integer", - "minimum": 0 - } - } - }, - "GdalLoadingInfoTemporalSlice": { - "type": "object", - "description": "one temporal slice of the dataset that requires reading from exactly one Gdal dataset", - "required": [ - "time" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "params": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/GdalDatasetParameters" - } - ] - }, - "time": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "GdalMetaDataList": { - "type": "object", - "required": [ - "type", - "resultDescriptor", - "params" - ], - "properties": { - "params": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GdalLoadingInfoTemporalSlice" - } - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataList" - ] - } - } - }, - "GdalMetaDataRegular": { - "type": "object", - "required": [ - "type", - "resultDescriptor", - "params", - "timePlaceholders", - "dataTime", - "step" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "dataTime": { - "$ref": "#/components/schemas/TimeInterval" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - }, - "timePlaceholders": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/GdalSourceTimePlaceholder" - }, - "propertyNames": { - "type": "string" - } - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataRegular" - ] - } - } - }, - "GdalMetaDataStatic": { - "type": "object", - "required": [ - "type", - "params", - "resultDescriptor" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "time": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "GdalStatic" - ] - } - } - }, - "GdalMetadataMapping": { - "type": "object", - "required": [ - "source_key", - "target_key", - "target_type" - ], - "properties": { - "source_key": { - "$ref": "#/components/schemas/RasterPropertiesKey" - }, - "target_key": { - "$ref": "#/components/schemas/RasterPropertiesKey" - }, - "target_type": { - "$ref": "#/components/schemas/RasterPropertiesEntryType" - } - } - }, - "GdalMetadataNetCdfCf": { - "type": "object", - "description": "Meta data for 4D `NetCDF` CF datasets", - "required": [ - "type", - "resultDescriptor", - "params", - "start", - "end", - "step", - "bandOffset" - ], - "properties": { - "bandOffset": { - "type": "integer", - "description": "A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.", - "minimum": 0 - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "end": { - "$ref": "#/components/schemas/TimeInstance", - "description": "We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future." - }, - "params": { - "$ref": "#/components/schemas/GdalDatasetParameters" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "start": { - "$ref": "#/components/schemas/TimeInstance" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - }, - "type": { - "type": "string", - "enum": [ - "GdalMetaDataNetCdfCf" - ] - } - } - }, - "GdalMultiBand": { - "type": "object", - "required": [ - "type", - "resultDescriptor" - ], - "properties": { - "resultDescriptor": { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "GdalMultiBand" - ] - } - } - }, - "GdalSourceTimePlaceholder": { - "type": "object", - "required": [ - "format", - "reference" - ], - "properties": { - "format": { - "$ref": "#/components/schemas/DateTimeParseFormat" - }, - "reference": { - "$ref": "#/components/schemas/TimeReference" - } - } - }, - "GeoJson": { - "type": "object", - "required": [ - "type", - "features" - ], - "properties": { - "features": { - "type": "array", - "items": {} - }, - "type": { - "$ref": "#/components/schemas/CollectionType" - } - } - }, - "GeoTransform": { - "type": "object", - "required": [ - "originCoordinate", - "xPixelSize", - "yPixelSize" - ], - "properties": { - "originCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "xPixelSize": { - "type": "number", - "format": "double" - }, - "yPixelSize": { - "type": "number", - "format": "double" - } - } - }, - "GetCapabilitiesFormat": { - "type": "string", - "enum": [ - "text/xml" - ] - }, - "GetCoverageFormat": { - "type": "string", - "enum": [ - "image/tiff" - ] - }, - "GetFeatureRequest": { - "type": "string", - "enum": [ - "GetFeature" - ] - }, - "GetMapExceptionFormat": { - "type": "string", - "enum": [ - "XML", - "JSON" - ] - }, - "GetMapFormat": { - "type": "string", - "enum": [ - "image/png" - ] - }, - "GfbioAbcdDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "dbConfig" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "dbConfig": { - "$ref": "#/components/schemas/DatabaseConnectionConfig" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "GfbioAbcd" - ] - } - } - }, - "GfbioCollectionsDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "collectionApiUrl", - "collectionApiAuthToken", - "abcdDbConfig", - "pangaeaUrl" - ], - "properties": { - "abcdDbConfig": { - "$ref": "#/components/schemas/DatabaseConnectionConfig" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "collectionApiAuthToken": { - "type": "string" - }, - "collectionApiUrl": { - "type": "string", - "format": "uri" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "pangaeaUrl": { - "type": "string", - "format": "uri" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "GfbioCollections" - ] - } - } - }, - "GridBoundingBox2D": { - "type": "object", - "required": [ - "topLeftIdx", - "bottomRightIdx" - ], - "properties": { - "bottomRightIdx": { - "$ref": "#/components/schemas/GridIdx2D" - }, - "topLeftIdx": { - "$ref": "#/components/schemas/GridIdx2D" - } - } - }, - "GridIdx2D": { - "type": "object", - "required": [ - "yIdx", - "xIdx" - ], - "properties": { - "xIdx": { - "type": "integer" - }, - "yIdx": { - "type": "integer" - } - } - }, - "InternalDataId": { - "type": "object", - "required": [ - "type", - "datasetId" - ], - "properties": { - "datasetId": { - "$ref": "#/components/schemas/DatasetId" - }, - "type": { - "type": "string", - "enum": [ - "internal" - ] - } - } - }, - "Layer": { - "type": "object", - "required": [ - "id", - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "LayerCollection": { - "type": "object", - "required": [ - "id", - "name", - "description", - "items", - "properties" - ], - "properties": { - "description": { - "type": "string" - }, - "entryLabel": { - "type": [ - "string", - "null" - ], - "description": "a common label for the collection's entries, if there is any" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerCollectionId" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CollectionItem" - } - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "LayerCollectionId": { - "type": "string" - }, - "LayerCollectionListing": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerCollectionId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - }, - "type": { - "type": "string", - "enum": [ - "collection" - ] - } - } - }, - "LayerCollectionResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "type": { - "type": "string", - "enum": [ - "layerCollection" - ] - } - } - }, - "LayerId": { - "type": "string" - }, - "LayerListing": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProviderLayerId" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "type": { - "type": "string", - "enum": [ - "layer" - ] - } - } - }, - "LayerProviderListing": { - "type": "object", - "required": [ - "id", - "name", - "priority" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": "integer", - "format": "int32" - } - } - }, - "LayerResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/LayerId" - }, - "type": { - "type": "string", - "enum": [ - "layer" - ] - } - } - }, - "LayerVisibility": { - "type": "object", - "required": [ - "data", - "legend" - ], - "properties": { - "data": { - "type": "boolean" - }, - "legend": { - "type": "boolean" - } - } - }, - "LineSymbology": { - "type": "object", - "required": [ - "type", - "stroke", - "autoSimplified" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TextSymbology" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "line" - ] - } - } - }, - "LinearGradient": { - "type": "object", - "required": [ - "type", - "breakpoints", - "noDataColor", - "overColor", - "underColor" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "linearGradient" - ] - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "LogarithmicGradient": { - "type": "object", - "required": [ - "type", - "breakpoints", - "noDataColor", - "overColor", - "underColor" - ], - "properties": { - "breakpoints": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Breakpoint" - } - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "overColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "logarithmicGradient" - ] - }, - "underColor": { - "$ref": "#/components/schemas/RgbaColor" - } - } - }, - "Measurement": { - "oneOf": [ - { - "$ref": "#/components/schemas/UnitlessMeasurement" - }, - { - "$ref": "#/components/schemas/ContinuousMeasurement" - }, - { - "$ref": "#/components/schemas/ClassificationMeasurement" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "classification": "#/components/schemas/ClassificationMeasurement", - "continuous": "#/components/schemas/ContinuousMeasurement", - "unitless": "#/components/schemas/UnitlessMeasurement" - } - } - }, - "MetaDataDefinition": { - "oneOf": [ - { - "$ref": "#/components/schemas/MockMetaData" - }, - { - "$ref": "#/components/schemas/OgrMetaData" - }, - { - "$ref": "#/components/schemas/GdalMetaDataRegular" - }, - { - "$ref": "#/components/schemas/GdalMetaDataStatic" - }, - { - "$ref": "#/components/schemas/GdalMetadataNetCdfCf" - }, - { - "$ref": "#/components/schemas/GdalMetaDataList" - }, - { - "$ref": "#/components/schemas/GdalMultiBand" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "GdalMetaDataList": "#/components/schemas/GdalMetaDataList", - "GdalMetaDataNetCdfCf": "#/components/schemas/GdalMetadataNetCdfCf", - "GdalMetaDataRegular": "#/components/schemas/GdalMetaDataRegular", - "GdalMultiBand": "#/components/schemas/GdalMultiBand", - "GdalStatic": "#/components/schemas/GdalMetaDataStatic", - "MockMetaData": "#/components/schemas/MockMetaData", - "OgrMetaData": "#/components/schemas/OgrMetaData" - } - } - }, - "MetaDataSuggestion": { - "type": "object", - "required": [ - "mainFile", - "layerName", - "metaData" - ], - "properties": { - "layerName": { - "type": "string" - }, - "mainFile": { - "type": "string" - }, - "metaData": { - "$ref": "#/components/schemas/MetaDataDefinition" - } - } - }, - "MlModel": { - "type": "object", - "required": [ - "name", - "displayName", - "description", - "upload", - "metadata", - "fileName" - ], - "properties": { - "description": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/MlModelMetadata" - }, - "name": { - "$ref": "#/components/schemas/MlModelName" - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - }, - "MlModelId": { - "type": "string", - "format": "uuid" - }, - "MlModelInputNoDataHandling": { - "type": "object", - "required": [ - "variant" - ], - "properties": { - "noDataValue": { - "type": [ - "number", - "null" - ], - "format": "float" - }, - "variant": { - "$ref": "#/components/schemas/MlModelInputNoDataHandlingVariant" - } - } - }, - "MlModelInputNoDataHandlingVariant": { - "type": "string", - "enum": [ - "encodedNoData", - "skipIfNoData" - ] - }, - "MlModelMetadata": { - "type": "object", - "required": [ - "inputType", - "outputType", - "inputShape", - "outputShape", - "inputNoDataHandling", - "outputNoDataHandling" - ], - "properties": { - "inputNoDataHandling": { - "$ref": "#/components/schemas/MlModelInputNoDataHandling" - }, - "inputShape": { - "$ref": "#/components/schemas/MlTensorShape3D" - }, - "inputType": { - "$ref": "#/components/schemas/RasterDataType" - }, - "outputNoDataHandling": { - "$ref": "#/components/schemas/MlModelOutputNoDataHandling" - }, - "outputShape": { - "$ref": "#/components/schemas/MlTensorShape3D" - }, - "outputType": { - "$ref": "#/components/schemas/RasterDataType" - } - } - }, - "MlModelName": { - "type": "string" - }, - "MlModelNameResponse": { - "type": "object", - "required": [ - "mlModelName" - ], - "properties": { - "mlModelName": { - "$ref": "#/components/schemas/MlModelName" - } - } - }, - "MlModelOutputNoDataHandling": { - "type": "object", - "required": [ - "variant" - ], - "properties": { - "noDataValue": { - "type": [ - "number", - "null" - ], - "format": "float" - }, - "variant": { - "$ref": "#/components/schemas/MlModelOutputNoDataHandlingVariant" - } - } - }, - "MlModelOutputNoDataHandlingVariant": { - "type": "string", - "enum": [ - "encodedNoData", - "nanIsNoData" - ] - }, - "MlModelResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "mlModel" - ] - } - } - }, - "MlTensorShape3D": { - "type": "object", - "description": "A struct describing tensor shape for `MlModelMetadata`", - "required": [ - "y", - "x", - "bands" - ], - "properties": { - "bands": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "x": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "y": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "MockDatasetDataSourceLoadingInfo": { - "type": "object", - "required": [ - "points" - ], - "properties": { - "points": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - }, - "MockMetaData": { - "type": "object", - "required": [ - "type", - "loadingInfo", - "resultDescriptor" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/MockDatasetDataSourceLoadingInfo" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "MockMetaData" - ] - } - } - }, - "MultiBandRasterColorizer": { - "type": "object", - "required": [ - "type", - "redBand", - "redMin", - "redMax", - "greenBand", - "greenMin", - "greenMax", - "blueBand", - "blueMin", - "blueMax" - ], - "properties": { - "blueBand": { - "type": "integer", - "format": "int32", - "description": "The band index of the blue channel.", - "minimum": 0 - }, - "blueMax": { - "type": "number", - "format": "double", - "description": "The maximum value for the red channel." - }, - "blueMin": { - "type": "number", - "format": "double", - "description": "The minimum value for the red channel." - }, - "blueScale": { - "type": "number", - "format": "double", - "description": "A scaling factor for the blue channel between 0 and 1." - }, - "greenBand": { - "type": "integer", - "format": "int32", - "description": "The band index of the green channel.", - "minimum": 0 - }, - "greenMax": { - "type": "number", - "format": "double", - "description": "The maximum value for the red channel." - }, - "greenMin": { - "type": "number", - "format": "double", - "description": "The minimum value for the red channel." - }, - "greenScale": { - "type": "number", - "format": "double", - "description": "A scaling factor for the green channel between 0 and 1." - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor", - "description": "The color to use for no data values.\nIf not specified, the no data values will be transparent." - }, - "redBand": { - "type": "integer", - "format": "int32", - "description": "The band index of the red channel.", - "minimum": 0 - }, - "redMax": { - "type": "number", - "format": "double", - "description": "The maximum value for the red channel." - }, - "redMin": { - "type": "number", - "format": "double", - "description": "The minimum value for the red channel." - }, - "redScale": { - "type": "number", - "format": "double", - "description": "A scaling factor for the red channel between 0 and 1." - }, - "type": { - "type": "string", - "enum": [ - "multiBand" - ] - } - } - }, - "MultiLineString": { - "type": "object", - "required": [ - "coordinates" - ], - "properties": { - "coordinates": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - } - }, - "MultiPoint": { - "type": "object", - "required": [ - "coordinates" - ], - "properties": { - "coordinates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - }, - "MultiPolygon": { - "type": "object", - "required": [ - "polygons" - ], - "properties": { - "polygons": { - "type": "array", - "items": { - "type": "array", - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - } - } - } - }, - "NamedData": { - "type": "string" - }, - "NetCdfCfDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "data", - "overviews" - ], - "properties": { - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "data": { - "type": "string", - "description": "Path were the `NetCDF` data can be found" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "overviews": { - "type": "string", - "description": "Path were overview files are stored" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "NetCdfCf" - ] - } - } - }, - "NoGeometry": { - "default": null - }, - "NumberParam": { - "oneOf": [ - { - "$ref": "#/components/schemas/StaticNumber" - }, - { - "$ref": "#/components/schemas/DerivedNumber" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "derived": "#/components/schemas/DerivedNumber", - "static": "#/components/schemas/StaticNumber" - } - } - }, - "OgcBoundingBox": { - "type": "string" - }, - "OgrMetaData": { - "type": "object", - "required": [ - "type", - "loadingInfo", - "resultDescriptor" - ], - "properties": { - "loadingInfo": { - "$ref": "#/components/schemas/OgrSourceDataset" - }, - "resultDescriptor": { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - "type": { - "type": "string", - "enum": [ - "OgrMetaData" - ] - } - } - }, - "OgrSourceColumnSpec": { - "type": "object", - "required": [ - "x" - ], - "properties": { - "bool": { - "type": "array", - "items": { - "type": "string" - } - }, - "datetime": { - "type": "array", - "items": { - "type": "string" - } - }, - "float": { - "type": "array", - "items": { - "type": "string" - } - }, - "formatSpecifics": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/FormatSpecifics" - } - ] - }, - "int": { - "type": "array", - "items": { - "type": "string" - } - }, - "rename": { - "type": [ - "object", - "null" - ], - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "text": { - "type": "array", - "items": { - "type": "string" - } - }, - "x": { - "type": "string" - }, - "y": { - "type": [ - "string", - "null" - ] - } - } - }, - "OgrSourceDataset": { - "type": "object", - "required": [ - "fileName", - "layerName", - "onError" - ], - "properties": { - "attributeQuery": { - "type": [ - "string", - "null" - ] - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "columns": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/OgrSourceColumnSpec" - } - ] - }, - "dataType": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/VectorDataType" - } - ] - }, - "defaultGeometry": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TypedGeometry" - } - ] - }, - "fileName": { - "type": "string" - }, - "forceOgrSpatialFilter": { - "type": "boolean" - }, - "forceOgrTimeFilter": { - "type": "boolean" - }, - "layerName": { - "type": "string" - }, - "onError": { - "$ref": "#/components/schemas/OgrSourceErrorSpec" - }, - "sqlQuery": { - "type": [ - "string", - "null" - ] - }, - "time": { - "$ref": "#/components/schemas/OgrSourceDatasetTimeType" - } - } - }, - "OgrSourceDatasetTimeType": { - "oneOf": [ - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeNone" - }, - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStart" - }, - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" - }, - { - "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "none": "#/components/schemas/OgrSourceDatasetTimeTypeNone", - "start": "#/components/schemas/OgrSourceDatasetTimeTypeStart", - "start+duration": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration", - "start+end": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" - } - } - }, - "OgrSourceDatasetTimeTypeNone": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "none" - ] - } - } - }, - "OgrSourceDatasetTimeTypeStart": { - "type": "object", - "required": [ - "type", - "startField", - "startFormat", - "duration" - ], - "properties": { - "duration": { - "$ref": "#/components/schemas/OgrSourceDurationSpec" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "start" - ] - } - } - }, - "OgrSourceDatasetTimeTypeStartDuration": { - "type": "object", - "required": [ - "type", - "startField", - "startFormat", - "durationField" - ], - "properties": { - "durationField": { - "type": "string" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "start+duration" - ] - } - } - }, - "OgrSourceDatasetTimeTypeStartEnd": { - "type": "object", - "required": [ - "type", - "startField", - "startFormat", - "endField", - "endFormat" - ], - "properties": { - "endField": { - "type": "string" - }, - "endFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "startField": { - "type": "string" - }, - "startFormat": { - "$ref": "#/components/schemas/OgrSourceTimeFormat" - }, - "type": { - "type": "string", - "enum": [ - "start+end" - ] - } - } - }, - "OgrSourceDurationSpec": { - "oneOf": [ - { - "$ref": "#/components/schemas/OgrSourceDurationSpecInfinite" - }, - { - "$ref": "#/components/schemas/OgrSourceDurationSpecZero" - }, - { - "$ref": "#/components/schemas/OgrSourceDurationSpecValue" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "infinite": "#/components/schemas/OgrSourceDurationSpecInfinite", - "value": "#/components/schemas/OgrSourceDurationSpecValue", - "zero": "#/components/schemas/OgrSourceDurationSpecZero" - } - } - }, - "OgrSourceDurationSpecInfinite": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "infinite" - ] - } - } - }, - "OgrSourceDurationSpecValue": { - "allOf": [ - { - "$ref": "#/components/schemas/TimeStep" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "value" - ] - } - } - } - ] - }, - "OgrSourceDurationSpecZero": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "zero" - ] - } - } - }, - "OgrSourceErrorSpec": { - "type": "string", - "enum": [ - "ignore", - "abort" - ] - }, - "OgrSourceTimeFormat": { - "oneOf": [ - { - "$ref": "#/components/schemas/OgrSourceTimeFormatCustom" - }, - { - "$ref": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" - }, - { - "$ref": "#/components/schemas/OgrSourceTimeFormatAuto" - } - ], - "discriminator": { - "propertyName": "format", - "mapping": { - "auto": "#/components/schemas/OgrSourceTimeFormatAuto", - "custom": "#/components/schemas/OgrSourceTimeFormatCustom", - "unixTimeStamp": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" - } - } - }, - "OgrSourceTimeFormatAuto": { - "type": "object", - "required": [ - "format" - ], - "properties": { - "format": { - "type": "string", - "enum": [ - "auto" - ] - } - } - }, - "OgrSourceTimeFormatCustom": { - "type": "object", - "required": [ - "format", - "customFormat" - ], - "properties": { - "customFormat": { - "$ref": "#/components/schemas/DateTimeParseFormat" - }, - "format": { - "type": "string", - "enum": [ - "custom" - ] - } - } - }, - "OgrSourceTimeFormatUnixTimeStamp": { - "type": "object", - "required": [ - "format", - "timestampType" - ], - "properties": { - "format": { - "type": "string", - "enum": [ - "unixTimeStamp" - ] - }, - "timestampType": { - "$ref": "#/components/schemas/UnixTimeStampType" - } - } - }, - "OperatorQuota": { - "type": "object", - "required": [ - "operatorName", - "operatorPath", - "count" - ], - "properties": { - "count": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "operatorName": { - "type": "string" - }, - "operatorPath": { - "type": "string" - } - } - }, - "OrderBy": { - "type": "string", - "enum": [ - "NameAsc", - "NameDesc" - ] - }, - "Palette": { - "type": "object", - "description": "A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.", - "additionalProperties": { - "$ref": "#/components/schemas/RgbaColor" - }, - "propertyNames": { - "type": "number", - "format": "double" - } - }, - "PaletteColorizer": { - "type": "object", - "required": [ - "type", - "colors", - "noDataColor", - "defaultColor" - ], - "properties": { - "colors": { - "$ref": "#/components/schemas/Palette" - }, - "defaultColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "noDataColor": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "palette" - ] - } - } - }, - "PangaeaDataProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "description", - "baseUrl", - "cacheTtl" - ], - "properties": { - "baseUrl": { - "type": "string", - "format": "uri" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "type": { - "type": "string", - "enum": [ - "Pangaea" - ] - } - } - }, - "Permission": { - "type": "string", - "enum": [ - "Read", - "Owner" - ] - }, - "PermissionListOptions": { - "type": "object", - "required": [ - "limit", - "offset" - ], - "properties": { - "limit": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "offset": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "PermissionListing": { - "type": "object", - "required": [ - "resource", - "role", - "permission" - ], - "properties": { - "permission": { - "$ref": "#/components/schemas/Permission" - }, - "resource": { - "$ref": "#/components/schemas/Resource" - }, - "role": { - "$ref": "#/components/schemas/Role" - } - } - }, - "PermissionRequest": { - "type": "object", - "description": "Request for adding a new permission to the given role on the given resource", - "required": [ - "resource", - "roleId", - "permission" - ], - "properties": { - "permission": { - "$ref": "#/components/schemas/Permission" - }, - "resource": { - "$ref": "#/components/schemas/Resource" - }, - "roleId": { - "$ref": "#/components/schemas/RoleId" - } - } - }, - "Plot": { - "type": "object", - "required": [ - "workflow", - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "workflow": { - "$ref": "#/components/schemas/WorkflowId" - } - } - }, - "PlotOutputFormat": { - "type": "string", - "enum": [ - "JsonPlain", - "JsonVega", - "ImagePng" - ] - }, - "PlotResultDescriptor": { - "type": "object", - "description": "A `ResultDescriptor` for plot queries", - "required": [ - "spatialReference" - ], - "properties": { - "bbox": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ] - }, - "spatialReference": { - "type": "string" - }, - "time": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - } - } - }, - "PointSymbology": { - "type": "object", - "required": [ - "type", - "radius", - "fillColor", - "stroke" - ], - "properties": { - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "radius": { - "$ref": "#/components/schemas/NumberParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TextSymbology" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "point" - ] - } - } - }, - "PolygonSymbology": { - "type": "object", - "required": [ - "type", - "fillColor", - "stroke", - "autoSimplified" - ], - "properties": { - "autoSimplified": { - "type": "boolean" - }, - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - }, - "text": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TextSymbology" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "polygon" - ] - } - } - }, - "Project": { - "type": "object", - "required": [ - "id", - "version", - "name", - "description", - "layers", - "plots", - "bounds", - "timeStep" - ], - "properties": { - "bounds": { - "$ref": "#/components/schemas/STRectangle" - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectLayer" - } - }, - "name": { - "type": "string" - }, - "plots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Plot" - } - }, - "timeStep": { - "$ref": "#/components/schemas/TimeStep" - }, - "version": { - "$ref": "#/components/schemas/ProjectVersion" - } - } - }, - "ProjectId": { - "type": "string", - "format": "uuid" - }, - "ProjectLayer": { - "type": "object", - "required": [ - "workflow", - "name", - "visibility", - "symbology" - ], - "properties": { - "name": { - "type": "string" - }, - "symbology": { - "$ref": "#/components/schemas/Symbology" - }, - "visibility": { - "$ref": "#/components/schemas/LayerVisibility" - }, - "workflow": { - "$ref": "#/components/schemas/WorkflowId" - } - } - }, - "ProjectListing": { - "type": "object", - "required": [ - "id", - "name", - "description", - "layerNames", - "plotNames", - "changed" - ], - "properties": { - "changed": { - "type": "string", - "format": "date-time" - }, - "description": { - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layerNames": { - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "type": "string" - }, - "plotNames": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ProjectResource": { - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "type": { - "type": "string", - "enum": [ - "project" - ] - } - } - }, - "ProjectUpdateToken": { - "type": "string", - "enum": [ - "none", - "delete" - ] - }, - "ProjectVersion": { - "type": "object", - "required": [ - "id", - "changed" - ], - "properties": { - "changed": { - "type": "string", - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/ProjectVersionId" - } - } - }, - "ProjectVersionId": { - "type": "string", - "format": "uuid" - }, - "Property": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 2, - "minItems": 2 - }, - "Provenance": { - "type": "object", - "required": [ - "citation", - "license", - "uri" - ], - "properties": { - "citation": { - "type": "string" - }, - "license": { - "type": "string" - }, - "uri": { - "type": "string" - } - } - }, - "ProvenanceEntry": { - "type": "object", - "required": [ - "provenance", - "data" - ], - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DataId" - } - }, - "provenance": { - "$ref": "#/components/schemas/Provenance" - } - } - }, - "ProvenanceOutput": { - "type": "object", - "required": [ - "data" - ], - "properties": { - "data": { - "$ref": "#/components/schemas/DataId" - }, - "provenance": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/Provenance" - } - } - } - }, - "Provenances": { - "type": "object", - "required": [ - "provenances" - ], - "properties": { - "provenances": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Provenance" - } - } - } - }, - "ProviderCapabilities": { - "type": "object", - "required": [ - "listing", - "search" - ], - "properties": { - "listing": { - "type": "boolean" - }, - "search": { - "$ref": "#/components/schemas/SearchCapabilities" - } - } - }, - "ProviderLayerCollectionId": { - "type": "object", - "required": [ - "providerId", - "collectionId" - ], - "properties": { - "collectionId": { - "$ref": "#/components/schemas/LayerCollectionId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - } - } - }, - "ProviderLayerId": { - "type": "object", - "required": [ - "providerId", - "layerId" - ], - "properties": { - "layerId": { - "$ref": "#/components/schemas/LayerId" - }, - "providerId": { - "$ref": "#/components/schemas/DataProviderId" - } - } - }, - "Quota": { - "type": "object", - "required": [ - "available", - "used" - ], - "properties": { - "available": { - "type": "integer", - "format": "int64" - }, - "used": { - "type": "integer", - "format": "int64", - "minimum": 0 - } - } - }, - "RasterBandDescriptor": { - "type": "object", - "required": [ - "name", - "measurement" - ], - "properties": { - "measurement": { - "$ref": "#/components/schemas/Measurement" - }, - "name": { - "type": "string" - } - } - }, - "RasterBandDescriptors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RasterBandDescriptor" - } - }, - "RasterColorizer": { - "oneOf": [ - { - "$ref": "#/components/schemas/SingleBandRasterColorizer" - }, - { - "$ref": "#/components/schemas/MultiBandRasterColorizer" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "multiBand": "#/components/schemas/MultiBandRasterColorizer", - "singleBand": "#/components/schemas/SingleBandRasterColorizer" - } - } - }, - "RasterDataType": { - "type": "string", - "enum": [ - "U8", - "U16", - "U32", - "U64", - "I8", - "I16", - "I32", - "I64", - "F32", - "F64" - ] - }, - "RasterDatasetFromWorkflow": { - "type": "object", - "description": "parameter for the dataset from workflow handler (body)", - "required": [ - "displayName", - "query" - ], - "properties": { - "asCog": { - "type": "boolean", - "default": true - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "name": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/DatasetName" - } - ] - }, - "query": { - "$ref": "#/components/schemas/RasterToDatasetQueryRectangle" - } - }, - "example": { - "name": "foo", - "displayName": "a new dataset", - "description": null, - "query": { - "spatialBounds": { - "upperLeftCoordinate": { - "x": -10.0, - "y": 80.0 - }, - "lowerRightCoordinate": { - "x": 50.0, - "y": 20.0 - } - }, - "timeInterval": { - "start": 1388534400000, - "end": 1388534401000 - } - } - } - }, - "RasterDatasetFromWorkflowResult": { - "type": "object", - "description": "response of the dataset from workflow handler", - "required": [ - "dataset", - "upload" - ], - "properties": { - "dataset": { - "$ref": "#/components/schemas/DatasetName" - }, - "upload": { - "$ref": "#/components/schemas/UploadId" - } - } - }, - "RasterPropertiesEntryType": { - "type": "string", - "enum": [ - "Number", - "String" - ] - }, - "RasterPropertiesKey": { - "type": "object", - "required": [ - "key" - ], - "properties": { - "domain": { - "type": [ - "string", - "null" - ] - }, - "key": { - "type": "string" - } - } - }, - "RasterResultDescriptor": { - "type": "object", - "description": "A `ResultDescriptor` for raster queries", - "required": [ - "dataType", - "spatialReference", - "time", - "spatialGrid", - "bands" - ], - "properties": { - "bands": { - "$ref": "#/components/schemas/RasterBandDescriptors" - }, - "dataType": { - "$ref": "#/components/schemas/RasterDataType" - }, - "spatialGrid": { - "$ref": "#/components/schemas/SpatialGridDescriptor" - }, - "spatialReference": { - "type": "string" - }, - "time": { - "$ref": "#/components/schemas/TimeDescriptor" - } - } - }, - "RasterStreamWebsocketResultType": { - "type": "string", - "description": "The stream result type for `raster_stream_websocket`.", - "enum": [ - "arrow" - ] - }, - "RasterSymbology": { - "type": "object", - "required": [ - "type", - "opacity", - "rasterColorizer" - ], - "properties": { - "opacity": { - "type": "number", - "format": "double" - }, - "rasterColorizer": { - "$ref": "#/components/schemas/RasterColorizer" - }, - "type": { - "type": "string", - "enum": [ - "raster" - ] - } - } - }, - "RasterToDatasetQueryRectangle": { - "type": "object", - "description": "A spatio-temporal rectangle with a specified resolution", - "required": [ - "spatialBounds", - "timeInterval" - ], - "properties": { - "spatialBounds": { - "$ref": "#/components/schemas/SpatialPartition2D" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "RegularTimeDimension": { - "type": "object", - "required": [ - "origin", - "step" - ], - "properties": { - "origin": { - "$ref": "#/components/schemas/TimeInstance" - }, - "step": { - "$ref": "#/components/schemas/TimeStep" - } - } - }, - "Resource": { - "oneOf": [ - { - "$ref": "#/components/schemas/LayerResource" - }, - { - "$ref": "#/components/schemas/LayerCollectionResource" - }, - { - "$ref": "#/components/schemas/ProjectResource" - }, - { - "$ref": "#/components/schemas/DatasetResource" - }, - { - "$ref": "#/components/schemas/MlModelResource" - }, - { - "$ref": "#/components/schemas/DataProviderResource" - } - ], - "description": "A resource that is affected by a permission.", - "discriminator": { - "propertyName": "type", - "mapping": { - "dataset": "#/components/schemas/DatasetResource", - "layer": "#/components/schemas/LayerResource", - "layerCollection": "#/components/schemas/LayerCollectionResource", - "mlModel": "#/components/schemas/MlModelResource", - "project": "#/components/schemas/ProjectResource", - "provider": "#/components/schemas/DataProviderResource" - } - } - }, - "RgbaColor": { - "type": "array", - "items": { - "type": "integer" - }, - "maxItems": 4, - "minItems": 4 - }, - "Role": { - "type": "object", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "$ref": "#/components/schemas/RoleId" - }, - "name": { - "type": "string" - } - } - }, - "RoleDescription": { - "type": "object", - "required": [ - "role", - "individual" - ], - "properties": { - "individual": { - "type": "boolean" - }, - "role": { - "$ref": "#/components/schemas/Role" - } - } - }, - "RoleId": { - "type": "string", - "format": "uuid" - }, - "STRectangle": { - "type": "object", - "required": [ - "spatialReference", - "boundingBox", - "timeInterval" - ], - "properties": { - "boundingBox": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "spatialReference": { - "type": "string" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeInterval" - } - } - }, - "SearchCapabilities": { - "type": "object", - "required": [ - "searchTypes", - "autocomplete" - ], - "properties": { - "autocomplete": { - "type": "boolean" - }, - "filters": { - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - }, - "searchTypes": { - "$ref": "#/components/schemas/SearchTypes" - } - } - }, - "SearchType": { - "type": "string", - "enum": [ - "fulltext", - "prefix" - ] - }, - "SearchTypes": { - "type": "object", - "required": [ - "fulltext", - "prefix" - ], - "properties": { - "fulltext": { - "type": "boolean" - }, - "prefix": { - "type": "boolean" - } - } - }, - "Secret_String": { - "type": "string", - "description": "A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests." - }, - "SentinelS2L2ACogsProviderDefinition": { - "type": "object", - "required": [ - "type", - "name", - "id", - "description", - "apiUrl" - ], - "properties": { - "apiUrl": { - "type": "string" - }, - "cacheTtl": { - "$ref": "#/components/schemas/CacheTtlSeconds" - }, - "description": { - "type": "string" - }, - "gdalRetries": { - "type": "integer", - "minimum": 0 - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "queryBuffer": { - "$ref": "#/components/schemas/StacQueryBuffer" - }, - "stacApiRetries": { - "$ref": "#/components/schemas/StacApiRetries" - }, - "type": { - "type": "string", - "enum": [ - "SentinelS2L2ACogs" - ] - } - } - }, - "ServerInfo": { - "type": "object", - "required": [ - "buildDate", - "commitHash", - "version", - "features" - ], - "properties": { - "buildDate": { - "type": "string" - }, - "commitHash": { - "type": "string" - }, - "features": { - "type": "string" - }, - "version": { - "type": "string" - } - } - }, - "SessionId": { - "type": "string", - "format": "uuid" - }, - "SingleBandRasterColorizer": { - "type": "object", - "required": [ - "type", - "band", - "bandColorizer" - ], - "properties": { - "band": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "bandColorizer": { - "$ref": "#/components/schemas/Colorizer" - }, - "type": { - "type": "string", - "enum": [ - "singleBand" - ] - } - } - }, - "SpatialGridDefinition": { - "type": "object", - "required": [ - "geoTransform", - "gridBounds" - ], - "properties": { - "geoTransform": { - "$ref": "#/components/schemas/GeoTransform" - }, - "gridBounds": { - "$ref": "#/components/schemas/GridBoundingBox2D" - } - } - }, - "SpatialGridDescriptor": { - "type": "object", - "required": [ - "spatialGrid", - "descriptor" - ], - "properties": { - "descriptor": { - "$ref": "#/components/schemas/SpatialGridDescriptorState" - }, - "spatialGrid": { - "$ref": "#/components/schemas/SpatialGridDefinition" - } - } - }, - "SpatialGridDescriptorState": { - "type": "string", - "enum": [ - "source", - "derived" - ] - }, - "SpatialPartition2D": { - "type": "object", - "description": "A partition of space that include the upper left but excludes the lower right coordinate", - "required": [ - "upperLeftCoordinate", - "lowerRightCoordinate" - ], - "properties": { - "lowerRightCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - }, - "upperLeftCoordinate": { - "$ref": "#/components/schemas/Coordinate2D" - } - } - }, - "SpatialReferenceAuthority": { - "type": "string", - "description": "A spatial reference authority that is part of a spatial reference definition", - "enum": [ - "EPSG", - "SR-ORG", - "IAU2000", - "ESRI" - ] - }, - "SpatialReferenceSpecification": { - "type": "object", - "description": "The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)", - "required": [ - "name", - "spatialReference", - "projString", - "extent" - ], - "properties": { - "axisLabels": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/StringPair" - } - ] - }, - "axisOrder": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/AxisOrder" - } - ] - }, - "extent": { - "$ref": "#/components/schemas/BoundingBox2D" - }, - "name": { - "type": "string" - }, - "projString": { - "type": "string" - }, - "spatialReference": { - "type": "string" - } - } - }, - "SpatialResolution": { - "type": "object", - "description": "The spatial resolution in SRS units", - "required": [ - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - } - } - }, - "StacApiRetries": { - "type": "object", - "required": [ - "numberOfRetries", - "initialDelayMs", - "exponentialBackoffFactor" - ], - "properties": { - "exponentialBackoffFactor": { - "type": "number", - "format": "double" - }, - "initialDelayMs": { - "type": "integer", - "format": "int64", - "minimum": 0 - }, - "numberOfRetries": { - "type": "integer", - "minimum": 0 - } - } - }, - "StacQueryBuffer": { - "type": "object", - "description": "A struct that represents buffers to apply to stac requests", - "required": [ - "startSeconds", - "endSeconds" - ], - "properties": { - "endSeconds": { - "type": "integer", - "format": "int64" - }, - "startSeconds": { - "type": "integer", - "format": "int64" - } - } - }, - "StaticColor": { - "type": "object", - "required": [ - "type", - "color" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/RgbaColor" - }, - "type": { - "type": "string", - "enum": [ - "static" - ] - } - } - }, - "StaticNumber": { - "type": "object", - "required": [ - "type", - "value" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "static" - ] - }, - "value": { - "type": "integer", - "minimum": 0 - } - } - }, - "StringPair": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 2, - "minItems": 2 - }, - "StrokeParam": { - "type": "object", - "required": [ - "width", - "color" - ], - "properties": { - "color": { - "$ref": "#/components/schemas/ColorParam" - }, - "width": { - "$ref": "#/components/schemas/NumberParam" - } - } - }, - "SuggestMetaData": { - "type": "object", - "required": [ - "dataPath" - ], - "properties": { - "dataPath": { - "$ref": "#/components/schemas/DataPath" - }, - "layerName": { - "type": [ - "string", - "null" - ] - }, - "mainFile": { - "type": [ - "string", - "null" - ] - } - } - }, - "Symbology": { - "oneOf": [ - { - "$ref": "#/components/schemas/RasterSymbology" - }, - { - "$ref": "#/components/schemas/PointSymbology" - }, - { - "$ref": "#/components/schemas/LineSymbology" - }, - { - "$ref": "#/components/schemas/PolygonSymbology" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "line": "#/components/schemas/LineSymbology", - "point": "#/components/schemas/PointSymbology", - "polygon": "#/components/schemas/PolygonSymbology", - "raster": "#/components/schemas/RasterSymbology" - } - } - }, - "TaskAbortOptions": { - "type": "object", - "properties": { - "force": { - "type": "boolean" - } - } - }, - "TaskFilter": { - "type": "string", - "enum": [ - "running", - "aborted", - "failed", - "completed" - ] - }, - "TaskId": { - "type": "string", - "format": "uuid" - }, - "TaskListOptions": { - "type": "object", - "properties": { - "filter": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TaskFilter" - } - ] - }, - "limit": { - "type": "integer", - "format": "int32", - "minimum": 0 - }, - "offset": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "TaskResponse": { - "type": "object", - "description": "Create a task somewhere and respond with a task id to query the task status.", - "required": [ - "taskId" - ], - "properties": { - "taskId": { - "$ref": "#/components/schemas/TaskId" - } - } - }, - "TaskStatus": { - "oneOf": [ - { - "type": "object", - "title": "TaskStatusRunning", - "required": [ - "status", - "taskType", - "pctComplete", - "estimatedTimeRemaining", - "timeStarted" - ], - "properties": { - "description": { - "type": "string" - }, - "estimatedTimeRemaining": { - "type": "string" - }, - "info": {}, - "pctComplete": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "running" - ] - }, - "taskType": { - "type": "string" - }, - "timeStarted": { - "type": "string" - } - } - }, - { - "type": "object", - "title": "TaskStatusCompleted", - "required": [ - "status", - "taskType", - "timeTotal", - "timeStarted" - ], - "properties": { - "description": { - "type": "string" - }, - "info": {}, - "status": { - "type": "string", - "enum": [ - "completed" - ] - }, - "taskType": { - "type": "string" - }, - "timeStarted": { - "type": "string" - }, - "timeTotal": { - "type": "string" - } - } - }, - { - "type": "object", - "title": "TaskStatusAborted", - "required": [ - "status", - "cleanUp" - ], - "properties": { - "cleanUp": {}, - "status": { - "type": "string", - "enum": [ - "aborted" - ] - } - } - }, - { - "type": "object", - "title": "TaskStatusFailed", - "required": [ - "status", - "error", - "cleanUp" - ], - "properties": { - "cleanUp": {}, - "error": {}, - "status": { - "type": "string", - "enum": [ - "failed" - ] - } - } - } - ], - "discriminator": { - "propertyName": "status", - "mapping": { - "aborted": "TaskStatusAborted", - "completed": "TaskStatusCompleted", - "failed": "TaskStatusFailed", - "running": "TaskStatusRunning" - } - } - }, - "TaskStatusWithId": { - "allOf": [ - { - "$ref": "#/components/schemas/TaskStatus" - }, - { - "type": "object", - "required": [ - "taskId" - ], - "properties": { - "taskId": { - "$ref": "#/components/schemas/TaskId" - } - } - } - ] - }, - "TextSymbology": { - "type": "object", - "required": [ - "attribute", - "fillColor", - "stroke" - ], - "properties": { - "attribute": { - "type": "string" - }, - "fillColor": { - "$ref": "#/components/schemas/ColorParam" - }, - "stroke": { - "$ref": "#/components/schemas/StrokeParam" - } - } - }, - "TimeDescriptor": { - "type": "object", - "required": [ - "dimension" - ], - "properties": { - "bounds": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - }, - "dimension": { - "$ref": "#/components/schemas/TimeDimension" - } - } - }, - "TimeDimension": { - "oneOf": [ - { - "allOf": [ - { - "$ref": "#/components/schemas/RegularTimeDimension" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "regular" - ] - } - } - } - ] - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "irregular" - ] - } - } - } - ] - }, - "TimeGranularity": { - "type": "string", - "description": "A time granularity.", - "enum": [ - "millis", - "seconds", - "minutes", - "hours", - "days", - "months", - "years" - ] - }, - "TimeInstance": { - "type": "integer", - "format": "int64" - }, - "TimeInterval": { - "type": "object", - "description": "Stores time intervals in ms in close-open semantic [start, end)", - "required": [ - "start", - "end" - ], - "properties": { - "end": { - "$ref": "#/components/schemas/TimeInstance" - }, - "start": { - "$ref": "#/components/schemas/TimeInstance" - } - } - }, - "TimeReference": { - "type": "string", - "enum": [ - "start", - "end" - ] - }, - "TimeStep": { - "type": "object", - "required": [ - "granularity", - "step" - ], - "properties": { - "granularity": { - "$ref": "#/components/schemas/TimeGranularity" - }, - "step": { - "type": "integer", - "format": "int32", - "minimum": 0 - } - } - }, - "TypeNames": { - "type": "string" - }, - "TypedDataProviderDefinition": { - "oneOf": [ - { - "$ref": "#/components/schemas/ArunaDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/CopernicusDataspaceDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/DatasetLayerListingProviderDefinition" - }, - { - "$ref": "#/components/schemas/EbvPortalDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/EdrDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/GbifDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/GfbioAbcdDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/GfbioCollectionsDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/NetCdfCfDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/PangaeaDataProviderDefinition" - }, - { - "$ref": "#/components/schemas/SentinelS2L2ACogsProviderDefinition" - }, - { - "$ref": "#/components/schemas/WildliveDataConnectorDefinition" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "Aruna": "#/components/schemas/ArunaDataProviderDefinition", - "CopernicusDataspace": "#/components/schemas/CopernicusDataspaceDataProviderDefinition", - "DatasetLayerListing": "#/components/schemas/DatasetLayerListingProviderDefinition", - "EbvPortal": "#/components/schemas/EbvPortalDataProviderDefinition", - "Edr": "#/components/schemas/EdrDataProviderDefinition", - "Gbif": "#/components/schemas/GbifDataProviderDefinition", - "GfbioAbcd": "#/components/schemas/GfbioAbcdDataProviderDefinition", - "GfbioCollections": "#/components/schemas/GfbioCollectionsDataProviderDefinition", - "NetCdfCf": "#/components/schemas/NetCdfCfDataProviderDefinition", - "Pangaea": "#/components/schemas/PangaeaDataProviderDefinition", - "SentinelS2L2ACogs": "#/components/schemas/SentinelS2L2ACogsProviderDefinition", - "WildLIVE!": "#/components/schemas/WildliveDataConnectorDefinition" - } - } - }, - "TypedGeometry": { - "oneOf": [ - { - "type": "object", - "required": [ - "Data" - ], - "properties": { - "Data": { - "$ref": "#/components/schemas/NoGeometry" - } - } - }, - { - "type": "object", - "required": [ - "MultiPoint" - ], - "properties": { - "MultiPoint": { - "$ref": "#/components/schemas/MultiPoint" - } - } - }, - { - "type": "object", - "required": [ - "MultiLineString" - ], - "properties": { - "MultiLineString": { - "$ref": "#/components/schemas/MultiLineString" - } - } - }, - { - "type": "object", - "required": [ - "MultiPolygon" - ], - "properties": { - "MultiPolygon": { - "$ref": "#/components/schemas/MultiPolygon" - } - } - } - ] - }, - "TypedOperator": { - "type": "object", - "description": "An enum to differentiate between `Operator` variants", - "required": [ - "type", - "operator" - ], - "properties": { - "operator": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "params": { - "type": "object" - }, - "sources": { - "type": "object" - }, - "type": { - "type": "string" - } - } - }, - "type": { - "type": "string", - "enum": [ - "Vector", - "Raster", - "Plot" - ] - } - }, - "examples": [ - { - "type": "MockPointSource", - "params": { - "points": [ - { - "x": 0.0, - "y": 0.1 - }, - { - "x": 1.0, - "y": 1.1 - } - ] - } - } - ] - }, - "TypedPlotResultDescriptor": { - "allOf": [ - { - "$ref": "#/components/schemas/PlotResultDescriptor" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "plot" - ] - } - } - } - ] - }, - "TypedRasterResultDescriptor": { - "allOf": [ - { - "$ref": "#/components/schemas/RasterResultDescriptor" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "raster" - ] - } - } - } - ] - }, - "TypedResultDescriptor": { - "oneOf": [ - { - "$ref": "#/components/schemas/TypedPlotResultDescriptor" - }, - { - "$ref": "#/components/schemas/TypedRasterResultDescriptor" - }, - { - "$ref": "#/components/schemas/TypedVectorResultDescriptor" - } - ], - "discriminator": { - "propertyName": "type", - "mapping": { - "plot": "#/components/schemas/TypedPlotResultDescriptor", - "raster": "#/components/schemas/TypedRasterResultDescriptor", - "vector": "#/components/schemas/TypedVectorResultDescriptor" - } - } - }, - "TypedVectorResultDescriptor": { - "allOf": [ - { - "$ref": "#/components/schemas/VectorResultDescriptor" - }, - { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "vector" - ] - } - } - } - ] - }, - "UnitlessMeasurement": { - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "unitless" - ] - } - } - }, - "UnixTimeStampType": { - "type": "string", - "enum": [ - "epochSeconds", - "epochMilliseconds" - ] - }, - "UpdateDataset": { - "type": "object", - "required": [ - "name", - "display_name", - "description", - "tags" - ], - "properties": { - "description": { - "type": "string" - }, - "display_name": { - "type": "string" - }, - "name": { - "$ref": "#/components/schemas/DatasetName" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UpdateLayer": { - "type": "object", - "required": [ - "name", - "description", - "workflow" - ], - "properties": { - "description": { - "type": "string", - "example": "Example layer description" - }, - "metadata": { - "type": "object", - "description": "metadata used for loading the data", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - } - }, - "name": { - "type": "string", - "example": "Example Layer" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - }, - "description": "properties, for instance, to be rendered in the UI" - }, - "symbology": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Symbology" - } - ] - }, - "workflow": { - "$ref": "#/components/schemas/Workflow" - } - } - }, - "UpdateLayerCollection": { - "type": "object", - "required": [ - "name", - "description" - ], - "properties": { - "description": { - "type": "string", - "example": "A description for an example collection" - }, - "name": { - "type": "string", - "example": "Example Collection" - }, - "properties": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Property" - } - } - } - }, - "UpdateProject": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "bounds": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/STRectangle" - } - ] - }, - "description": { - "type": [ - "string", - "null" - ] - }, - "id": { - "$ref": "#/components/schemas/ProjectId" - }, - "layers": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/VecUpdate" - } - }, - "name": { - "type": [ - "string", - "null" - ] - }, - "plots": { - "type": [ - "array", - "null" - ], - "items": { - "$ref": "#/components/schemas/VecUpdate" - } - }, - "timeStep": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeStep" - } - ] - } - }, - "example": { - "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", - "name": "TestUpdate", - "layers": [ - { - "workflow": "100ee39c-761c-4218-9d85-ec861a8f3097", - "name": "L1", - "visibility": { - "data": true, - "legend": false - }, - "symbology": { - "type": "raster", - "opacity": 1.0, - "colorizer": { - "type": "linearGradient", - "breakpoints": [ - { - "value": 1.0, - "color": [ - 255, - 255, - 255, - 255 - ] - }, - { - "value": 2.0, - "color": [ - 0, - 0, - 0, - 255 - ] - } - ], - "noDataColor": [ - 0, - 0, - 0, - 0 - ], - "overColor": [ - 255, - 255, - 255, - 255 - ], - "underColor": [ - 0, - 0, - 0, - 255 - ] - } - } - } - ] - } - }, - "UpdateQuota": { - "type": "object", - "required": [ - "available" - ], - "properties": { - "available": { - "type": "integer", - "format": "int64" - } - } - }, - "UploadFileLayersResponse": { - "type": "object", - "required": [ - "layers" - ], - "properties": { - "layers": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UploadFilesResponse": { - "type": "object", - "required": [ - "files" - ], - "properties": { - "files": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "UploadId": { - "type": "string", - "format": "uuid" - }, - "UsageSummaryGranularity": { - "type": "string", - "enum": [ - "minutes", - "hours", - "days", - "months", - "years" - ] - }, - "UserCredentials": { - "type": "object", - "required": [ - "email", - "password" - ], - "properties": { - "email": { - "type": "string" - }, - "password": { - "type": "string" - } - }, - "example": { - "email": "foo@example.com", - "password": "secret123" - } - }, - "UserId": { - "type": "string", - "format": "uuid" - }, - "UserInfo": { - "type": "object", - "required": [ - "id" - ], - "properties": { - "email": { - "type": [ - "string", - "null" - ] - }, - "id": { - "$ref": "#/components/schemas/UserId" - }, - "realName": { - "type": [ - "string", - "null" - ] - } - } - }, - "UserRegistration": { - "type": "object", - "required": [ - "email", - "password", - "realName" - ], - "properties": { - "email": { - "type": "string" - }, - "password": { - "type": "string" - }, - "realName": { - "type": "string" - } - }, - "example": { - "email": "foo@example.com", - "password": "secret123", - "realName": "Foo Bar" - } - }, - "UserSession": { - "type": "object", - "required": [ - "id", - "user", - "created", - "validUntil", - "roles" - ], - "properties": { - "created": { - "type": "string", - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/SessionId" - }, - "project": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/ProjectId" - } - ] - }, - "roles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RoleId" - } - }, - "user": { - "$ref": "#/components/schemas/UserInfo" - }, - "validUntil": { - "type": "string", - "format": "date-time" - }, - "view": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/STRectangle" - } - ] - } - } - }, - "VecUpdate": { - "oneOf": [ - { - "$ref": "#/components/schemas/ProjectUpdateToken" - }, - { - "$ref": "#/components/schemas/Plot" - } - ] - }, - "VectorColumnInfo": { - "type": "object", - "required": [ - "dataType", - "measurement" - ], - "properties": { - "dataType": { - "$ref": "#/components/schemas/FeatureDataType" - }, - "measurement": { - "$ref": "#/components/schemas/Measurement" - } - } - }, - "VectorDataType": { - "type": "string", - "description": "An enum that contains all possible vector data types", - "enum": [ - "Data", - "MultiPoint", - "MultiLineString", - "MultiPolygon" - ] - }, - "VectorResultDescriptor": { - "type": "object", - "required": [ - "dataType", - "spatialReference", - "columns" - ], - "properties": { - "bbox": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/BoundingBox2D" - } - ] - }, - "columns": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/VectorColumnInfo" - }, - "propertyNames": { - "type": "string" - } - }, - "dataType": { - "$ref": "#/components/schemas/VectorDataType" - }, - "spatialReference": { - "type": "string" - }, - "time": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/TimeInterval" - } - ] - } - } - }, - "Volume": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "path": { - "type": [ - "string", - "null" - ] - } - } - }, - "VolumeFileLayersResponse": { - "type": "object", - "required": [ - "layers" - ], - "properties": { - "layers": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "VolumeName": { - "type": "string" - }, - "WcsBoundingbox": { - "type": "object", - "required": [ - "bbox" - ], - "properties": { - "bbox": { - "type": "array", - "items": { - "type": "number", - "format": "double" - } - }, - "spatial_reference": { - "type": [ - "string", - "null" - ] - } - } - }, - "WcsService": { - "type": "string", - "enum": [ - "WCS" - ] - }, - "WcsVersion": { - "type": "string", - "enum": [ - "1.1.0", - "1.1.1" - ] - }, - "WfsService": { - "type": "string", - "enum": [ - "WFS" - ] - }, - "WfsVersion": { - "type": "string", - "enum": [ - "2.0.0" - ] - }, - "WildliveDataConnectorDefinition": { - "type": "object", - "required": [ - "type", - "id", - "name", - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "expiryDate": { - "type": [ - "string", - "null" - ], - "format": "date-time" - }, - "id": { - "$ref": "#/components/schemas/DataProviderId" - }, - "name": { - "type": "string" - }, - "priority": { - "type": [ - "integer", - "null" - ], - "format": "int32" - }, - "refreshToken": { - "oneOf": [ - { - "type": "null" - }, - { - "$ref": "#/components/schemas/Secret_String" - } - ] - }, - "type": { - "type": "string", - "enum": [ - "WildLIVE!" - ] - }, - "user": { - "type": [ - "string", - "null" - ] - } - } - }, - "WmsService": { - "type": "string", - "enum": [ - "WMS" - ] - }, - "WmsVersion": { - "type": "string", - "enum": [ - "1.3.0" - ] - }, - "Workflow": { - "allOf": [ - { - "$ref": "#/components/schemas/TypedOperator" - } - ] - }, - "WorkflowId": { - "type": "string", - "format": "uuid" - }, - "WrappedPlotOutput": { - "type": "object", - "required": [ - "outputFormat", - "plotType", - "data" - ], - "properties": { - "data": { - "type": "object" - }, - "outputFormat": { - "$ref": "#/components/schemas/PlotOutputFormat" - }, - "plotType": { - "type": "string" - } - } - } - }, - "responses": { - "BadRequestQueryResponse": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Missing field in query string": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: missing field `offset`" - } - }, - "Number in query string contains letters": { - "value": { - "error": "UnableToParseQueryString", - "message": "Unable to parse query string: invalid digit found in string" - } - } - } - } - } - }, - "IdResponse": { - "description": "Id of generated resource", - "content": { - "application/json": { - "schema": { - "type": "object", - "title": "IdResponse", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "format": "uuid" - } - } - }, - "example": { - "id": "36574dc3-560a-4b09-9d22-d5945f2b8093" - } - } - } - }, - "PayloadTooLargeResponse": { - "description": "Payload too large", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Known payload size": { - "value": { - "error": "Overflow", - "message": "JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)." - } - }, - "Unknown payload size": { - "value": { - "error": "Overflow", - "message": "JSON payload has exceeded limit (2097152 bytes)." - } - } - } - } - } - }, - "PngResponse": { - "description": "PNG Image", - "content": { - "image/png": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "UnauthorizedAdminResponse": { - "description": "Authorization failed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Auth token does not correspond to an admin": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Invalid admin token" - } - }, - "Authorization Header is missing": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Header with authorization token not provided." - } - }, - "Authorization Scheme other than Bearer is used": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Authentication scheme must be Bearer." - } - }, - "Provided auth token has an invalid format": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Identifier does not have the right format." - } - }, - "Session id is invalid": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: The session id is invalid." - } - } - } - } - } - }, - "UnauthorizedUserResponse": { - "description": "Authorization failed", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "examples": { - "Authorization Header is missing": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Header with authorization token not provided." - } - }, - "Authorization Scheme other than Bearer is used": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Authentication scheme must be Bearer." - } - }, - "Provided auth token has an invalid format": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: Identifier does not have the right format." - } - }, - "Session id is invalid": { - "value": { - "error": "Unauthorized", - "message": "Authorization error: The session id is invalid." - } - } - } - } - } - }, - "UnsupportedMediaTypeForJsonResponse": { - "description": "Media type of application/json is expected", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorResponse" - }, - "example": { - "error": "UnsupportedMediaType", - "message": "Unsupported content type header." - } - } - } - }, - "ZipResponse": { - "description": "ZIP Archive", - "content": { - "application/zip": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - } - }, - "securitySchemes": { - "session_token": { - "type": "http", - "scheme": "bearer", - "bearerFormat": "UUID", - "description": "A valid session token can be obtained via the /anonymous or /login endpoints." - } - } - }, - "externalDocs": { - "url": "https://docs.geoengine.io", - "description": "Geo Engine Docs" - } -} +{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":false,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":false,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":false,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":false,"schema":{"type":"string"}},{"name":"layers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":false,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":false,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file diff --git a/.generation/post-process/python.py b/.generation/post-process/python.py index 6edfa1ed..82e0e9a0 100644 --- a/.generation/post-process/python.py +++ b/.generation/post-process/python.py @@ -122,22 +122,6 @@ def layers_api_py(file_contents: List[str]) -> Generator[str, None, None]: yield line -def ogc_xyz_api_py(ogc_api: Literal['wfs', 'wms']) -> Callable[[List[str]], Generator[str, None, None]]: - '''Modify the ogc_xyz_api.py file.''' - def _ogc_xyz_api_py(file_contents: List[str]) -> Generator[str, None, None]: - '''Modify the ogc_wfs_api.py file.''' - for line in file_contents: - dedented_line = dedent(line) - if dedented_line.startswith(f"resource_path='/{ogc_api}/{{workflow}}?request="): - line = indent(dedent(f'''\ - # Note: remove query string in path part for ogc endpoints - resource_path='/{ogc_api}/{{workflow}}', - '''), 3 * INDENT) - - yield line - return _ogc_xyz_api_py - - def raster_result_descriptor_py(file_contents: List[str]) -> Generator[str, None, None]: ''' Modify the raster_result_descriptor.py file. @@ -272,8 +256,6 @@ def time_step_py(file_contents: List[str]) -> Generator[str, None, None]: 'api_client.py': api_client_py, 'exceptions.py': exceptions_py, 'layers_api.py': layers_api_py, - 'ogcwfs_api.py': ogc_xyz_api_py('wfs'), - 'ogcwms_api.py': ogc_xyz_api_py('wms'), 'plot_result_descriptor.py': plot_result_descriptor_py, 'raster_result_descriptor.py': raster_result_descriptor_py, 'task_status_with_id.py': task_status_with_id_py, diff --git a/python/README.md b/python/README.md index 0ec466f3..44c502ab 100644 --- a/python/README.md +++ b/python/README.md @@ -55,10 +55,10 @@ import geoengine_openapi_client from geoengine_openapi_client.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://geoengine.io/api +# Defining the host is optional and defaults to http://127.0.0.1:3030/api # See configuration.py for a list of all supported configuration parameters. configuration = geoengine_openapi_client.Configuration( - host = "https://geoengine.io/api" + host = "http://127.0.0.1:3030/api" ) # The client must configure the authentication and authorization parameters @@ -89,7 +89,7 @@ with geoengine_openapi_client.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- diff --git a/python/geoengine_openapi_client/configuration.py b/python/geoengine_openapi_client/configuration.py index a5f5673a..111111a6 100644 --- a/python/geoengine_openapi_client/configuration.py +++ b/python/geoengine_openapi_client/configuration.py @@ -195,7 +195,7 @@ def __init__( ) -> None: """Constructor """ - self._base_path = "https://geoengine.io/api" if host is None else host + self._base_path = "http://127.0.0.1:3030/api" if host is None else host """Default Base url """ self.server_index = 0 if server_index is None and host is None else server_index @@ -526,14 +526,8 @@ def get_host_settings(self) -> List[HostSetting]: """ return [ { - 'url': "{server}/api", + 'url': "http://127.0.0.1:3030/api", 'description': "No description provided", - 'variables': { - 'server': { - 'description': "No description provided", - 'default_value': "https://geoengine.io", - } - } } ] diff --git a/typescript/README.md b/typescript/README.md index ed1ba0cd..f0d87009 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -1,6 +1,6 @@ # @geoengine/openapi-client@0.0.30 -A TypeScript SDK client for the geoengine.io API. +A TypeScript SDK client for the 127.0.0.1 API. ## Usage @@ -52,7 +52,7 @@ example().catch(console.error); ### API Endpoints -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Class | Method | HTTP request | Description | ----- | ------ | ------------ | ------------- diff --git a/typescript/dist/esm/runtime.js b/typescript/dist/esm/runtime.js index d8d84515..ddb74be0 100644 --- a/typescript/dist/esm/runtime.js +++ b/typescript/dist/esm/runtime.js @@ -20,7 +20,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); +export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); export class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/dist/runtime.js b/typescript/dist/runtime.js index f2d35eb0..f1d84562 100644 --- a/typescript/dist/runtime.js +++ b/typescript/dist/runtime.js @@ -27,7 +27,7 @@ exports.querystring = querystring; exports.exists = exists; exports.mapValues = mapValues; exports.canConsumeForm = canConsumeForm; -exports.BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); +exports.BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/docs/DatasetsApi.md b/typescript/docs/DatasetsApi.md index 74478f19..644940f4 100644 --- a/typescript/docs/DatasetsApi.md +++ b/typescript/docs/DatasetsApi.md @@ -1,6 +1,6 @@ # DatasetsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/GeneralApi.md b/typescript/docs/GeneralApi.md index aae4f23d..af2a6a74 100644 --- a/typescript/docs/GeneralApi.md +++ b/typescript/docs/GeneralApi.md @@ -1,6 +1,6 @@ # GeneralApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/LayersApi.md b/typescript/docs/LayersApi.md index fb62468e..ff45f377 100644 --- a/typescript/docs/LayersApi.md +++ b/typescript/docs/LayersApi.md @@ -1,6 +1,6 @@ # LayersApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/MLApi.md b/typescript/docs/MLApi.md index 2fac8af1..94b75c90 100644 --- a/typescript/docs/MLApi.md +++ b/typescript/docs/MLApi.md @@ -1,6 +1,6 @@ # MLApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWCSApi.md b/typescript/docs/OGCWCSApi.md index 4492bb5b..b190afc5 100644 --- a/typescript/docs/OGCWCSApi.md +++ b/typescript/docs/OGCWCSApi.md @@ -1,6 +1,6 @@ # OGCWCSApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index 6288e64b..a1539b53 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -1,6 +1,6 @@ # OGCWFSApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index ca2643ed..9a3e48d2 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -1,6 +1,6 @@ # OGCWMSApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/PermissionsApi.md b/typescript/docs/PermissionsApi.md index 2488d005..e6d74059 100644 --- a/typescript/docs/PermissionsApi.md +++ b/typescript/docs/PermissionsApi.md @@ -1,6 +1,6 @@ # PermissionsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/PlotsApi.md b/typescript/docs/PlotsApi.md index 74416d28..fa6e82fa 100644 --- a/typescript/docs/PlotsApi.md +++ b/typescript/docs/PlotsApi.md @@ -1,6 +1,6 @@ # PlotsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/ProjectsApi.md b/typescript/docs/ProjectsApi.md index be9574d5..ac5907cb 100644 --- a/typescript/docs/ProjectsApi.md +++ b/typescript/docs/ProjectsApi.md @@ -1,6 +1,6 @@ # ProjectsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/SessionApi.md b/typescript/docs/SessionApi.md index b79cd89f..a196058b 100644 --- a/typescript/docs/SessionApi.md +++ b/typescript/docs/SessionApi.md @@ -1,6 +1,6 @@ # SessionApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/SpatialReferencesApi.md b/typescript/docs/SpatialReferencesApi.md index a0fcccbf..599b322a 100644 --- a/typescript/docs/SpatialReferencesApi.md +++ b/typescript/docs/SpatialReferencesApi.md @@ -1,6 +1,6 @@ # SpatialReferencesApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/TasksApi.md b/typescript/docs/TasksApi.md index dac812ec..d8414212 100644 --- a/typescript/docs/TasksApi.md +++ b/typescript/docs/TasksApi.md @@ -1,6 +1,6 @@ # TasksApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UploadsApi.md b/typescript/docs/UploadsApi.md index b5b5dc75..9c749ed0 100644 --- a/typescript/docs/UploadsApi.md +++ b/typescript/docs/UploadsApi.md @@ -1,6 +1,6 @@ # UploadsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UserApi.md b/typescript/docs/UserApi.md index 52310dad..ec95ace7 100644 --- a/typescript/docs/UserApi.md +++ b/typescript/docs/UserApi.md @@ -1,6 +1,6 @@ # UserApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/WorkflowsApi.md b/typescript/docs/WorkflowsApi.md index 73948165..d2404b87 100644 --- a/typescript/docs/WorkflowsApi.md +++ b/typescript/docs/WorkflowsApi.md @@ -1,6 +1,6 @@ # WorkflowsApi -All URIs are relative to *https://geoengine.io/api* +All URIs are relative to *http://127.0.0.1:3030/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/src/runtime.ts b/typescript/src/runtime.ts index 2f290740..ee33a1d3 100644 --- a/typescript/src/runtime.ts +++ b/typescript/src/runtime.ts @@ -13,7 +13,7 @@ */ -export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); +export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); export interface ConfigurationParameters { basePath?: string; // override base path From d4bff48c123223458f58bcb54be6482f4feb98b8 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Wed, 26 Nov 2025 15:34:04 +0100 Subject: [PATCH 11/15] update openapi-client --- .generation/input/openapi.json | 11167 +++++++++++++++- python/.openapi-generator/FILES | 9 + python/README.md | 9 +- python/geoengine_openapi_client/__init__.py | 6 + .../api/ogcwcs_api.py | 23 +- .../api/ogcwfs_api.py | 17 +- .../api/ogcwms_api.py | 17 +- .../geoengine_openapi_client/configuration.py | 10 +- .../models/__init__.py | 3 + .../models/wcs_request.py | 39 + .../models/wfs_request.py | 38 + .../models/wms_request.py | 41 + python/test/test_wcs_request.py | 34 + python/test/test_wfs_request.py | 34 + python/test/test_wms_request.py | 34 + typescript/README.md | 7 +- typescript/dist/apis/OGCWCSApi.d.ts | 13 +- typescript/dist/apis/OGCWCSApi.js | 10 +- typescript/dist/apis/OGCWFSApi.d.ts | 12 +- typescript/dist/apis/OGCWFSApi.js | 9 +- typescript/dist/apis/OGCWMSApi.d.ts | 15 +- typescript/dist/apis/OGCWMSApi.js | 12 +- typescript/dist/esm/apis/OGCWCSApi.d.ts | 13 +- typescript/dist/esm/apis/OGCWCSApi.js | 8 - typescript/dist/esm/apis/OGCWFSApi.d.ts | 12 +- typescript/dist/esm/apis/OGCWFSApi.js | 7 - typescript/dist/esm/apis/OGCWMSApi.d.ts | 15 +- typescript/dist/esm/apis/OGCWMSApi.js | 10 - typescript/dist/esm/models/WcsRequest.d.ts | 26 + typescript/dist/esm/models/WcsRequest.js | 44 + typescript/dist/esm/models/WfsRequest.d.ts | 25 + typescript/dist/esm/models/WfsRequest.js | 43 + typescript/dist/esm/models/WmsRequest.d.ts | 28 + typescript/dist/esm/models/WmsRequest.js | 46 + typescript/dist/esm/models/index.d.ts | 3 + typescript/dist/esm/models/index.js | 3 + typescript/dist/esm/runtime.js | 2 +- typescript/dist/models/WcsRequest.d.ts | 26 + typescript/dist/models/WcsRequest.js | 52 + typescript/dist/models/WfsRequest.d.ts | 25 + typescript/dist/models/WfsRequest.js | 51 + typescript/dist/models/WmsRequest.d.ts | 28 + typescript/dist/models/WmsRequest.js | 54 + typescript/dist/models/index.d.ts | 3 + typescript/dist/models/index.js | 3 + typescript/dist/runtime.js | 2 +- typescript/docs/DatasetsApi.md | 2 +- typescript/docs/GeneralApi.md | 2 +- typescript/docs/LayersApi.md | 2 +- typescript/docs/MLApi.md | 2 +- typescript/docs/OGCWCSApi.md | 8 +- typescript/docs/OGCWFSApi.md | 8 +- typescript/docs/OGCWMSApi.md | 8 +- typescript/docs/PermissionsApi.md | 2 +- typescript/docs/PlotsApi.md | 2 +- typescript/docs/ProjectsApi.md | 2 +- typescript/docs/SessionApi.md | 2 +- typescript/docs/SpatialReferencesApi.md | 2 +- typescript/docs/TasksApi.md | 2 +- typescript/docs/UploadsApi.md | 2 +- typescript/docs/UserApi.md | 2 +- typescript/docs/WcsRequest.md | 32 + typescript/docs/WfsRequest.md | 32 + typescript/docs/WmsRequest.md | 32 + typescript/docs/WorkflowsApi.md | 2 +- typescript/src/apis/OGCWCSApi.ts | 15 +- typescript/src/apis/OGCWFSApi.ts | 14 +- typescript/src/apis/OGCWMSApi.ts | 17 +- typescript/src/models/WcsRequest.ts | 54 + typescript/src/models/WfsRequest.ts | 53 + typescript/src/models/WmsRequest.ts | 56 + typescript/src/models/index.ts | 3 + typescript/src/runtime.ts | 2 +- util/ui-dev-update.sh | 21 +- 74 files changed, 12247 insertions(+), 222 deletions(-) create mode 100644 python/geoengine_openapi_client/models/wcs_request.py create mode 100644 python/geoengine_openapi_client/models/wfs_request.py create mode 100644 python/geoengine_openapi_client/models/wms_request.py create mode 100644 python/test/test_wcs_request.py create mode 100644 python/test/test_wfs_request.py create mode 100644 python/test/test_wms_request.py create mode 100644 typescript/dist/esm/models/WcsRequest.d.ts create mode 100644 typescript/dist/esm/models/WcsRequest.js create mode 100644 typescript/dist/esm/models/WfsRequest.d.ts create mode 100644 typescript/dist/esm/models/WfsRequest.js create mode 100644 typescript/dist/esm/models/WmsRequest.d.ts create mode 100644 typescript/dist/esm/models/WmsRequest.js create mode 100644 typescript/dist/models/WcsRequest.d.ts create mode 100644 typescript/dist/models/WcsRequest.js create mode 100644 typescript/dist/models/WfsRequest.d.ts create mode 100644 typescript/dist/models/WfsRequest.js create mode 100644 typescript/dist/models/WmsRequest.d.ts create mode 100644 typescript/dist/models/WmsRequest.js create mode 100644 typescript/docs/WcsRequest.md create mode 100644 typescript/docs/WfsRequest.md create mode 100644 typescript/docs/WmsRequest.md create mode 100644 typescript/src/models/WcsRequest.ts create mode 100644 typescript/src/models/WfsRequest.ts create mode 100644 typescript/src/models/WmsRequest.ts diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index fb114c6d..4ac8873a 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -1 +1,11166 @@ -{"openapi":"3.1.0","info":{"title":"Geo Engine API","description":"","contact":{"name":"Geo Engine Developers","email":"dev@geoengine.de"},"license":{"name":"Apache-2.0","url":"https://github.com/geo-engine/geoengine/blob/main/LICENSE"},"version":"0.9.0"},"servers":[{"url":"http://127.0.0.1:3030/api"}],"paths":{"/anonymous":{"post":{"tags":["Session"],"summary":"Creates session for anonymous user. The session's id serves as a Bearer token for requests.","operationId":"anonymous_handler","responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":null,"realName":null},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a","fd8e87bf-515c-4f36-8da6-1a53702ff102"]}}}}}}},"/available":{"get":{"tags":["General"],"summary":"Server availablity check.","operationId":"available_handler","responses":{"204":{"description":"Server availablity check"}}}},"/dataset":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.","operationId":"create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}}},"security":[{"session_token":[]}]}},"/dataset/auto":{"post":{"tags":["Datasets"],"summary":"Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.","operationId":"auto_create_dataset_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetNameResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Body is invalid json":{"value":{"error":"BodyDeserializeError","message":"expected `,` or `}` at line 13 column 7"}},"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"Dataset name is empty":{"value":{"error":"InvalidDatasetName","message":"Invalid dataset name"}},"Failed to read body":{"value":{"error":"Payload","message":"Error that occur during reading payload: Can not decode content-encoding."}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}},"Upload filename is invalid":{"value":{"error":"InvalidUploadFileName","message":"Invalid upload file name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"},"413":{"$ref":"#/components/responses/PayloadTooLargeResponse"},"415":{"$ref":"#/components/responses/UnsupportedMediaTypeForJsonResponse"}},"security":[{"session_token":[]}]}},"/dataset/suggest":{"post":{"tags":["Datasets"],"summary":"Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.","operationId":"suggest_meta_data_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestMetaData"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataSuggestion"},"example":{"mainFile":"germany_polygon.gpkg","metaData":{"type":"OgrMetaData","loadingInfo":{"fileName":"upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg","layerName":"test_germany","dataType":"MultiPolygon","time":{"type":"none"},"defaultGeometry":null,"columns":{"formatSpecifics":null,"x":"","y":null,"int":[],"float":[],"text":[],"bool":[],"datetime":[],"rename":null},"forceOgrTimeFilter":false,"forceOgrSpatialFilter":false,"onError":"ignore","sqlQuery":null,"attributeQuery":null},"resultDescriptor":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{},"time":null,"bbox":null}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Dataset has no auto-importable layer":{"value":{"error":"DatasetHasNoAutoImportableLayer","message":"Dataset has no auto importable layer"}},"File does not exist":{"value":{"error":"GdalError","message":"GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'"}},"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"No suitable mainfile found":{"value":{"error":"NoMainFileCandidateFound","message":"No main file candidate found"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}},"Referenced an unknown upload":{"value":{"error":"UnknownUploadId","message":"Unknown upload id"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes":{"get":{"tags":["Datasets"],"summary":"Lists available volumes.","operationId":"list_volumes_handler","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Volume"}},"example":[{"name":"test_data","path":"./test_data/"}]}}},"401":{"$ref":"#/components/responses/UnauthorizedAdminResponse"}},"security":[{"session_token":[]}]}},"/dataset/volumes/{volume_name}/files/{file_name}/layers":{"get":{"tags":["Datasets"],"summary":"List the layers of a file in a volume.","operationId":"list_volume_file_layers_handler","parameters":[{"name":"volume_name","in":"path","description":"Volume name","required":true,"schema":{"$ref":"#/components/schemas/VolumeName"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/dataset/{dataset}":{"get":{"tags":["Datasets"],"summary":"Retrieves details about a dataset using the internal name.","operationId":"get_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dataset"},"example":{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}},"sourceOperator":"OgrSource"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"post":{"tags":["Datasets"],"summary":"Update details about a dataset using the internal name.","operationId":"update_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDataset"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Referenced an unknown dataset":{"value":{"error":"CannotLoadDataset","message":"CannotLoadDataset: UnknownDatasetName"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]},"delete":{"tags":["Datasets"],"summary":"Delete a dataset","operationId":"delete_dataset_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset id","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Given dataset can only be deleted by owner":{"value":{"error":"OperationRequiresOwnerPermission","message":"Operation requires owner permission"}},"Referenced an unknown dataset":{"value":{"error":"UnknownDatasetName","message":"Unknown dataset name"}}}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/loadingInfo":{"get":{"tags":["Datasets"],"summary":"Retrieves the loading information of a dataset","operationId":"get_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Datasets"],"summary":"Updates the dataset's loading info","operationId":"update_loading_info_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/provenance":{"put":{"tags":["Datasets"],"operationId":"update_dataset_provenance_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Provenances"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/symbology":{"put":{"tags":["Datasets"],"summary":"Updates the dataset's symbology","operationId":"update_dataset_symbology_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Symbology"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/dataset/{dataset}/tiles":{"post":{"tags":["Datasets"],"summary":"Add a tile to a gdal dataset.","operationId":"add_dataset_tiles_handler","parameters":[{"name":"dataset","in":"path","description":"Dataset Name","required":true,"schema":{"$ref":"#/components/schemas/DatasetName"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCreateDataset"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]}},"/datasetFromWorkflow/{id}":{"post":{"tags":["Workflows"],"summary":"Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task","operationId":"dataset_from_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RasterDatasetFromWorkflow"}}},"required":true},"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/datasets":{"get":{"tags":["Datasets"],"summary":"Lists available datasets.","operationId":"list_datasets_handler","parameters":[{"name":"filter","in":"query","required":false,"schema":{"type":"string"},"example":"Germany"},{"name":"order","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"['tag1', 'tag2']"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DatasetListing"}},"example":[{"id":{"internal":"9c874b9e-cea0-4553-b727-a13cb26ae4bb"},"name":"Germany","description":"Boundaries of Germany","tags":[],"sourceOperator":"OgrSource","resultDescriptor":{"vector":{"dataType":"MultiPolygon","spatialReference":"EPSG:4326","columns":{}}}}]}}},"400":{"$ref":"#/components/responses/BadRequestQueryResponse"},"401":{"$ref":"#/components/responses/UnauthorizedUserResponse"}},"security":[{"session_token":[]}]}},"/info":{"get":{"tags":["General"],"summary":"Shows information about the server software version.","operationId":"server_info_handler","responses":{"200":{"description":"Server software information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInfo"},"example":{"buildDate":"2022-09-29","commitHash":"555dc6d84d3682c37490a145d53c5097d0b81b27","version":"0.7.0","features":"default"}}}}}}},"/layerDb/collections/{collection}":{"put":{"tags":["Layers"],"summary":"Update a collection","operationId":"update_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayerCollection"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/collections":{"post":{"tags":["Layers"],"summary":"Add a new collection to an existing collection","operationId":"add_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayerCollection"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers":{"post":{"tags":["Layers"],"summary":"Add a new layer to a collection","operationId":"add_layer","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddLayer"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{collection}/layers/{layer}":{"post":{"tags":["Layers"],"summary":"Add an existing layer to a collection","operationId":"add_existing_layer_to_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a layer from a collection","operationId":"remove_layer_from_collection","parameters":[{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/collections/{parent}/collections/{collection}":{"post":{"tags":["Layers"],"summary":"Add an existing collection to a collection","operationId":"add_existing_collection_to_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete a collection from a collection","operationId":"remove_collection_from_collection","parameters":[{"name":"parent","in":"path","description":"Parent layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/layers/{layer}":{"put":{"tags":["Layers"],"summary":"Update a layer","operationId":"update_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLayer"}}},"required":true},"responses":{"200":{"description":""}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Remove a collection","operationId":"remove_layer","parameters":[{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layerDb/providers":{"get":{"tags":["Layers"],"summary":"List all providers","operationId":"list_providers","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LayerProviderListing"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["Layers"],"summary":"Add a new provider","operationId":"add_provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/layerDb/providers/{provider}":{"get":{"tags":["Layers"],"summary":"Get an existing provider's definition","operationId":"get_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}}}},"security":[{"session_token":[]}]},"put":{"tags":["Layers"],"summary":"Update an existing provider's definition","operationId":"update_provider_definition","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedDataProviderDefinition"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Layers"],"summary":"Delete an existing provider","operationId":"delete_provider","parameters":[{"name":"provider","in":"path","description":"Layer provider id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/layers/collections":{"get":{"tags":["Layers"],"summary":"List all layer collections","operationId":"list_root_collections_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"1c3b8042-300b-485c-95b5-0147d9dc068d","collectionId":"f2424474-ef24-4c18-ab84-68592e12ce48"},"name":"Layer Providers","description":"All available Geo Engine layer providers","items":[{"type":"collection","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets"},{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/autocomplete/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Autocompletes the search on the contents of the collection of the given provider","operationId":"autocomplete_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}},"example":["An empty collection","Ports in Germany"]}}}},"security":[{"session_token":[]}]}},"/layers/collections/search/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"Searches the contents of the collection of the given provider","operationId":"search_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"},"example":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74"},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"},"example":"05102bb3-a855-4a37-8a8a-30026a91fef1"},{"name":"searchType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchType"},"example":"fulltext"},{"name":"searchString","in":"query","required":true,"schema":{"type":"string"},"example":"test"},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"20"},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":"0"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"05102bb3-a855-4a37-8a8a-30026a91fef1"},"name":"Layers","description":"All available Geo Engine layers","items":[{"type":"collection","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","collectionId":"a29f77cc-51ce-466b-86ef-d0ab2170bc0a"},"name":"An empty collection","description":"There is nothing here","properties":[]},{"type":"layer","id":{"providerId":"ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74","layerId":"b75db46e-2b9a-4a86-b33f-bc06a73cd711"},"name":"Ports in Germany","description":"Natural Earth Ports point filtered with Germany polygon","properties":[]}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/collections/{provider}/{collection}":{"get":{"tags":["Layers"],"summary":"List the contents of the collection of the given provider","operationId":"list_collection_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"collection","in":"path","description":"Layer collection id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LayerCollection"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","collectionId":"546073b6-d535-4205-b601-99675c9f6dd7"},"name":"Datasets","description":"Basic Layers for all Datasets","items":[{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover"},{"type":"layer","id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"36574dc3-560a-4b09-9d22-d5945f2b8093"},"name":"NDVI","description":"NDVI data from MODIS"}],"entryLabel":null,"properties":[]}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/capabilities":{"get":{"tags":["Layers"],"operationId":"provider_capabilities_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"listing":true,"search":{"search_types":{"fulltext":true,"prefix":true},"autocomplete":true,"filters":[]}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}":{"get":{"tags":["Layers"],"summary":"Retrieves the layer of the given provider","operationId":"layer_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Layer"},"example":{"id":{"providerId":"ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b","layerId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"},"name":"Land Cover","description":"Land Cover derived from MODIS/Terra+Aqua Land Cover","workflow":{"type":"Raster","operator":{"type":"GdalSource","params":{"data":{"type":"internal","datasetId":"9ee3619e-d0f9-4ced-9c44-3d407c3aed69"}}}},"symbology":{"type":"raster","opacity":1,"colorizer":{"type":"palette","colors":{"0":[134,201,227,255],"1":[30,129,62,255],"2":[59,194,212,255],"3":[157,194,63,255],"4":[159,225,127,255],"5":[125,194,127,255],"6":[195,127,126,255],"7":[188,221,190,255],"8":[224,223,133,255],"9":[226,221,7,255],"10":[223,192,125,255],"11":[66,128,189,255],"12":[225,222,127,255],"13":[253,2,0,255],"14":[162,159,66,255],"15":[255,255,255,255],"16":[192,192,192,255]},"noDataColor":[0,0,0,0],"defaultColor":[0,0,0,0]}},"properties":[],"metadata":{}}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/dataset":{"post":{"tags":["Layers"],"summary":"Persist a raster layer from a provider as a dataset.","operationId":"layer_to_dataset","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerId"}}],"responses":{"200":{"description":"Id of created task","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"},"example":{"taskId":"7f8a4cfe-76ab-4972-b347-b197e5ef0f3c"}}}}},"security":[{"session_token":[]}]}},"/layers/{provider}/{layer}/workflowId":{"post":{"tags":["Layers"],"summary":"Registers a layer from a provider as a workflow and returns the workflow id","operationId":"layer_to_workflow_id_handler","parameters":[{"name":"provider","in":"path","description":"Data provider id","required":true,"schema":{"$ref":"#/components/schemas/DataProviderId"}},{"name":"layer","in":"path","description":"Layer id","required":true,"schema":{"$ref":"#/components/schemas/LayerCollectionId"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/login":{"post":{"tags":["Session"],"summary":"Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.","operationId":"login_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCredentials"}}},"required":true},"responses":{"200":{"description":"The created session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}}}},"/logout":{"post":{"tags":["Session"],"summary":"Ends a session.","operationId":"logout_handler","responses":{"200":{"description":"The Session was deleted."}},"security":[{"session_token":[]}]}},"/ml/models":{"get":{"tags":["ML"],"summary":"List ml models.","operationId":"list_ml_models","responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MlModel"}}}}}},"security":[{"session_token":[]}]},"post":{"tags":["ML"],"summary":"Create a new ml model.","operationId":"add_ml_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModelNameResponse"}}}}},"security":[{"session_token":[]}]}},"/ml/models/{model_name}":{"get":{"tags":["ML"],"summary":"Get ml model by name.","operationId":"get_ml_model","parameters":[{"name":"model_name","in":"path","description":"Ml Model Name","required":true,"schema":{"$ref":"#/components/schemas/MlModelName"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MlModel"}}}}},"security":[{"session_token":[]}]}},"/oidcInit":{"post":{"tags":["Session"],"summary":"Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.","description":"# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n","operationId":"oidc_init","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeRequestURL"},"example":{"url":"http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256"}}}}}}},"/oidcLogin":{"post":{"tags":["Session"],"summary":"Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.","description":"# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n","operationId":"oidc_login","parameters":[{"name":"redirectUri","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthCodeResponse"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@bar.de","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null}}}}}}},"/permissions":{"put":{"tags":["Permissions"],"summary":"Adds a new permission.","operationId":"add_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"delete":{"tags":["Permissions"],"summary":"Removes an existing permission.","operationId":"remove_permission_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionRequest"},"example":{"resource":{"type":"layer","id":"00000000-0000-0000-0000-000000000000"},"roleId":"00000000-0000-0000-0000-000000000000","permission":"Read"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/permissions/resources/{resource_type}/{resource_id}":{"get":{"tags":["Permissions"],"summary":"Lists permission for a given resource.","operationId":"get_resource_permissions_handler","parameters":[{"name":"resource_type","in":"path","description":"Resource Type","required":true,"schema":{"type":"string"}},{"name":"resource_id","in":"path","description":"Resource Id","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":0}}],"responses":{"200":{"description":"List of permission","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionListing"}}}}}},"security":[{"session_token":[]}]}},"/plot/{id}":{"get":{"tags":["Plots"],"summary":"Generates a plot.","description":"# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.","operationId":"get_plot_handler","parameters":[{"name":"bbox","in":"query","required":true,"schema":{"type":"string"},"example":"0,-0.3,0.2,0"},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":true,"schema":{"type":"string"},"example":"2020-01-01T00:00:00.0Z"},{"name":"spatialResolution","in":"query","required":true,"schema":{"type":"string"},"example":"0.1,0.1"},{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WrappedPlotOutput"},"example":{"outputFormat":"JsonPlain","plotType":"Statistics","data":{"a":{"max":2.0,"mean":1.5,"min":1.0,"stddev":0.5,"validCount":2,"valueCount":2}}}}}}},"security":[{"session_token":[]}]}},"/project":{"post":{"tags":["Projects"],"summary":"Create a new project for the user.","operationId":"create_project_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProject"}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/project/{project}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the latest version of a project.","operationId":"load_project_latest_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]},"delete":{"tags":["Projects"],"summary":"Deletes a project.","operationId":"delete_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]},"patch":{"tags":["Projects"],"summary":"Updates a project.\nThis will create a new version.","operationId":"update_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProject"}}},"required":true},"responses":{"200":{"description":"OK"}},"security":[{"session_token":[]}]}},"/project/{project}/versions":{"get":{"tags":["Projects"],"summary":"Lists all available versions of a project.","operationId":"project_versions_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectVersion"}},"example":[{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},{"id":"ced041c7-4b1d-4d13-b076-94596be6a36a","changed":"2021-04-26T14:13:10.901912700Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"}]}}}},"security":[{"session_token":[]}]}},"/project/{project}/{version}":{"get":{"tags":["Projects"],"summary":"Retrieves details about the given version of a project.","operationId":"load_project_version_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}},{"name":"version","in":"path","description":"Version id","required":true,"schema":{"$ref":"#/components/schemas/ProjectVersionId"}}],"responses":{"200":{"description":"Project loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","version":{"id":"8f4b8683-f92c-4129-a16f-818aeeee484e","changed":"2021-04-26T14:05:39.677390600Z","author":"5b4466d2-8bab-4ed8-a182-722af3c80958"},"name":"Test","description":"Foo","layers":[],"plots":[],"bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0.0,"y":0.0},"upperRightCoordinate":{"x":1.0,"y":1.0}},"timeInterval":{"start":0,"end":1}},"timeStep":{"granularity":"months","step":1}}}}}},"security":[{"session_token":[]}]}},"/projects":{"get":{"tags":["Projects"],"summary":"List all projects accessible to the user that match the selected criteria.","operationId":"list_projects_handler","parameters":[{"name":"order","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OrderBy"},"example":"NameAsc"},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":2}],"responses":{"200":{"description":"List of projects the user can access","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListing"}},"example":[{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"Test","description":"Foo","layerNames":[],"plotNames":[],"changed":"2021-04-26T14:03:51.984537900Z"}]}}}},"security":[{"session_token":[]}]}},"/quota":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of the current user.","operationId":"quota_handler","responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]}},"/quota/computations":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computations","operationId":"computations_quota_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"The quota used by computations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ComputationQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/computations/{computation}":{"get":{"tags":["User"],"summary":"Retrieves the quota used by computation with the given computation id","operationId":"computation_quota_handler","parameters":[{"name":"computation","in":"path","description":"Computation id","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"The quota used by computation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorQuota"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage":{"get":{"tags":["User"],"summary":"Retrieves the data usage","operationId":"data_usage_handler","parameters":[{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsage"}}}}}},"security":[{"session_token":[]}]}},"/quota/dataUsage/summary":{"get":{"tags":["User"],"summary":"Retrieves the data usage summary","operationId":"data_usage_summary_handler","parameters":[{"name":"granularity","in":"query","required":true,"schema":{"$ref":"#/components/schemas/UsageSummaryGranularity"}},{"name":"offset","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"dataset","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"The quota used on data","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DataUsageSummary"}}}}}},"security":[{"session_token":[]}]}},"/quotas/{user}":{"get":{"tags":["User"],"summary":"Retrieves the available and used quota of a specific user.","operationId":"get_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"responses":{"200":{"description":"The available and used quota of the user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quota"},"example":{"available":4321,"used":1234}}}}},"security":[{"session_token":[]}]},"post":{"tags":["User"],"summary":"Update the available quota of a specific user.","operationId":"update_user_quota_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQuota"}}},"required":true},"responses":{"200":{"description":"Quota was updated"}},"security":[{"session_token":[]}]}},"/roles":{"put":{"tags":["User"],"summary":"Add a new role. Requires admin privilige.","operationId":"add_role_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRole"}}},"required":true},"responses":{"200":{"description":"Role was added","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}},"security":[{"session_token":[]}]}},"/roles/byName/{name}":{"get":{"tags":["User"],"summary":"Get role by name","operationId":"get_role_by_name_handler","parameters":[{"name":"name","in":"path","description":"Role Name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/roles/{role}":{"delete":{"tags":["User"],"summary":"Remove a role. Requires admin privilige.","operationId":"remove_role_handler","parameters":[{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was removed"}},"security":[{"session_token":[]}]}},"/session":{"get":{"tags":["Session"],"summary":"Retrieves details about the current session.","operationId":"session_handler","responses":{"200":{"description":"The current session","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSession"},"example":{"id":"208fa24e-7a92-4f57-a3fe-d1177d9f18ad","user":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","email":"foo@example.com","realName":"Foo Bar"},"created":"2021-04-26T13:47:10.579724800Z","validUntil":"2021-04-26T14:47:10.579775400Z","project":null,"view":null,"roles":["fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","4e8081b6-8aa6-4275-af0c-2fa2da557d28"]}}}}},"security":[{"session_token":[]}]}},"/session/project/{project}":{"post":{"tags":["Session"],"summary":"Sets the active project of the session.","operationId":"session_project_handler","parameters":[{"name":"project","in":"path","description":"Project id","required":true,"schema":{"$ref":"#/components/schemas/ProjectId"}}],"responses":{"200":{"description":"The project of the session was updated."}},"security":[{"session_token":[]}]}},"/session/view":{"post":{"tags":["Session"],"operationId":"session_view_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/STRectangle"}}},"required":true},"responses":{"200":{"description":"The view of the session was updated."}},"security":[{"session_token":[]}]}},"/spatialReferenceSpecification/{srsString}":{"get":{"tags":["Spatial References"],"operationId":"get_spatial_reference_specification_handler","parameters":[{"name":"srsString","in":"path","required":true,"schema":{"type":"string"},"example":"EPSG:4326"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpatialReferenceSpecification"},"example":{"name":"WGS 84","spatialReference":"EPSG:4326","projString":"+proj=longlat +datum=WGS84 +no_defs +type=crs","extent":{"lowerLeftCoordinate":{"x":-180.0,"y":-90.0},"upperRightCoordinate":{"x":180.0,"y":90.0}},"axisLabels":["Geodetic longitude","Geodetic latitude"],"axisOrder":"northEast"}}}}},"security":[{"session_token":[]}]}},"/tasks/list":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of all tasks.","operationId":"list_handler","parameters":[{"name":"filter","in":"path","required":true,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]}},{"name":"offset","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":0},{"name":"limit","in":"path","required":true,"schema":{"type":"integer","format":"int32","minimum":0},"example":20}],"responses":{"200":{"description":"Status of all tasks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TaskStatusWithId"}},"example":[{"taskId":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","status":"completed","taskType":"dummy-task","description":"Demo","info":null,"timeTotal":"00:00:30","timeStarted":"2023-02-16T15:25:45.390Z"}]}}}},"security":[{"session_token":[]}]}},"/tasks/{id}":{"delete":{"tags":["Tasks"],"summary":"Abort a running task.","description":"# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.","operationId":"abort_handler","parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"202":{"description":"Task will be aborted."}},"security":[{"session_token":[]}]}},"/tasks/{id}/status":{"get":{"tags":["Tasks"],"summary":"Retrieve the status of a task.","operationId":"status_handler","parameters":[{"name":"id","in":"path","description":"Task id","required":true,"schema":{"$ref":"#/components/schemas/TaskId"}}],"responses":{"200":{"description":"Status of the task (running)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskStatus"},"example":{"status":"running","taskType":"dummy-task","description":"Demo","pctComplete":"0.00%","timeStarted":"2023-02-16T15:25:45.390Z","estimatedTimeRemaining":"? (± ?)","info":null}}}}},"security":[{"session_token":[]}]}},"/upload":{"post":{"tags":["Uploads"],"summary":"Uploads files.","operationId":"upload_handler","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["files[]"],"properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files":{"get":{"tags":["Uploads"],"summary":"List the files of on upload.","operationId":"list_upload_files_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFilesResponse"},"example":{"files":["file1","file2"]}}}}},"security":[{"session_token":[]}]}},"/uploads/{upload_id}/files/{file_name}/layers":{"get":{"tags":["Uploads"],"summary":"List the layers of on uploaded file.","operationId":"list_upload_file_layers_handler","parameters":[{"name":"upload_id","in":"path","description":"Upload id","required":true,"schema":{"$ref":"#/components/schemas/UploadId"}},{"name":"file_name","in":"path","description":"File name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFileLayersResponse"},"example":{"layers":["layer1","layer2"]}}}}},"security":[{"session_token":[]}]}},"/user":{"post":{"tags":["Session"],"summary":"Registers a user.","operationId":"register_user_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRegistration"}}},"required":true},"responses":{"200":{"description":"The id of the created user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserId"},"example":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958"}}}}}}},"/user/roles/descriptions":{"get":{"tags":["User"],"summary":"Query roles for the current user.","operationId":"get_role_descriptions","responses":{"200":{"description":"The description for roles of the current user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDescription"}},"example":[{"role":{"id":"5b4466d2-8bab-4ed8-a182-722af3c80958","name":"foo@example.com"},"individual":true},{"role":{"id":"fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783","name":"Example role"},"individual":false}]}}}},"security":[{"session_token":[]}]}},"/users/{user}/roles/{role}":{"post":{"tags":["User"],"summary":"Assign a role to a user. Requires admin privilige.","operationId":"assign_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was assigned"}},"security":[{"session_token":[]}]},"delete":{"tags":["User"],"summary":"Revoke a role from a user. Requires admin privilige.","operationId":"revoke_role_handler","parameters":[{"name":"user","in":"path","description":"User id","required":true,"schema":{"$ref":"#/components/schemas/UserId"}},{"name":"role","in":"path","description":"Role id","required":true,"schema":{"$ref":"#/components/schemas/RoleId"}}],"responses":{"200":{"description":"Role was revoked"}},"security":[{"session_token":[]}]}},"/wcs/{workflow}":{"get":{"tags":["OGC WCS"],"summary":"OGC WCS endpoint","operationId":"wcs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"boundingbox","in":"query","required":false,"schema":{"type":"string"},"example":"-90,-180,90,180,urn:ogc:def:crs:EPSG::4326"},{"name":"format","in":"query","required":false,"schema":{"$ref":"#/components/schemas/GetCoverageFormat"}},{"name":"gridbasecrs","in":"query","required":false,"schema":{"type":"string"},"example":"urn:ogc:def:crs:EPSG::4326"},{"name":"gridoffsets","in":"query","required":false,"schema":{"type":"string"},"example":"-0.1,0.1"},{"name":"gridorigin","in":"query","required":false,"schema":{"type":"string"},"example":"90,-180"},{"name":"identifier","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"identifiers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"nodatavalue","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilGetCapabilitiesities","DescribeCoverage","GetCoverage"]}},{"name":"resx","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"resy","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WcsService"}},{"name":"time","in":"query","required":false,"schema":{"type":"string"}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WcsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/wfs/{workflow}":{"get":{"tags":["OGC WFS"],"summary":"OGC WFS endpoint","operationId":"wfs_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"count","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"filter","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"namespaces","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"propertyName","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"request","in":"query","description":"type of WFS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetFeature"]}},{"name":"resultType","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WfsService"}},{"name":"sortBy","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"srsName","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"typeNames","in":"query","required":false,"schema":{"$ref":"#/components/schemas/TypeNames"},"example":""},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WfsVersion"}]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoJson"},"example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[0.0,0.1]},"properties":{"foo":0},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[1.0,1.1]},"properties":{"foo":null},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[2.0,3.1]},"properties":{"foo":2},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[3.0,3.1]},"properties":{"foo":3},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}},{"type":"Feature","geometry":{"type":"Point","coordinates":[4.0,4.1]},"properties":{"foo":4},"when":{"start":"1970-01-01T00:00:00+00:00","end":"1970-01-01T00:00:00.001+00:00","type":"Interval"}}]}}}}},"security":[{"session_token":[]}]}},"/wms/{workflow}":{"get":{"tags":["OGC WMS"],"summary":"OGC WMS endpoint","operationId":"wms_handler","parameters":[{"name":"workflow","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"bbox","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OgcBoundingBox"},"example":"-90,-180,90,180"},{"name":"bgcolor","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"crs","in":"query","required":false,"schema":{"type":["string","null"]},"example":"EPSG:4326"},{"name":"elevation","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"exceptions","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetMapExceptionFormat"}]}},{"name":"format","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GetCapabilitiesFormat"}]}},{"name":"height","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":256},{"name":"info_format","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"layer","in":"query","required":false,"schema":{"type":"string"}},{"name":"layers","in":"query","required":false,"schema":{"type":"string"},"example":""},{"name":"query_layers","in":"query","required":false,"schema":{"type":"string"}},{"name":"request","in":"query","description":"type of WMS request","required":true,"schema":{"type":"string","enum":["GetCapabilities","GetMap","GetFeatureInfo","GetStyles","GetLegendGraphic"]}},{"name":"service","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WmsService"}},{"name":"sld","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"sld_body","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"styles","in":"query","required":false,"schema":{"type":"string"},"example":"custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}"},{"name":"time","in":"query","required":false,"schema":{"type":"string"},"example":"2014-04-01T12:00:00.000Z"},{"name":"transparent","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"version","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/WmsVersion"}]}},{"name":"width","in":"query","required":false,"schema":{"type":"integer","format":"int32","minimum":0},"example":512}],"responses":{"200":{"description":"OK","content":{"text/xml":{"schema":{"type":"string"}}}}},"security":[{"session_token":[]}]}},"/workflow":{"post":{"tags":["Workflows"],"summary":"Registers a new Workflow.","operationId":"register_workflow_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"examples":{"MockPointSource":{"value":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}},"Statistics Plot":{"value":{"type":"Plot","operator":{"type":"Statistics","params":{},"sources":{"source":{"type":"OgrSource","params":{"data":"ne_10m_ports","attributeProjection":null,"attributeFilters":null}}}}}}}}},"required":true},"responses":{"200":{"$ref":"#/components/responses/IdResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}":{"get":{"tags":["Workflows"],"summary":"Retrieves an existing Workflow.","operationId":"load_workflow_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Workflow loaded from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"},"example":{"type":"Vector","operator":{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/allMetadata/zip":{"get":{"tags":["Workflows"],"summary":"Gets a ZIP archive of the worklow, its provenance and the output metadata.","operationId":"get_workflow_all_metadata_zip_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"$ref":"#/components/responses/ZipResponse"}},"security":[{"session_token":[]}]}},"/workflow/{id}/metadata":{"get":{"tags":["Workflows"],"summary":"Gets the metadata of a workflow","operationId":"get_workflow_metadata_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Metadata of loaded workflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TypedResultDescriptor"},"example":{"type":"vector","dataType":"MultiPoint","spatialReference":"EPSG:4326","columns":{}}}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/provenance":{"get":{"tags":["Workflows"],"summary":"Gets the provenance of all datasets used in a workflow.","operationId":"get_workflow_provenance_handler","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}}],"responses":{"200":{"description":"Provenance of used datasets","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProvenanceEntry"}},"example":[{"dataset":{"type":"internal","datasetId":"846a823a-6859-4b94-ab0a-c1de80f593d8"},"provenance":{"citation":"Author, Dataset Tile","license":"Some license","uri":"http://example.org/"}},{"dataset":{"type":"internal","datasetId":"453cd398-f271-437b-9c3d-7f42213ea30a"},"provenance":{"citation":"Another Author, Another Dataset Tile","license":"Some other license","uri":"http://example.org/"}}]}}}},"security":[{"session_token":[]}]}},"/workflow/{id}/rasterStream":{"get":{"tags":["Workflows"],"summary":"Query a workflow raster result as a stream of tiles via a websocket connection.","operationId":"raster_stream_websocket","parameters":[{"name":"id","in":"path","description":"Workflow id","required":true,"schema":{"$ref":"#/components/schemas/WorkflowId"}},{"name":"spatialBounds","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SpatialPartition2D"}},{"name":"timeInterval","in":"query","required":true,"schema":{"type":"string"}},{"name":"attributes","in":"query","required":true,"schema":{"type":"string"}},{"name":"resultType","in":"query","required":true,"schema":{"$ref":"#/components/schemas/RasterStreamWebsocketResultType"}}],"responses":{"101":{"description":"Upgrade to websocket connection"}},"security":[{"session_token":[]}]}}},"components":{"schemas":{"AddDataset":{"type":"object","required":["displayName","description","sourceOperator"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"AddDatasetTile":{"type":"object","required":["time","spatial_partition","band","z_index","params"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"spatial_partition":{"$ref":"#/components/schemas/SpatialPartition2D"},"time":{"$ref":"#/components/schemas/TimeInterval"},"z_index":{"type":"integer","format":"int32","minimum":0}}},"AddLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"AddLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"AddRole":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"ArunaDataProviderDefinition":{"type":"object","required":["type","id","name","description","apiUrl","projectId","apiToken","filterLabel"],"properties":{"apiToken":{"type":"string"},"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"filterLabel":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"projectId":{"type":"string"},"type":{"type":"string","enum":["Aruna"]}}},"AuthCodeRequestURL":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}},"AuthCodeResponse":{"type":"object","required":["sessionState","code","state"],"properties":{"code":{"type":"string"},"sessionState":{"type":"string"},"state":{"type":"string"}}},"AutoCreateDataset":{"type":"object","required":["upload","datasetName","datasetDescription","mainFile"],"properties":{"datasetDescription":{"type":"string"},"datasetName":{"type":"string"},"layerName":{"type":["string","null"]},"mainFile":{"type":"string"},"tags":{"type":["array","null"],"items":{"type":"string"}},"upload":{"$ref":"#/components/schemas/UploadId"}},"example":{"upload":"420b06de-0a7e-45cb-9c1c-ea901b46ab69","datasetName":"Germany Border (auto)","datasetDescription":"The Outline of Germany (auto detected format)","mainFile":"germany_polygon.gpkg","tags":["area"]}},"AxisOrder":{"type":"string","enum":["northEast","eastNorth"]},"BandSelection":{"type":"array","items":{"type":"integer","minimum":0}},"BoundingBox2D":{"type":"object","description":"A bounding box that includes all border points.\nNote: may degenerate to a point!","required":["lowerLeftCoordinate","upperRightCoordinate"],"properties":{"lowerLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"Breakpoint":{"type":"object","required":["value","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"value":{"type":"number"}}},"CacheTtlSeconds":{"type":"integer","format":"int32","minimum":0},"ClassificationMeasurement":{"type":"object","required":["type","measurement","classes"],"properties":{"classes":{"type":"object","additionalProperties":{"type":"string"},"propertyNames":{"type":"integer","format":"int32","minimum":0}},"measurement":{"type":"string"},"type":{"type":"string","enum":["classification"]}}},"CollectionItem":{"oneOf":[{"$ref":"#/components/schemas/LayerCollectionListing"},{"$ref":"#/components/schemas/LayerListing"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/LayerCollectionListing","layer":"#/components/schemas/LayerListing"}}},"CollectionType":{"type":"string","enum":["FeatureCollection"]},"ColorParam":{"oneOf":[{"$ref":"#/components/schemas/StaticColor"},{"$ref":"#/components/schemas/DerivedColor"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedColor","static":"#/components/schemas/StaticColor"}}},"Colorizer":{"oneOf":[{"$ref":"#/components/schemas/LinearGradient"},{"$ref":"#/components/schemas/LogarithmicGradient"},{"$ref":"#/components/schemas/PaletteColorizer"}],"description":"A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.","discriminator":{"propertyName":"type","mapping":{"linearGradient":"#/components/schemas/LinearGradient","logarithmicGradient":"#/components/schemas/LogarithmicGradient","palette":"#/components/schemas/PaletteColorizer"}}},"ComputationQuota":{"type":"object","required":["timestamp","computationId","workflowId","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"timestamp":{"type":"string","format":"date-time"},"workflowId":{"type":"string","format":"uuid"}}},"ContinuousMeasurement":{"type":"object","required":["type","measurement"],"properties":{"measurement":{"type":"string"},"type":{"type":"string","enum":["continuous"]},"unit":{"type":["string","null"]}}},"Coordinate2D":{"type":"object","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"CopernicusDataspaceDataProviderDefinition":{"type":"object","required":["type","name","description","id","stacUrl","s3Url","s3AccessKey","s3SecretKey","gdalConfig"],"properties":{"description":{"type":"string"},"gdalConfig":{"type":"array","items":{"$ref":"#/components/schemas/StringPair"}},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"s3AccessKey":{"type":"string"},"s3SecretKey":{"type":"string"},"s3Url":{"type":"string"},"stacUrl":{"type":"string"},"type":{"type":"string","enum":["CopernicusDataspace"]}}},"CreateDataset":{"type":"object","required":["dataPath","definition"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"definition":{"$ref":"#/components/schemas/DatasetDefinition"}}},"CreateProject":{"type":"object","required":["name","description","bounds"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"name":{"type":"string"},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"name":"Test","description":"Foo","bounds":{"spatialReference":"EPSG:4326","boundingBox":{"lowerLeftCoordinate":{"x":0,"y":0},"upperRightCoordinate":{"x":1,"y":1}},"timeInterval":{"start":0,"end":1}},"timeStep":{"step":1,"granularity":"months"}}},"CsvHeader":{"type":"string","enum":["yes","no","auto"]},"DataId":{"oneOf":[{"$ref":"#/components/schemas/InternalDataId"},{"$ref":"#/components/schemas/ExternalDataId"}],"description":"The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.","discriminator":{"propertyName":"type","mapping":{"external":"#/components/schemas/ExternalDataId","internal":"#/components/schemas/InternalDataId"}}},"DataPath":{"oneOf":[{"type":"object","required":["volume"],"properties":{"volume":{"$ref":"#/components/schemas/VolumeName"}}},{"type":"object","required":["upload"],"properties":{"upload":{"$ref":"#/components/schemas/UploadId"}}}]},"DataProviderId":{"type":"string","format":"uuid"},"DataProviderResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["provider"]}}},"DataUsage":{"type":"object","required":["timestamp","userId","computationId","data","count"],"properties":{"computationId":{"type":"string","format":"uuid"},"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"}}},"DataUsageSummary":{"type":"object","required":["timestamp","data","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"data":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"DatabaseConnectionConfig":{"type":"object","required":["host","port","database","schema","user","password"],"properties":{"database":{"type":"string"},"host":{"type":"string"},"password":{"type":"string"},"port":{"type":"integer","format":"int32","minimum":0},"schema":{"type":"string"},"user":{"type":"string"}}},"Dataset":{"type":"object","required":["id","name","displayName","description","resultDescriptor","sourceOperator"],"properties":{"dataPath":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DataPath"}]},"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":["array","null"],"items":{"type":"string"}}}},"DatasetDefinition":{"type":"object","required":["properties","metaData"],"properties":{"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"},"properties":{"$ref":"#/components/schemas/AddDataset"}}},"DatasetId":{"type":"string","format":"uuid"},"DatasetLayerListingCollection":{"type":"object","required":["name","description","tags"],"properties":{"description":{"type":"string"},"name":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetLayerListingProviderDefinition":{"type":"object","required":["type","id","name","description","collections"],"properties":{"collections":{"type":"array","items":{"$ref":"#/components/schemas/DatasetLayerListingCollection"}},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["DatasetLayerListing"]}}},"DatasetListing":{"type":"object","required":["id","name","displayName","description","tags","sourceOperator","resultDescriptor"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"id":{"$ref":"#/components/schemas/DatasetId"},"name":{"$ref":"#/components/schemas/DatasetName"},"resultDescriptor":{"$ref":"#/components/schemas/TypedResultDescriptor"},"sourceOperator":{"type":"string"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"tags":{"type":"array","items":{"type":"string"}}}},"DatasetName":{"type":"string","examples":["ns:name"]},"DatasetNameResponse":{"type":"object","title":"Dataset Name Response","required":["datasetName"],"properties":{"datasetName":{"$ref":"#/components/schemas/DatasetName"}}},"DatasetResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/DatasetName"},"type":{"type":"string","enum":["dataset"]}}},"DateTimeParseFormat":{"type":"string"},"DateTimeString":{"type":"string"},"DerivedColor":{"type":"object","required":["type","attribute","colorizer"],"properties":{"attribute":{"type":"string"},"colorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["derived"]}}},"DerivedNumber":{"type":"object","required":["type","attribute","factor","defaultValue"],"properties":{"attribute":{"type":"string"},"defaultValue":{"type":"number","format":"double"},"factor":{"type":"number","format":"double"},"type":{"type":"string","enum":["derived"]}}},"EbvPortalDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","data","overviews"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["EbvPortal"]}}},"EdrDataProviderDefinition":{"type":"object","required":["type","name","description","id","baseUrl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"discreteVrs":{"type":"array","items":{"type":"string"},"description":"List of vertical reference systems with a discrete scale"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}},"type":{"type":"string","enum":["Edr"]},"vectorSpec":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/EdrVectorSpec"}]}}},"EdrVectorSpec":{"type":"object","required":["x","time"],"properties":{"time":{"type":"string"},"x":{"type":"string"},"y":{"type":["string","null"]}}},"ErrorResponse":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string"},"message":{"type":"string"}}},"ExternalDataId":{"type":"object","required":["type","providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"},"type":{"type":"string","enum":["external"]}}},"FeatureDataType":{"type":"string","enum":["category","int","float","text","bool","dateTime"]},"FileNotFoundHandling":{"type":"string","enum":["NoData","Error"]},"FormatSpecifics":{"oneOf":[{"type":"object","required":["csv"],"properties":{"csv":{"type":"object","required":["header"],"properties":{"header":{"$ref":"#/components/schemas/CsvHeader"}}}}}]},"GbifDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig","autocompleteTimeout","columns"],"properties":{"autocompleteTimeout":{"type":"integer","format":"int32"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"type":"array","items":{"type":"string"}},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Gbif"]}}},"GdalDatasetGeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GdalDatasetParameters":{"type":"object","description":"Parameters for loading data using Gdal","required":["filePath","rasterbandChannel","geoTransform","width","height","fileNotFoundHandling"],"properties":{"allowAlphabandAsMask":{"type":"boolean"},"fileNotFoundHandling":{"$ref":"#/components/schemas/FileNotFoundHandling"},"filePath":{"type":"string"},"gdalConfigOptions":{"type":["array","null"],"items":{"$ref":"#/components/schemas/StringPair"}},"gdalOpenOptions":{"type":["array","null"],"items":{"type":"string"}},"geoTransform":{"$ref":"#/components/schemas/GdalDatasetGeoTransform"},"height":{"type":"integer","minimum":0},"noDataValue":{"type":["number","null"],"format":"double"},"propertiesMapping":{"type":["array","null"],"items":{"$ref":"#/components/schemas/GdalMetadataMapping"}},"rasterbandChannel":{"type":"integer","minimum":0},"width":{"type":"integer","minimum":0}}},"GdalLoadingInfoTemporalSlice":{"type":"object","description":"one temporal slice of the dataset that requires reading from exactly one Gdal dataset","required":["time"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GdalDatasetParameters"}]},"time":{"$ref":"#/components/schemas/TimeInterval"}}},"GdalMetaDataList":{"type":"object","required":["type","resultDescriptor","params"],"properties":{"params":{"type":"array","items":{"$ref":"#/components/schemas/GdalLoadingInfoTemporalSlice"}},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMetaDataList"]}}},"GdalMetaDataRegular":{"type":"object","required":["type","resultDescriptor","params","timePlaceholders","dataTime","step"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dataTime":{"$ref":"#/components/schemas/TimeInterval"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"step":{"$ref":"#/components/schemas/TimeStep"},"timePlaceholders":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/GdalSourceTimePlaceholder"},"propertyNames":{"type":"string"}},"type":{"type":"string","enum":["GdalMetaDataRegular"]}}},"GdalMetaDataStatic":{"type":"object","required":["type","params","resultDescriptor"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"type":{"type":"string","enum":["GdalStatic"]}}},"GdalMetadataMapping":{"type":"object","required":["source_key","target_key","target_type"],"properties":{"source_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_key":{"$ref":"#/components/schemas/RasterPropertiesKey"},"target_type":{"$ref":"#/components/schemas/RasterPropertiesEntryType"}}},"GdalMetadataNetCdfCf":{"type":"object","description":"Meta data for 4D `NetCDF` CF datasets","required":["type","resultDescriptor","params","start","end","step","bandOffset"],"properties":{"bandOffset":{"type":"integer","description":"A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.","minimum":0},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"end":{"$ref":"#/components/schemas/TimeInstance","description":"We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future."},"params":{"$ref":"#/components/schemas/GdalDatasetParameters"},"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"start":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"},"type":{"type":"string","enum":["GdalMetaDataNetCdfCf"]}}},"GdalMultiBand":{"type":"object","required":["type","resultDescriptor"],"properties":{"resultDescriptor":{"$ref":"#/components/schemas/RasterResultDescriptor"},"type":{"type":"string","enum":["GdalMultiBand"]}}},"GdalSourceTimePlaceholder":{"type":"object","required":["format","reference"],"properties":{"format":{"$ref":"#/components/schemas/DateTimeParseFormat"},"reference":{"$ref":"#/components/schemas/TimeReference"}}},"GeoJson":{"type":"object","required":["type","features"],"properties":{"features":{"type":"array","items":{}},"type":{"$ref":"#/components/schemas/CollectionType"}}},"GeoTransform":{"type":"object","required":["originCoordinate","xPixelSize","yPixelSize"],"properties":{"originCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"xPixelSize":{"type":"number","format":"double"},"yPixelSize":{"type":"number","format":"double"}}},"GetCapabilitiesFormat":{"type":"string","enum":["text/xml"]},"GetCoverageFormat":{"type":"string","enum":["image/tiff"]},"GetFeatureRequest":{"type":"string","enum":["GetFeature"]},"GetMapExceptionFormat":{"type":"string","enum":["XML","JSON"]},"GetMapFormat":{"type":"string","enum":["image/png"]},"GfbioAbcdDataProviderDefinition":{"type":"object","required":["type","name","description","dbConfig"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"dbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioAbcd"]}}},"GfbioCollectionsDataProviderDefinition":{"type":"object","required":["type","name","description","collectionApiUrl","collectionApiAuthToken","abcdDbConfig","pangaeaUrl"],"properties":{"abcdDbConfig":{"$ref":"#/components/schemas/DatabaseConnectionConfig"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"collectionApiAuthToken":{"type":"string"},"collectionApiUrl":{"type":"string","format":"uri"},"description":{"type":"string"},"name":{"type":"string"},"pangaeaUrl":{"type":"string","format":"uri"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["GfbioCollections"]}}},"GridBoundingBox2D":{"type":"object","required":["topLeftIdx","bottomRightIdx"],"properties":{"bottomRightIdx":{"$ref":"#/components/schemas/GridIdx2D"},"topLeftIdx":{"$ref":"#/components/schemas/GridIdx2D"}}},"GridIdx2D":{"type":"object","required":["yIdx","xIdx"],"properties":{"xIdx":{"type":"integer"},"yIdx":{"type":"integer"}}},"InternalDataId":{"type":"object","required":["type","datasetId"],"properties":{"datasetId":{"$ref":"#/components/schemas/DatasetId"},"type":{"type":"string","enum":["internal"]}}},"Layer":{"type":"object","required":["id","name","description","workflow"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"LayerCollection":{"type":"object","required":["id","name","description","items","properties"],"properties":{"description":{"type":"string"},"entryLabel":{"type":["string","null"],"description":"a common label for the collection's entries, if there is any"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionItem"}},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"LayerCollectionId":{"type":"string"},"LayerCollectionListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerCollectionId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}},"type":{"type":"string","enum":["collection"]}}},"LayerCollectionResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerCollectionId"},"type":{"type":"string","enum":["layerCollection"]}}},"LayerId":{"type":"string"},"LayerListing":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProviderLayerId"},"name":{"type":"string"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"type":{"type":"string","enum":["layer"]}}},"LayerProviderListing":{"type":"object","required":["id","name","priority"],"properties":{"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":"integer","format":"int32"}}},"LayerResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"type":{"type":"string","enum":["layer"]}}},"LayerVisibility":{"type":"object","required":["data","legend"],"properties":{"data":{"type":"boolean"},"legend":{"type":"boolean"}}},"LineSymbology":{"type":"object","required":["type","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["line"]}}},"LinearGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["linearGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"LogarithmicGradient":{"type":"object","required":["type","breakpoints","noDataColor","overColor","underColor"],"properties":{"breakpoints":{"type":"array","items":{"$ref":"#/components/schemas/Breakpoint"}},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"overColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["logarithmicGradient"]},"underColor":{"$ref":"#/components/schemas/RgbaColor"}}},"Measurement":{"oneOf":[{"$ref":"#/components/schemas/UnitlessMeasurement"},{"$ref":"#/components/schemas/ContinuousMeasurement"},{"$ref":"#/components/schemas/ClassificationMeasurement"}],"discriminator":{"propertyName":"type","mapping":{"classification":"#/components/schemas/ClassificationMeasurement","continuous":"#/components/schemas/ContinuousMeasurement","unitless":"#/components/schemas/UnitlessMeasurement"}}},"MetaDataDefinition":{"oneOf":[{"$ref":"#/components/schemas/MockMetaData"},{"$ref":"#/components/schemas/OgrMetaData"},{"$ref":"#/components/schemas/GdalMetaDataRegular"},{"$ref":"#/components/schemas/GdalMetaDataStatic"},{"$ref":"#/components/schemas/GdalMetadataNetCdfCf"},{"$ref":"#/components/schemas/GdalMetaDataList"},{"$ref":"#/components/schemas/GdalMultiBand"}],"discriminator":{"propertyName":"type","mapping":{"GdalMetaDataList":"#/components/schemas/GdalMetaDataList","GdalMetaDataNetCdfCf":"#/components/schemas/GdalMetadataNetCdfCf","GdalMetaDataRegular":"#/components/schemas/GdalMetaDataRegular","GdalMultiBand":"#/components/schemas/GdalMultiBand","GdalStatic":"#/components/schemas/GdalMetaDataStatic","MockMetaData":"#/components/schemas/MockMetaData","OgrMetaData":"#/components/schemas/OgrMetaData"}}},"MetaDataSuggestion":{"type":"object","required":["mainFile","layerName","metaData"],"properties":{"layerName":{"type":"string"},"mainFile":{"type":"string"},"metaData":{"$ref":"#/components/schemas/MetaDataDefinition"}}},"MlModel":{"type":"object","required":["name","displayName","description","upload","metadata","fileName"],"properties":{"description":{"type":"string"},"displayName":{"type":"string"},"fileName":{"type":"string"},"metadata":{"$ref":"#/components/schemas/MlModelMetadata"},"name":{"$ref":"#/components/schemas/MlModelName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"MlModelId":{"type":"string","format":"uuid"},"MlModelInputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelInputNoDataHandlingVariant"}}},"MlModelInputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","skipIfNoData"]},"MlModelMetadata":{"type":"object","required":["inputType","outputType","inputShape","outputShape","inputNoDataHandling","outputNoDataHandling"],"properties":{"inputNoDataHandling":{"$ref":"#/components/schemas/MlModelInputNoDataHandling"},"inputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"inputType":{"$ref":"#/components/schemas/RasterDataType"},"outputNoDataHandling":{"$ref":"#/components/schemas/MlModelOutputNoDataHandling"},"outputShape":{"$ref":"#/components/schemas/MlTensorShape3D"},"outputType":{"$ref":"#/components/schemas/RasterDataType"}}},"MlModelName":{"type":"string"},"MlModelNameResponse":{"type":"object","required":["mlModelName"],"properties":{"mlModelName":{"$ref":"#/components/schemas/MlModelName"}}},"MlModelOutputNoDataHandling":{"type":"object","required":["variant"],"properties":{"noDataValue":{"type":["number","null"],"format":"float"},"variant":{"$ref":"#/components/schemas/MlModelOutputNoDataHandlingVariant"}}},"MlModelOutputNoDataHandlingVariant":{"type":"string","enum":["encodedNoData","nanIsNoData"]},"MlModelResource":{"type":"object","required":["type","id"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["mlModel"]}}},"MlTensorShape3D":{"type":"object","description":"A struct describing tensor shape for `MlModelMetadata`","required":["y","x","bands"],"properties":{"bands":{"type":"integer","format":"int32","minimum":0},"x":{"type":"integer","format":"int32","minimum":0},"y":{"type":"integer","format":"int32","minimum":0}}},"MockDatasetDataSourceLoadingInfo":{"type":"object","required":["points"],"properties":{"points":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MockMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/MockDatasetDataSourceLoadingInfo"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["MockMetaData"]}}},"MultiBandRasterColorizer":{"type":"object","required":["type","redBand","redMin","redMax","greenBand","greenMin","greenMax","blueBand","blueMin","blueMax"],"properties":{"blueBand":{"type":"integer","format":"int32","description":"The band index of the blue channel.","minimum":0},"blueMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"blueMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"blueScale":{"type":"number","format":"double","description":"A scaling factor for the blue channel between 0 and 1."},"greenBand":{"type":"integer","format":"int32","description":"The band index of the green channel.","minimum":0},"greenMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"greenMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"greenScale":{"type":"number","format":"double","description":"A scaling factor for the green channel between 0 and 1."},"noDataColor":{"$ref":"#/components/schemas/RgbaColor","description":"The color to use for no data values.\nIf not specified, the no data values will be transparent."},"redBand":{"type":"integer","format":"int32","description":"The band index of the red channel.","minimum":0},"redMax":{"type":"number","format":"double","description":"The maximum value for the red channel."},"redMin":{"type":"number","format":"double","description":"The minimum value for the red channel."},"redScale":{"type":"number","format":"double","description":"A scaling factor for the red channel between 0 and 1."},"type":{"type":"string","enum":["multiBand"]}}},"MultiLineString":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}},"MultiPoint":{"type":"object","required":["coordinates"],"properties":{"coordinates":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}},"MultiPolygon":{"type":"object","required":["polygons"],"properties":{"polygons":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Coordinate2D"}}}}}},"NamedData":{"type":"string"},"NetCdfCfDataProviderDefinition":{"type":"object","required":["type","name","description","data","overviews"],"properties":{"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"data":{"type":"string","description":"Path were the `NetCDF` data can be found"},"description":{"type":"string"},"name":{"type":"string"},"overviews":{"type":"string","description":"Path were overview files are stored"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["NetCdfCf"]}}},"NoGeometry":{"default":null},"NumberParam":{"oneOf":[{"$ref":"#/components/schemas/StaticNumber"},{"$ref":"#/components/schemas/DerivedNumber"}],"discriminator":{"propertyName":"type","mapping":{"derived":"#/components/schemas/DerivedNumber","static":"#/components/schemas/StaticNumber"}}},"OgcBoundingBox":{"type":"string"},"OgrMetaData":{"type":"object","required":["type","loadingInfo","resultDescriptor"],"properties":{"loadingInfo":{"$ref":"#/components/schemas/OgrSourceDataset"},"resultDescriptor":{"$ref":"#/components/schemas/VectorResultDescriptor"},"type":{"type":"string","enum":["OgrMetaData"]}}},"OgrSourceColumnSpec":{"type":"object","required":["x"],"properties":{"bool":{"type":"array","items":{"type":"string"}},"datetime":{"type":"array","items":{"type":"string"}},"float":{"type":"array","items":{"type":"string"}},"formatSpecifics":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FormatSpecifics"}]},"int":{"type":"array","items":{"type":"string"}},"rename":{"type":["object","null"],"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"text":{"type":"array","items":{"type":"string"}},"x":{"type":"string"},"y":{"type":["string","null"]}}},"OgrSourceDataset":{"type":"object","required":["fileName","layerName","onError"],"properties":{"attributeQuery":{"type":["string","null"]},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"columns":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/OgrSourceColumnSpec"}]},"dataType":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VectorDataType"}]},"defaultGeometry":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TypedGeometry"}]},"fileName":{"type":"string"},"forceOgrSpatialFilter":{"type":"boolean"},"forceOgrTimeFilter":{"type":"boolean"},"layerName":{"type":"string"},"onError":{"$ref":"#/components/schemas/OgrSourceErrorSpec"},"sqlQuery":{"type":["string","null"]},"time":{"$ref":"#/components/schemas/OgrSourceDatasetTimeType"}}},"OgrSourceDatasetTimeType":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeNone"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStart"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"},{"$ref":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration"}],"discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/OgrSourceDatasetTimeTypeNone","start":"#/components/schemas/OgrSourceDatasetTimeTypeStart","start+duration":"#/components/schemas/OgrSourceDatasetTimeTypeStartDuration","start+end":"#/components/schemas/OgrSourceDatasetTimeTypeStartEnd"}}},"OgrSourceDatasetTimeTypeNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"]}}},"OgrSourceDatasetTimeTypeStart":{"type":"object","required":["type","startField","startFormat","duration"],"properties":{"duration":{"$ref":"#/components/schemas/OgrSourceDurationSpec"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start"]}}},"OgrSourceDatasetTimeTypeStartDuration":{"type":"object","required":["type","startField","startFormat","durationField"],"properties":{"durationField":{"type":"string"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+duration"]}}},"OgrSourceDatasetTimeTypeStartEnd":{"type":"object","required":["type","startField","startFormat","endField","endFormat"],"properties":{"endField":{"type":"string"},"endFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"startField":{"type":"string"},"startFormat":{"$ref":"#/components/schemas/OgrSourceTimeFormat"},"type":{"type":"string","enum":["start+end"]}}},"OgrSourceDurationSpec":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceDurationSpecInfinite"},{"$ref":"#/components/schemas/OgrSourceDurationSpecZero"},{"$ref":"#/components/schemas/OgrSourceDurationSpecValue"}],"discriminator":{"propertyName":"type","mapping":{"infinite":"#/components/schemas/OgrSourceDurationSpecInfinite","value":"#/components/schemas/OgrSourceDurationSpecValue","zero":"#/components/schemas/OgrSourceDurationSpecZero"}}},"OgrSourceDurationSpecInfinite":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["infinite"]}}},"OgrSourceDurationSpecValue":{"allOf":[{"$ref":"#/components/schemas/TimeStep"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["value"]}}}]},"OgrSourceDurationSpecZero":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["zero"]}}},"OgrSourceErrorSpec":{"type":"string","enum":["ignore","abort"]},"OgrSourceTimeFormat":{"oneOf":[{"$ref":"#/components/schemas/OgrSourceTimeFormatCustom"},{"$ref":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"},{"$ref":"#/components/schemas/OgrSourceTimeFormatAuto"}],"discriminator":{"propertyName":"format","mapping":{"auto":"#/components/schemas/OgrSourceTimeFormatAuto","custom":"#/components/schemas/OgrSourceTimeFormatCustom","unixTimeStamp":"#/components/schemas/OgrSourceTimeFormatUnixTimeStamp"}}},"OgrSourceTimeFormatAuto":{"type":"object","required":["format"],"properties":{"format":{"type":"string","enum":["auto"]}}},"OgrSourceTimeFormatCustom":{"type":"object","required":["format","customFormat"],"properties":{"customFormat":{"$ref":"#/components/schemas/DateTimeParseFormat"},"format":{"type":"string","enum":["custom"]}}},"OgrSourceTimeFormatUnixTimeStamp":{"type":"object","required":["format","timestampType"],"properties":{"format":{"type":"string","enum":["unixTimeStamp"]},"timestampType":{"$ref":"#/components/schemas/UnixTimeStampType"}}},"OperatorQuota":{"type":"object","required":["operatorName","operatorPath","count"],"properties":{"count":{"type":"integer","format":"int64","minimum":0},"operatorName":{"type":"string"},"operatorPath":{"type":"string"}}},"OrderBy":{"type":"string","enum":["NameAsc","NameDesc"]},"Palette":{"type":"object","description":"A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.","additionalProperties":{"$ref":"#/components/schemas/RgbaColor"},"propertyNames":{"type":"number","format":"double"}},"PaletteColorizer":{"type":"object","required":["type","colors","noDataColor","defaultColor"],"properties":{"colors":{"$ref":"#/components/schemas/Palette"},"defaultColor":{"$ref":"#/components/schemas/RgbaColor"},"noDataColor":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["palette"]}}},"PangaeaDataProviderDefinition":{"type":"object","required":["type","name","description","baseUrl","cacheTtl"],"properties":{"baseUrl":{"type":"string","format":"uri"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"type":{"type":"string","enum":["Pangaea"]}}},"Permission":{"type":"string","enum":["Read","Owner"]},"PermissionListOptions":{"type":"object","required":["limit","offset"],"properties":{"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"PermissionListing":{"type":"object","required":["resource","role","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"role":{"$ref":"#/components/schemas/Role"}}},"PermissionRequest":{"type":"object","description":"Request for adding a new permission to the given role on the given resource","required":["resource","roleId","permission"],"properties":{"permission":{"$ref":"#/components/schemas/Permission"},"resource":{"$ref":"#/components/schemas/Resource"},"roleId":{"$ref":"#/components/schemas/RoleId"}}},"Plot":{"type":"object","required":["workflow","name"],"properties":{"name":{"type":"string"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"PlotOutputFormat":{"type":"string","enum":["JsonPlain","JsonVega","ImagePng"]},"PlotResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for plot queries","required":["spatialReference"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"PointSymbology":{"type":"object","required":["type","radius","fillColor","stroke"],"properties":{"fillColor":{"$ref":"#/components/schemas/ColorParam"},"radius":{"$ref":"#/components/schemas/NumberParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["point"]}}},"PolygonSymbology":{"type":"object","required":["type","fillColor","stroke","autoSimplified"],"properties":{"autoSimplified":{"type":"boolean"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"},"text":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TextSymbology"}]},"type":{"type":"string","enum":["polygon"]}}},"Project":{"type":"object","required":["id","version","name","description","layers","plots","bounds","timeStep"],"properties":{"bounds":{"$ref":"#/components/schemas/STRectangle"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLayer"}},"name":{"type":"string"},"plots":{"type":"array","items":{"$ref":"#/components/schemas/Plot"}},"timeStep":{"$ref":"#/components/schemas/TimeStep"},"version":{"$ref":"#/components/schemas/ProjectVersion"}}},"ProjectId":{"type":"string","format":"uuid"},"ProjectLayer":{"type":"object","required":["workflow","name","visibility","symbology"],"properties":{"name":{"type":"string"},"symbology":{"$ref":"#/components/schemas/Symbology"},"visibility":{"$ref":"#/components/schemas/LayerVisibility"},"workflow":{"$ref":"#/components/schemas/WorkflowId"}}},"ProjectListing":{"type":"object","required":["id","name","description","layerNames","plotNames","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"description":{"type":"string"},"id":{"$ref":"#/components/schemas/ProjectId"},"layerNames":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"plotNames":{"type":"array","items":{"type":"string"}}}},"ProjectResource":{"type":"object","required":["type","id"],"properties":{"id":{"$ref":"#/components/schemas/ProjectId"},"type":{"type":"string","enum":["project"]}}},"ProjectUpdateToken":{"type":"string","enum":["none","delete"]},"ProjectVersion":{"type":"object","required":["id","changed"],"properties":{"changed":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/ProjectVersionId"}}},"ProjectVersionId":{"type":"string","format":"uuid"},"Property":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"Provenance":{"type":"object","required":["citation","license","uri"],"properties":{"citation":{"type":"string"},"license":{"type":"string"},"uri":{"type":"string"}}},"ProvenanceEntry":{"type":"object","required":["provenance","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataId"}},"provenance":{"$ref":"#/components/schemas/Provenance"}}},"ProvenanceOutput":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/DataId"},"provenance":{"type":["array","null"],"items":{"$ref":"#/components/schemas/Provenance"}}}},"Provenances":{"type":"object","required":["provenances"],"properties":{"provenances":{"type":"array","items":{"$ref":"#/components/schemas/Provenance"}}}},"ProviderCapabilities":{"type":"object","required":["listing","search"],"properties":{"listing":{"type":"boolean"},"search":{"$ref":"#/components/schemas/SearchCapabilities"}}},"ProviderLayerCollectionId":{"type":"object","required":["providerId","collectionId"],"properties":{"collectionId":{"$ref":"#/components/schemas/LayerCollectionId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"ProviderLayerId":{"type":"object","required":["providerId","layerId"],"properties":{"layerId":{"$ref":"#/components/schemas/LayerId"},"providerId":{"$ref":"#/components/schemas/DataProviderId"}}},"Quota":{"type":"object","required":["available","used"],"properties":{"available":{"type":"integer","format":"int64"},"used":{"type":"integer","format":"int64","minimum":0}}},"RasterBandDescriptor":{"type":"object","required":["name","measurement"],"properties":{"measurement":{"$ref":"#/components/schemas/Measurement"},"name":{"type":"string"}}},"RasterBandDescriptors":{"type":"array","items":{"$ref":"#/components/schemas/RasterBandDescriptor"}},"RasterColorizer":{"oneOf":[{"$ref":"#/components/schemas/SingleBandRasterColorizer"},{"$ref":"#/components/schemas/MultiBandRasterColorizer"}],"discriminator":{"propertyName":"type","mapping":{"multiBand":"#/components/schemas/MultiBandRasterColorizer","singleBand":"#/components/schemas/SingleBandRasterColorizer"}}},"RasterDataType":{"type":"string","enum":["U8","U16","U32","U64","I8","I16","I32","I64","F32","F64"]},"RasterDatasetFromWorkflow":{"type":"object","description":"parameter for the dataset from workflow handler (body)","required":["displayName","query"],"properties":{"asCog":{"type":"boolean","default":true},"description":{"type":["string","null"]},"displayName":{"type":"string"},"name":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DatasetName"}]},"query":{"$ref":"#/components/schemas/RasterToDatasetQueryRectangle"}},"example":{"name":"foo","displayName":"a new dataset","description":null,"query":{"spatialBounds":{"upperLeftCoordinate":{"x":-10.0,"y":80.0},"lowerRightCoordinate":{"x":50.0,"y":20.0}},"timeInterval":{"start":1388534400000,"end":1388534401000}}}},"RasterDatasetFromWorkflowResult":{"type":"object","description":"response of the dataset from workflow handler","required":["dataset","upload"],"properties":{"dataset":{"$ref":"#/components/schemas/DatasetName"},"upload":{"$ref":"#/components/schemas/UploadId"}}},"RasterPropertiesEntryType":{"type":"string","enum":["Number","String"]},"RasterPropertiesKey":{"type":"object","required":["key"],"properties":{"domain":{"type":["string","null"]},"key":{"type":"string"}}},"RasterResultDescriptor":{"type":"object","description":"A `ResultDescriptor` for raster queries","required":["dataType","spatialReference","time","spatialGrid","bands"],"properties":{"bands":{"$ref":"#/components/schemas/RasterBandDescriptors"},"dataType":{"$ref":"#/components/schemas/RasterDataType"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDescriptor"},"spatialReference":{"type":"string"},"time":{"$ref":"#/components/schemas/TimeDescriptor"}}},"RasterStreamWebsocketResultType":{"type":"string","description":"The stream result type for `raster_stream_websocket`.","enum":["arrow"]},"RasterSymbology":{"type":"object","required":["type","opacity","rasterColorizer"],"properties":{"opacity":{"type":"number","format":"double"},"rasterColorizer":{"$ref":"#/components/schemas/RasterColorizer"},"type":{"type":"string","enum":["raster"]}}},"RasterToDatasetQueryRectangle":{"type":"object","description":"A spatio-temporal rectangle with a specified resolution","required":["spatialBounds","timeInterval"],"properties":{"spatialBounds":{"$ref":"#/components/schemas/SpatialPartition2D"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"RegularTimeDimension":{"type":"object","required":["origin","step"],"properties":{"origin":{"$ref":"#/components/schemas/TimeInstance"},"step":{"$ref":"#/components/schemas/TimeStep"}}},"Resource":{"oneOf":[{"$ref":"#/components/schemas/LayerResource"},{"$ref":"#/components/schemas/LayerCollectionResource"},{"$ref":"#/components/schemas/ProjectResource"},{"$ref":"#/components/schemas/DatasetResource"},{"$ref":"#/components/schemas/MlModelResource"},{"$ref":"#/components/schemas/DataProviderResource"}],"description":"A resource that is affected by a permission.","discriminator":{"propertyName":"type","mapping":{"dataset":"#/components/schemas/DatasetResource","layer":"#/components/schemas/LayerResource","layerCollection":"#/components/schemas/LayerCollectionResource","mlModel":"#/components/schemas/MlModelResource","project":"#/components/schemas/ProjectResource","provider":"#/components/schemas/DataProviderResource"}}},"RgbaColor":{"type":"array","items":{"type":"integer"},"maxItems":4,"minItems":4},"Role":{"type":"object","required":["id","name"],"properties":{"id":{"$ref":"#/components/schemas/RoleId"},"name":{"type":"string"}}},"RoleDescription":{"type":"object","required":["role","individual"],"properties":{"individual":{"type":"boolean"},"role":{"$ref":"#/components/schemas/Role"}}},"RoleId":{"type":"string","format":"uuid"},"STRectangle":{"type":"object","required":["spatialReference","boundingBox","timeInterval"],"properties":{"boundingBox":{"$ref":"#/components/schemas/BoundingBox2D"},"spatialReference":{"type":"string"},"timeInterval":{"$ref":"#/components/schemas/TimeInterval"}}},"SearchCapabilities":{"type":"object","required":["searchTypes","autocomplete"],"properties":{"autocomplete":{"type":"boolean"},"filters":{"type":["array","null"],"items":{"type":"string"}},"searchTypes":{"$ref":"#/components/schemas/SearchTypes"}}},"SearchType":{"type":"string","enum":["fulltext","prefix"]},"SearchTypes":{"type":"object","required":["fulltext","prefix"],"properties":{"fulltext":{"type":"boolean"},"prefix":{"type":"boolean"}}},"Secret_String":{"type":"string","description":"A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests."},"SentinelS2L2ACogsProviderDefinition":{"type":"object","required":["type","name","id","description","apiUrl"],"properties":{"apiUrl":{"type":"string"},"cacheTtl":{"$ref":"#/components/schemas/CacheTtlSeconds"},"description":{"type":"string"},"gdalRetries":{"type":"integer","minimum":0},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"queryBuffer":{"$ref":"#/components/schemas/StacQueryBuffer"},"stacApiRetries":{"$ref":"#/components/schemas/StacApiRetries"},"type":{"type":"string","enum":["SentinelS2L2ACogs"]}}},"ServerInfo":{"type":"object","required":["buildDate","commitHash","version","features"],"properties":{"buildDate":{"type":"string"},"commitHash":{"type":"string"},"features":{"type":"string"},"version":{"type":"string"}}},"SessionId":{"type":"string","format":"uuid"},"SingleBandRasterColorizer":{"type":"object","required":["type","band","bandColorizer"],"properties":{"band":{"type":"integer","format":"int32","minimum":0},"bandColorizer":{"$ref":"#/components/schemas/Colorizer"},"type":{"type":"string","enum":["singleBand"]}}},"SpatialGridDefinition":{"type":"object","required":["geoTransform","gridBounds"],"properties":{"geoTransform":{"$ref":"#/components/schemas/GeoTransform"},"gridBounds":{"$ref":"#/components/schemas/GridBoundingBox2D"}}},"SpatialGridDescriptor":{"type":"object","required":["spatialGrid","descriptor"],"properties":{"descriptor":{"$ref":"#/components/schemas/SpatialGridDescriptorState"},"spatialGrid":{"$ref":"#/components/schemas/SpatialGridDefinition"}}},"SpatialGridDescriptorState":{"type":"string","enum":["source","derived"]},"SpatialPartition2D":{"type":"object","description":"A partition of space that include the upper left but excludes the lower right coordinate","required":["upperLeftCoordinate","lowerRightCoordinate"],"properties":{"lowerRightCoordinate":{"$ref":"#/components/schemas/Coordinate2D"},"upperLeftCoordinate":{"$ref":"#/components/schemas/Coordinate2D"}}},"SpatialReferenceAuthority":{"type":"string","description":"A spatial reference authority that is part of a spatial reference definition","enum":["EPSG","SR-ORG","IAU2000","ESRI"]},"SpatialReferenceSpecification":{"type":"object","description":"The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)","required":["name","spatialReference","projString","extent"],"properties":{"axisLabels":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/StringPair"}]},"axisOrder":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AxisOrder"}]},"extent":{"$ref":"#/components/schemas/BoundingBox2D"},"name":{"type":"string"},"projString":{"type":"string"},"spatialReference":{"type":"string"}}},"SpatialResolution":{"type":"object","description":"The spatial resolution in SRS units","required":["x","y"],"properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"StacApiRetries":{"type":"object","required":["numberOfRetries","initialDelayMs","exponentialBackoffFactor"],"properties":{"exponentialBackoffFactor":{"type":"number","format":"double"},"initialDelayMs":{"type":"integer","format":"int64","minimum":0},"numberOfRetries":{"type":"integer","minimum":0}}},"StacQueryBuffer":{"type":"object","description":"A struct that represents buffers to apply to stac requests","required":["startSeconds","endSeconds"],"properties":{"endSeconds":{"type":"integer","format":"int64"},"startSeconds":{"type":"integer","format":"int64"}}},"StaticColor":{"type":"object","required":["type","color"],"properties":{"color":{"$ref":"#/components/schemas/RgbaColor"},"type":{"type":"string","enum":["static"]}}},"StaticNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["static"]},"value":{"type":"integer","minimum":0}}},"StringPair":{"type":"array","items":{"type":"string"},"maxItems":2,"minItems":2},"StrokeParam":{"type":"object","required":["width","color"],"properties":{"color":{"$ref":"#/components/schemas/ColorParam"},"width":{"$ref":"#/components/schemas/NumberParam"}}},"SuggestMetaData":{"type":"object","required":["dataPath"],"properties":{"dataPath":{"$ref":"#/components/schemas/DataPath"},"layerName":{"type":["string","null"]},"mainFile":{"type":["string","null"]}}},"Symbology":{"oneOf":[{"$ref":"#/components/schemas/RasterSymbology"},{"$ref":"#/components/schemas/PointSymbology"},{"$ref":"#/components/schemas/LineSymbology"},{"$ref":"#/components/schemas/PolygonSymbology"}],"discriminator":{"propertyName":"type","mapping":{"line":"#/components/schemas/LineSymbology","point":"#/components/schemas/PointSymbology","polygon":"#/components/schemas/PolygonSymbology","raster":"#/components/schemas/RasterSymbology"}}},"TaskAbortOptions":{"type":"object","properties":{"force":{"type":"boolean"}}},"TaskFilter":{"type":"string","enum":["running","aborted","failed","completed"]},"TaskId":{"type":"string","format":"uuid"},"TaskListOptions":{"type":"object","properties":{"filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TaskFilter"}]},"limit":{"type":"integer","format":"int32","minimum":0},"offset":{"type":"integer","format":"int32","minimum":0}}},"TaskResponse":{"type":"object","description":"Create a task somewhere and respond with a task id to query the task status.","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}},"TaskStatus":{"oneOf":[{"type":"object","title":"TaskStatusRunning","required":["status","taskType","pctComplete","estimatedTimeRemaining","timeStarted"],"properties":{"description":{"type":"string"},"estimatedTimeRemaining":{"type":"string"},"info":{},"pctComplete":{"type":"string"},"status":{"type":"string","enum":["running"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"}}},{"type":"object","title":"TaskStatusCompleted","required":["status","taskType","timeTotal","timeStarted"],"properties":{"description":{"type":"string"},"info":{},"status":{"type":"string","enum":["completed"]},"taskType":{"type":"string"},"timeStarted":{"type":"string"},"timeTotal":{"type":"string"}}},{"type":"object","title":"TaskStatusAborted","required":["status","cleanUp"],"properties":{"cleanUp":{},"status":{"type":"string","enum":["aborted"]}}},{"type":"object","title":"TaskStatusFailed","required":["status","error","cleanUp"],"properties":{"cleanUp":{},"error":{},"status":{"type":"string","enum":["failed"]}}}],"discriminator":{"propertyName":"status","mapping":{"aborted":"TaskStatusAborted","completed":"TaskStatusCompleted","failed":"TaskStatusFailed","running":"TaskStatusRunning"}}},"TaskStatusWithId":{"allOf":[{"$ref":"#/components/schemas/TaskStatus"},{"type":"object","required":["taskId"],"properties":{"taskId":{"$ref":"#/components/schemas/TaskId"}}}]},"TextSymbology":{"type":"object","required":["attribute","fillColor","stroke"],"properties":{"attribute":{"type":"string"},"fillColor":{"$ref":"#/components/schemas/ColorParam"},"stroke":{"$ref":"#/components/schemas/StrokeParam"}}},"TimeDescriptor":{"type":"object","required":["dimension"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]},"dimension":{"$ref":"#/components/schemas/TimeDimension"}}},"TimeDimension":{"oneOf":[{"allOf":[{"$ref":"#/components/schemas/RegularTimeDimension"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["regular"]}}}]},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["irregular"]}}}]},"TimeGranularity":{"type":"string","description":"A time granularity.","enum":["millis","seconds","minutes","hours","days","months","years"]},"TimeInstance":{"type":"integer","format":"int64"},"TimeInterval":{"type":"object","description":"Stores time intervals in ms in close-open semantic [start, end)","required":["start","end"],"properties":{"end":{"$ref":"#/components/schemas/TimeInstance"},"start":{"$ref":"#/components/schemas/TimeInstance"}}},"TimeReference":{"type":"string","enum":["start","end"]},"TimeStep":{"type":"object","required":["granularity","step"],"properties":{"granularity":{"$ref":"#/components/schemas/TimeGranularity"},"step":{"type":"integer","format":"int32","minimum":0}}},"TypeNames":{"type":"string"},"TypedDataProviderDefinition":{"oneOf":[{"$ref":"#/components/schemas/ArunaDataProviderDefinition"},{"$ref":"#/components/schemas/CopernicusDataspaceDataProviderDefinition"},{"$ref":"#/components/schemas/DatasetLayerListingProviderDefinition"},{"$ref":"#/components/schemas/EbvPortalDataProviderDefinition"},{"$ref":"#/components/schemas/EdrDataProviderDefinition"},{"$ref":"#/components/schemas/GbifDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioAbcdDataProviderDefinition"},{"$ref":"#/components/schemas/GfbioCollectionsDataProviderDefinition"},{"$ref":"#/components/schemas/NetCdfCfDataProviderDefinition"},{"$ref":"#/components/schemas/PangaeaDataProviderDefinition"},{"$ref":"#/components/schemas/SentinelS2L2ACogsProviderDefinition"},{"$ref":"#/components/schemas/WildliveDataConnectorDefinition"}],"discriminator":{"propertyName":"type","mapping":{"Aruna":"#/components/schemas/ArunaDataProviderDefinition","CopernicusDataspace":"#/components/schemas/CopernicusDataspaceDataProviderDefinition","DatasetLayerListing":"#/components/schemas/DatasetLayerListingProviderDefinition","EbvPortal":"#/components/schemas/EbvPortalDataProviderDefinition","Edr":"#/components/schemas/EdrDataProviderDefinition","Gbif":"#/components/schemas/GbifDataProviderDefinition","GfbioAbcd":"#/components/schemas/GfbioAbcdDataProviderDefinition","GfbioCollections":"#/components/schemas/GfbioCollectionsDataProviderDefinition","NetCdfCf":"#/components/schemas/NetCdfCfDataProviderDefinition","Pangaea":"#/components/schemas/PangaeaDataProviderDefinition","SentinelS2L2ACogs":"#/components/schemas/SentinelS2L2ACogsProviderDefinition","WildLIVE!":"#/components/schemas/WildliveDataConnectorDefinition"}}},"TypedGeometry":{"oneOf":[{"type":"object","required":["Data"],"properties":{"Data":{"$ref":"#/components/schemas/NoGeometry"}}},{"type":"object","required":["MultiPoint"],"properties":{"MultiPoint":{"$ref":"#/components/schemas/MultiPoint"}}},{"type":"object","required":["MultiLineString"],"properties":{"MultiLineString":{"$ref":"#/components/schemas/MultiLineString"}}},{"type":"object","required":["MultiPolygon"],"properties":{"MultiPolygon":{"$ref":"#/components/schemas/MultiPolygon"}}}]},"TypedOperator":{"type":"object","description":"An enum to differentiate between `Operator` variants","required":["type","operator"],"properties":{"operator":{"type":"object","required":["type"],"properties":{"params":{"type":"object"},"sources":{"type":"object"},"type":{"type":"string"}}},"type":{"type":"string","enum":["Vector","Raster","Plot"]}},"examples":[{"type":"MockPointSource","params":{"points":[{"x":0.0,"y":0.1},{"x":1.0,"y":1.1}]}}]},"TypedPlotResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/PlotResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["plot"]}}}]},"TypedRasterResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/RasterResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["raster"]}}}]},"TypedResultDescriptor":{"oneOf":[{"$ref":"#/components/schemas/TypedPlotResultDescriptor"},{"$ref":"#/components/schemas/TypedRasterResultDescriptor"},{"$ref":"#/components/schemas/TypedVectorResultDescriptor"}],"discriminator":{"propertyName":"type","mapping":{"plot":"#/components/schemas/TypedPlotResultDescriptor","raster":"#/components/schemas/TypedRasterResultDescriptor","vector":"#/components/schemas/TypedVectorResultDescriptor"}}},"TypedVectorResultDescriptor":{"allOf":[{"$ref":"#/components/schemas/VectorResultDescriptor"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["vector"]}}}]},"UnitlessMeasurement":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["unitless"]}}},"UnixTimeStampType":{"type":"string","enum":["epochSeconds","epochMilliseconds"]},"UpdateDataset":{"type":"object","required":["name","display_name","description","tags"],"properties":{"description":{"type":"string"},"display_name":{"type":"string"},"name":{"$ref":"#/components/schemas/DatasetName"},"tags":{"type":"array","items":{"type":"string"}}}},"UpdateLayer":{"type":"object","required":["name","description","workflow"],"properties":{"description":{"type":"string","example":"Example layer description"},"metadata":{"type":"object","description":"metadata used for loading the data","additionalProperties":{"type":"string"},"propertyNames":{"type":"string"}},"name":{"type":"string","example":"Example Layer"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"},"description":"properties, for instance, to be rendered in the UI"},"symbology":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Symbology"}]},"workflow":{"$ref":"#/components/schemas/Workflow"}}},"UpdateLayerCollection":{"type":"object","required":["name","description"],"properties":{"description":{"type":"string","example":"A description for an example collection"},"name":{"type":"string","example":"Example Collection"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/Property"}}}},"UpdateProject":{"type":"object","required":["id"],"properties":{"bounds":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]},"description":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/ProjectId"},"layers":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"name":{"type":["string","null"]},"plots":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VecUpdate"}},"timeStep":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeStep"}]}},"example":{"id":"df4ad02e-0d61-4e29-90eb-dc1259c1f5b9","name":"TestUpdate","layers":[{"workflow":"100ee39c-761c-4218-9d85-ec861a8f3097","name":"L1","visibility":{"data":true,"legend":false},"symbology":{"type":"raster","opacity":1.0,"colorizer":{"type":"linearGradient","breakpoints":[{"value":1.0,"color":[255,255,255,255]},{"value":2.0,"color":[0,0,0,255]}],"noDataColor":[0,0,0,0],"overColor":[255,255,255,255],"underColor":[0,0,0,255]}}}]}},"UpdateQuota":{"type":"object","required":["available"],"properties":{"available":{"type":"integer","format":"int64"}}},"UploadFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"UploadFilesResponse":{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"type":"string"}}}},"UploadId":{"type":"string","format":"uuid"},"UsageSummaryGranularity":{"type":"string","enum":["minutes","hours","days","months","years"]},"UserCredentials":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123"}},"UserId":{"type":"string","format":"uuid"},"UserInfo":{"type":"object","required":["id"],"properties":{"email":{"type":["string","null"]},"id":{"$ref":"#/components/schemas/UserId"},"realName":{"type":["string","null"]}}},"UserRegistration":{"type":"object","required":["email","password","realName"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"realName":{"type":"string"}},"example":{"email":"foo@example.com","password":"secret123","realName":"Foo Bar"}},"UserSession":{"type":"object","required":["id","user","created","validUntil","roles"],"properties":{"created":{"type":"string","format":"date-time"},"id":{"$ref":"#/components/schemas/SessionId"},"project":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectId"}]},"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleId"}},"user":{"$ref":"#/components/schemas/UserInfo"},"validUntil":{"type":"string","format":"date-time"},"view":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/STRectangle"}]}}},"VecUpdate":{"oneOf":[{"$ref":"#/components/schemas/ProjectUpdateToken"},{"$ref":"#/components/schemas/Plot"}]},"VectorColumnInfo":{"type":"object","required":["dataType","measurement"],"properties":{"dataType":{"$ref":"#/components/schemas/FeatureDataType"},"measurement":{"$ref":"#/components/schemas/Measurement"}}},"VectorDataType":{"type":"string","description":"An enum that contains all possible vector data types","enum":["Data","MultiPoint","MultiLineString","MultiPolygon"]},"VectorResultDescriptor":{"type":"object","required":["dataType","spatialReference","columns"],"properties":{"bbox":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/BoundingBox2D"}]},"columns":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VectorColumnInfo"},"propertyNames":{"type":"string"}},"dataType":{"$ref":"#/components/schemas/VectorDataType"},"spatialReference":{"type":"string"},"time":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TimeInterval"}]}}},"Volume":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"path":{"type":["string","null"]}}},"VolumeFileLayersResponse":{"type":"object","required":["layers"],"properties":{"layers":{"type":"array","items":{"type":"string"}}}},"VolumeName":{"type":"string"},"WcsBoundingbox":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"array","items":{"type":"number","format":"double"}},"spatial_reference":{"type":["string","null"]}}},"WcsService":{"type":"string","enum":["WCS"]},"WcsVersion":{"type":"string","enum":["1.1.0","1.1.1"]},"WfsService":{"type":"string","enum":["WFS"]},"WfsVersion":{"type":"string","enum":["2.0.0"]},"WildliveDataConnectorDefinition":{"type":"object","required":["type","id","name","description"],"properties":{"description":{"type":"string"},"expiryDate":{"type":["string","null"],"format":"date-time"},"id":{"$ref":"#/components/schemas/DataProviderId"},"name":{"type":"string"},"priority":{"type":["integer","null"],"format":"int32"},"refreshToken":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Secret_String"}]},"type":{"type":"string","enum":["WildLIVE!"]},"user":{"type":["string","null"]}}},"WmsService":{"type":"string","enum":["WMS"]},"WmsVersion":{"type":"string","enum":["1.3.0"]},"Workflow":{"allOf":[{"$ref":"#/components/schemas/TypedOperator"}]},"WorkflowId":{"type":"string","format":"uuid"},"WrappedPlotOutput":{"type":"object","required":["outputFormat","plotType","data"],"properties":{"data":{"type":"object"},"outputFormat":{"$ref":"#/components/schemas/PlotOutputFormat"},"plotType":{"type":"string"}}}},"responses":{"BadRequestQueryResponse":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Missing field in query string":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: missing field `offset`"}},"Number in query string contains letters":{"value":{"error":"UnableToParseQueryString","message":"Unable to parse query string: invalid digit found in string"}}}}}},"IdResponse":{"description":"Id of generated resource","content":{"application/json":{"schema":{"type":"object","title":"IdResponse","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}},"example":{"id":"36574dc3-560a-4b09-9d22-d5945f2b8093"}}}},"PayloadTooLargeResponse":{"description":"Payload too large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Known payload size":{"value":{"error":"Overflow","message":"JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)."}},"Unknown payload size":{"value":{"error":"Overflow","message":"JSON payload has exceeded limit (2097152 bytes)."}}}}}},"PngResponse":{"description":"PNG Image","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"UnauthorizedAdminResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Auth token does not correspond to an admin":{"value":{"error":"Unauthorized","message":"Authorization error: Invalid admin token"}},"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnauthorizedUserResponse":{"description":"Authorization failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"examples":{"Authorization Header is missing":{"value":{"error":"Unauthorized","message":"Authorization error: Header with authorization token not provided."}},"Authorization Scheme other than Bearer is used":{"value":{"error":"Unauthorized","message":"Authorization error: Authentication scheme must be Bearer."}},"Provided auth token has an invalid format":{"value":{"error":"Unauthorized","message":"Authorization error: Identifier does not have the right format."}},"Session id is invalid":{"value":{"error":"Unauthorized","message":"Authorization error: The session id is invalid."}}}}}},"UnsupportedMediaTypeForJsonResponse":{"description":"Media type of application/json is expected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"UnsupportedMediaType","message":"Unsupported content type header."}}}},"ZipResponse":{"description":"ZIP Archive","content":{"application/zip":{"schema":{"type":"string","format":"binary"}}}}},"securitySchemes":{"session_token":{"type":"http","scheme":"bearer","bearerFormat":"UUID","description":"A valid session token can be obtained via the /anonymous or /login endpoints."}}},"externalDocs":{"url":"https://docs.geoengine.io","description":"Geo Engine Docs"}} \ No newline at end of file +{ + "openapi": "3.1.0", + "info": { + "title": "Geo Engine API", + "description": "", + "contact": { + "name": "Geo Engine Developers", + "email": "dev@geoengine.de" + }, + "license": { + "name": "Apache-2.0", + "url": "https://github.com/geo-engine/geoengine/blob/main/LICENSE" + }, + "version": "0.9.0" + }, + "servers": [ + { + "url": "{server}/api", + "variables": { + "server": { + "default": "https://geoengine.io" + } + } + } + ], + "paths": { + "/anonymous": { + "post": { + "tags": [ + "Session" + ], + "summary": "Creates session for anonymous user. The session's id serves as a Bearer token for requests.", + "operationId": "anonymous_handler", + "responses": { + "200": { + "description": "The created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": null, + "realName": null + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null, + "roles": [ + "8a27e61f-cc4d-4d0b-ae8c-4f1c91d07f5a", + "fd8e87bf-515c-4f36-8da6-1a53702ff102" + ] + } + } + } + } + } + } + }, + "/available": { + "get": { + "tags": [ + "General" + ], + "summary": "Server availablity check.", + "operationId": "available_handler", + "responses": { + "204": { + "description": "Server availablity check" + } + } + } + }, + "/dataset": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Creates a new dataset referencing files.\nUsers can reference previously uploaded files.\nAdmins can reference files from a volume.", + "operationId": "create_dataset_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetNameResponse" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/auto": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Creates a new dataset using previously uploaded files.\nThe format of the files will be automatically detected when possible.", + "operationId": "auto_create_dataset_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoCreateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DatasetNameResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Body is invalid json": { + "value": { + "error": "BodyDeserializeError", + "message": "expected `,` or `}` at line 13 column 7" + } + }, + "Dataset has no auto-importable layer": { + "value": { + "error": "DatasetHasNoAutoImportableLayer", + "message": "Dataset has no auto importable layer" + } + }, + "Dataset name is empty": { + "value": { + "error": "InvalidDatasetName", + "message": "Invalid dataset name" + } + }, + "Failed to read body": { + "value": { + "error": "Payload", + "message": "Error that occur during reading payload: Can not decode content-encoding." + } + }, + "File does not exist": { + "value": { + "error": "GdalError", + "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" + } + }, + "Referenced an unknown upload": { + "value": { + "error": "UnknownUploadId", + "message": "Unknown upload id" + } + }, + "Upload filename is invalid": { + "value": { + "error": "InvalidUploadFileName", + "message": "Invalid upload file name" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + }, + "413": { + "$ref": "#/components/responses/PayloadTooLargeResponse" + }, + "415": { + "$ref": "#/components/responses/UnsupportedMediaTypeForJsonResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/suggest": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Inspects an upload and suggests metadata that can be used when creating a new dataset based on it.\nTries to automatically detect the main file and layer name if not specified.", + "operationId": "suggest_meta_data_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuggestMetaData" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetaDataSuggestion" + }, + "example": { + "mainFile": "germany_polygon.gpkg", + "metaData": { + "type": "OgrMetaData", + "loadingInfo": { + "fileName": "upload/23c9ea9e-15d6-453b-a243-1390967a5669/germany_polygon.gpkg", + "layerName": "test_germany", + "dataType": "MultiPolygon", + "time": { + "type": "none" + }, + "defaultGeometry": null, + "columns": { + "formatSpecifics": null, + "x": "", + "y": null, + "int": [], + "float": [], + "text": [], + "bool": [], + "datetime": [], + "rename": null + }, + "forceOgrTimeFilter": false, + "forceOgrSpatialFilter": false, + "onError": "ignore", + "sqlQuery": null, + "attributeQuery": null + }, + "resultDescriptor": { + "dataType": "MultiPolygon", + "spatialReference": "EPSG:4326", + "columns": {}, + "time": null, + "bbox": null + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Dataset has no auto-importable layer": { + "value": { + "error": "DatasetHasNoAutoImportableLayer", + "message": "Dataset has no auto importable layer" + } + }, + "File does not exist": { + "value": { + "error": "GdalError", + "message": "GdalError: GDAL method 'GDALOpenEx' returned a NULL pointer. Error msg: 'upload/0bdd1062-7796-4d44-a655-e548144281a6/asdf: No such file or directory'" + } + }, + "Missing field in query string": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: missing field `offset`" + } + }, + "No suitable mainfile found": { + "value": { + "error": "NoMainFileCandidateFound", + "message": "No main file candidate found" + } + }, + "Number in query string contains letters": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: invalid digit found in string" + } + }, + "Referenced an unknown upload": { + "value": { + "error": "UnknownUploadId", + "message": "Unknown upload id" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/volumes": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Lists available volumes.", + "operationId": "list_volumes_handler", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Volume" + } + }, + "example": [ + { + "name": "test_data", + "path": "./test_data/" + } + ] + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedAdminResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/volumes/{volume_name}/files/{file_name}/layers": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "List the layers of a file in a volume.", + "operationId": "list_volume_file_layers_handler", + "parameters": [ + { + "name": "volume_name", + "in": "path", + "description": "Volume name", + "required": true, + "schema": { + "$ref": "#/components/schemas/VolumeName" + } + }, + { + "name": "file_name", + "in": "path", + "description": "File name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VolumeFileLayersResponse" + }, + "example": { + "layers": [ + "layer1", + "layer2" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Retrieves details about a dataset using the internal name.", + "operationId": "get_dataset_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Dataset" + }, + "example": { + "id": { + "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" + }, + "name": "Germany", + "description": "Boundaries of Germany", + "resultDescriptor": { + "vector": { + "dataType": "MultiPolygon", + "spatialReference": "EPSG:4326", + "columns": {} + } + }, + "sourceOperator": "OgrSource" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Referenced an unknown dataset": { + "value": { + "error": "CannotLoadDataset", + "message": "CannotLoadDataset: UnknownDatasetName" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "Datasets" + ], + "summary": "Update details about a dataset using the internal name.", + "operationId": "update_dataset_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Referenced an unknown dataset": { + "value": { + "error": "CannotLoadDataset", + "message": "CannotLoadDataset: UnknownDatasetName" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Datasets" + ], + "summary": "Delete a dataset", + "operationId": "delete_dataset_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Given dataset can only be deleted by owner": { + "value": { + "error": "OperationRequiresOwnerPermission", + "message": "Operation requires owner permission" + } + }, + "Referenced an unknown dataset": { + "value": { + "error": "UnknownDatasetName", + "message": "Unknown dataset name" + } + } + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/loadingInfo": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Retrieves the loading information of a dataset", + "operationId": "get_loading_info_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetaDataDefinition" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "put": { + "tags": [ + "Datasets" + ], + "summary": "Updates the dataset's loading info", + "operationId": "update_loading_info_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetaDataDefinition" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/provenance": { + "put": { + "tags": [ + "Datasets" + ], + "operationId": "update_dataset_provenance_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Provenances" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/symbology": { + "put": { + "tags": [ + "Datasets" + ], + "summary": "Updates the dataset's symbology", + "operationId": "update_dataset_symbology_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Symbology" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/dataset/{dataset}/tiles": { + "post": { + "tags": [ + "Datasets" + ], + "summary": "Add a tile to a gdal dataset.", + "operationId": "add_dataset_tiles_handler", + "parameters": [ + { + "name": "dataset", + "in": "path", + "description": "Dataset Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/DatasetName" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AutoCreateDataset" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/datasetFromWorkflow/{id}": { + "post": { + "tags": [ + "Workflows" + ], + "summary": "Create a task for creating a new dataset from the result of the workflow given by its `id` and the dataset parameters in the request body.\nReturns the id of the created task", + "operationId": "dataset_from_workflow_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RasterDatasetFromWorkflow" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Id of created task", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResponse" + }, + "example": { + "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/datasets": { + "get": { + "tags": [ + "Datasets" + ], + "summary": "Lists available datasets.", + "operationId": "list_datasets_handler", + "parameters": [ + { + "name": "filter", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "Germany" + }, + { + "name": "order", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrderBy" + }, + "example": "NameAsc" + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 2 + }, + { + "name": "tags", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "example": "['tag1', 'tag2']" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DatasetListing" + } + }, + "example": [ + { + "id": { + "internal": "9c874b9e-cea0-4553-b727-a13cb26ae4bb" + }, + "name": "Germany", + "description": "Boundaries of Germany", + "tags": [], + "sourceOperator": "OgrSource", + "resultDescriptor": { + "vector": { + "dataType": "MultiPolygon", + "spatialReference": "EPSG:4326", + "columns": {} + } + } + } + ] + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequestQueryResponse" + }, + "401": { + "$ref": "#/components/responses/UnauthorizedUserResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/info": { + "get": { + "tags": [ + "General" + ], + "summary": "Shows information about the server software version.", + "operationId": "server_info_handler", + "responses": { + "200": { + "description": "Server software information", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServerInfo" + }, + "example": { + "buildDate": "2022-09-29", + "commitHash": "555dc6d84d3682c37490a145d53c5097d0b81b27", + "version": "0.7.0", + "features": "default" + } + } + } + } + } + } + }, + "/layerDb/collections/{collection}": { + "put": { + "tags": [ + "Layers" + ], + "summary": "Update a collection", + "operationId": "update_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateLayerCollection" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Remove a collection", + "operationId": "remove_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{collection}/collections": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add a new collection to an existing collection", + "operationId": "add_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddLayerCollection" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{collection}/layers": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add a new layer to a collection", + "operationId": "add_layer", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddLayer" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{collection}/layers/{layer}": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add an existing layer to a collection", + "operationId": "add_existing_layer_to_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Remove a layer from a collection", + "operationId": "remove_layer_from_collection", + "parameters": [ + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/collections/{parent}/collections/{collection}": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Add an existing collection to a collection", + "operationId": "add_existing_collection_to_collection", + "parameters": [ + { + "name": "parent", + "in": "path", + "description": "Parent layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Delete a collection from a collection", + "operationId": "remove_collection_from_collection", + "parameters": [ + { + "name": "parent", + "in": "path", + "description": "Parent layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/layers/{layer}": { + "put": { + "tags": [ + "Layers" + ], + "summary": "Update a layer", + "operationId": "update_layer", + "parameters": [ + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateLayer" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Remove a collection", + "operationId": "remove_layer", + "parameters": [ + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/providers": { + "get": { + "tags": [ + "Layers" + ], + "summary": "List all providers", + "operationId": "list_providers", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LayerProviderListing" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "Layers" + ], + "summary": "Add a new provider", + "operationId": "add_provider", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedDataProviderDefinition" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layerDb/providers/{provider}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Get an existing provider's definition", + "operationId": "get_provider_definition", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Layer provider id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedDataProviderDefinition" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "put": { + "tags": [ + "Layers" + ], + "summary": "Update an existing provider's definition", + "operationId": "update_provider_definition", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Layer provider id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedDataProviderDefinition" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Layers" + ], + "summary": "Delete an existing provider", + "operationId": "delete_provider", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Layer provider id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections": { + "get": { + "tags": [ + "Layers" + ], + "summary": "List all layer collections", + "operationId": "list_root_collections_handler", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 20 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerCollection" + }, + "example": { + "id": { + "providerId": "1c3b8042-300b-485c-95b5-0147d9dc068d", + "collectionId": "f2424474-ef24-4c18-ab84-68592e12ce48" + }, + "name": "Layer Providers", + "description": "All available Geo Engine layer providers", + "items": [ + { + "type": "collection", + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" + }, + "name": "Datasets", + "description": "Basic Layers for all Datasets" + }, + { + "type": "collection", + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + "name": "Layers", + "description": "All available Geo Engine layers" + } + ], + "entryLabel": null, + "properties": [] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections/search/autocomplete/{provider}/{collection}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Autocompletes the search on the contents of the collection of the given provider", + "operationId": "autocomplete_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + }, + "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "searchType", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/SearchType" + }, + "example": "fulltext" + }, + { + "name": "searchString", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "test" + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "20" + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "0" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "example": [ + "An empty collection", + "Ports in Germany" + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections/search/{provider}/{collection}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Searches the contents of the collection of the given provider", + "operationId": "search_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + }, + "example": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74" + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "example": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + { + "name": "searchType", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/SearchType" + }, + "example": "fulltext" + }, + { + "name": "searchString", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "test" + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "20" + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": "0" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerCollection" + }, + "example": { + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "collectionId": "05102bb3-a855-4a37-8a8a-30026a91fef1" + }, + "name": "Layers", + "description": "All available Geo Engine layers", + "items": [ + { + "type": "collection", + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "collectionId": "a29f77cc-51ce-466b-86ef-d0ab2170bc0a" + }, + "name": "An empty collection", + "description": "There is nothing here", + "properties": [] + }, + { + "type": "layer", + "id": { + "providerId": "ce5e84db-cbf9-48a2-9a32-d4b7cc56ea74", + "layerId": "b75db46e-2b9a-4a86-b33f-bc06a73cd711" + }, + "name": "Ports in Germany", + "description": "Natural Earth Ports point filtered with Germany polygon", + "properties": [] + } + ], + "entryLabel": null, + "properties": [] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/collections/{provider}/{collection}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "List the contents of the collection of the given provider", + "operationId": "list_collection_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "collection", + "in": "path", + "description": "Layer collection id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 20 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LayerCollection" + }, + "example": { + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "collectionId": "546073b6-d535-4205-b601-99675c9f6dd7" + }, + "name": "Datasets", + "description": "Basic Layers for all Datasets", + "items": [ + { + "type": "layer", + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" + }, + "name": "Land Cover", + "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover" + }, + { + "type": "layer", + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "layerId": "36574dc3-560a-4b09-9d22-d5945f2b8093" + }, + "name": "NDVI", + "description": "NDVI data from MODIS" + } + ], + "entryLabel": null, + "properties": [] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/capabilities": { + "get": { + "tags": [ + "Layers" + ], + "operationId": "provider_capabilities_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProviderCapabilities" + }, + "example": { + "listing": true, + "search": { + "search_types": { + "fulltext": true, + "prefix": true + }, + "autocomplete": true, + "filters": [] + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/{layer}": { + "get": { + "tags": [ + "Layers" + ], + "summary": "Retrieves the layer of the given provider", + "operationId": "layer_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Layer" + }, + "example": { + "id": { + "providerId": "ac50ed0d-c9a0-41f8-9ce8-35fc9e38299b", + "layerId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" + }, + "name": "Land Cover", + "description": "Land Cover derived from MODIS/Terra+Aqua Land Cover", + "workflow": { + "type": "Raster", + "operator": { + "type": "GdalSource", + "params": { + "data": { + "type": "internal", + "datasetId": "9ee3619e-d0f9-4ced-9c44-3d407c3aed69" + } + } + } + }, + "symbology": { + "type": "raster", + "opacity": 1, + "colorizer": { + "type": "palette", + "colors": { + "0": [ + 134, + 201, + 227, + 255 + ], + "1": [ + 30, + 129, + 62, + 255 + ], + "2": [ + 59, + 194, + 212, + 255 + ], + "3": [ + 157, + 194, + 63, + 255 + ], + "4": [ + 159, + 225, + 127, + 255 + ], + "5": [ + 125, + 194, + 127, + 255 + ], + "6": [ + 195, + 127, + 126, + 255 + ], + "7": [ + 188, + 221, + 190, + 255 + ], + "8": [ + 224, + 223, + 133, + 255 + ], + "9": [ + 226, + 221, + 7, + 255 + ], + "10": [ + 223, + 192, + 125, + 255 + ], + "11": [ + 66, + 128, + 189, + 255 + ], + "12": [ + 225, + 222, + 127, + 255 + ], + "13": [ + 253, + 2, + 0, + 255 + ], + "14": [ + 162, + 159, + 66, + 255 + ], + "15": [ + 255, + 255, + 255, + 255 + ], + "16": [ + 192, + 192, + 192, + 255 + ] + }, + "noDataColor": [ + 0, + 0, + 0, + 0 + ], + "defaultColor": [ + 0, + 0, + 0, + 0 + ] + } + }, + "properties": [], + "metadata": {} + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/{layer}/dataset": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Persist a raster layer from a provider as a dataset.", + "operationId": "layer_to_dataset", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerId" + } + } + ], + "responses": { + "200": { + "description": "Id of created task", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskResponse" + }, + "example": { + "taskId": "7f8a4cfe-76ab-4972-b347-b197e5ef0f3c" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/layers/{provider}/{layer}/workflowId": { + "post": { + "tags": [ + "Layers" + ], + "summary": "Registers a layer from a provider as a workflow and returns the workflow id", + "operationId": "layer_to_workflow_id_handler", + "parameters": [ + { + "name": "provider", + "in": "path", + "description": "Data provider id", + "required": true, + "schema": { + "$ref": "#/components/schemas/DataProviderId" + } + }, + { + "name": "layer", + "in": "path", + "description": "Layer id", + "required": true, + "schema": { + "$ref": "#/components/schemas/LayerCollectionId" + } + } + ], + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/login": { + "post": { + "tags": [ + "Session" + ], + "summary": "Creates a session by providing user credentials. The session's id serves as a Bearer token for requests.", + "operationId": "login_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserCredentials" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The created session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": "foo@example.com", + "realName": "Foo Bar" + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null, + "roles": [ + "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", + "4e8081b6-8aa6-4275-af0c-2fa2da557d28" + ] + } + } + } + } + } + } + }, + "/logout": { + "post": { + "tags": [ + "Session" + ], + "summary": "Ends a session.", + "operationId": "logout_handler", + "responses": { + "200": { + "description": "The Session was deleted." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/ml/models": { + "get": { + "tags": [ + "ML" + ], + "summary": "List ml models.", + "operationId": "list_ml_models", + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MlModel" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "ML" + ], + "summary": "Create a new ml model.", + "operationId": "add_ml_model", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MlModel" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MlModelNameResponse" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/ml/models/{model_name}": { + "get": { + "tags": [ + "ML" + ], + "summary": "Get ml model by name.", + "operationId": "get_ml_model", + "parameters": [ + { + "name": "model_name", + "in": "path", + "description": "Ml Model Name", + "required": true, + "schema": { + "$ref": "#/components/schemas/MlModelName" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MlModel" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/oidcInit": { + "post": { + "tags": [ + "Session" + ], + "summary": "Initializes the Open Id Connect login procedure by requesting a parametrized url to the configured Id Provider.", + "description": "# Errors\n\nThis call fails if Open ID Connect is disabled, misconfigured or the Id Provider is unreachable.\n\n", + "operationId": "oidc_init", + "parameters": [ + { + "name": "redirectUri", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthCodeRequestURL" + }, + "example": { + "url": "http://someissuer.com/authorize?client_id=someclient&redirect_uri=someuri&response_type=code&scope=somescope&state=somestate&nonce=somenonce&codechallenge=somechallenge&code_challenge_method=S256" + } + } + } + } + } + } + }, + "/oidcLogin": { + "post": { + "tags": [ + "Session" + ], + "summary": "Creates a session for a user via a login with Open Id Connect.\nThis call must be preceded by a call to oidcInit and match the parameters of that call.", + "description": "# Errors\n\nThis call fails if the [`AuthCodeResponse`] is invalid,\nif a previous oidcLogin call with the same state was already successfully or unsuccessfully resolved,\nif the Open Id Connect configuration is invalid,\nor if the Id Provider is unreachable.\n\n", + "operationId": "oidc_login", + "parameters": [ + { + "name": "redirectUri", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthCodeResponse" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": "foo@bar.de", + "realName": "Foo Bar" + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null + } + } + } + } + } + } + }, + "/permissions": { + "put": { + "tags": [ + "Permissions" + ], + "summary": "Adds a new permission.", + "operationId": "add_permission_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionRequest" + }, + "example": { + "resource": { + "type": "layer", + "id": "00000000-0000-0000-0000-000000000000" + }, + "roleId": "00000000-0000-0000-0000-000000000000", + "permission": "Read" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Permissions" + ], + "summary": "Removes an existing permission.", + "operationId": "remove_permission_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PermissionRequest" + }, + "example": { + "resource": { + "type": "layer", + "id": "00000000-0000-0000-0000-000000000000" + }, + "roleId": "00000000-0000-0000-0000-000000000000", + "permission": "Read" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/permissions/resources/{resource_type}/{resource_id}": { + "get": { + "tags": [ + "Permissions" + ], + "summary": "Lists permission for a given resource.", + "operationId": "get_resource_permissions_handler", + "parameters": [ + { + "name": "resource_type", + "in": "path", + "description": "Resource Type", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resource_id", + "in": "path", + "description": "Resource Id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "List of permission", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PermissionListing" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/plot/{id}": { + "get": { + "tags": [ + "Plots" + ], + "summary": "Generates a plot.", + "description": "# Example\n\n1. Upload the file `plain_data.csv` with the following content:\n\n```csv\na\n1\n2\n```\n2. Create a dataset from it using the \"Plain Data\" example at `/dataset`.\n3. Create a statistics workflow using the \"Statistics Plot\" example at `/workflow`.\n4. Generate the plot with this handler.", + "operationId": "get_plot_handler", + "parameters": [ + { + "name": "bbox", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "0,-0.3,0.2,0" + }, + { + "name": "crs", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + }, + "example": "EPSG:4326" + }, + { + "name": "time", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "2020-01-01T00:00:00.0Z" + }, + { + "name": "spatialResolution", + "in": "query", + "required": true, + "schema": { + "type": "string" + }, + "example": "0.1,0.1" + }, + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WrappedPlotOutput" + }, + "example": { + "outputFormat": "JsonPlain", + "plotType": "Statistics", + "data": { + "a": { + "max": 2.0, + "mean": 1.5, + "min": 1.0, + "stddev": 0.5, + "validCount": 2, + "valueCount": 2 + } + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project": { + "post": { + "tags": [ + "Projects" + ], + "summary": "Create a new project for the user.", + "operationId": "create_project_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateProject" + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project/{project}": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Retrieves details about the latest version of a project.", + "operationId": "load_project_latest_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "Project loaded from database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + }, + "example": { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "version": { + "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", + "changed": "2021-04-26T14:05:39.677390600Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + }, + "name": "Test", + "description": "Foo", + "layers": [], + "plots": [], + "bounds": { + "spatialReference": "EPSG:4326", + "boundingBox": { + "lowerLeftCoordinate": { + "x": 0.0, + "y": 0.0 + }, + "upperRightCoordinate": { + "x": 1.0, + "y": 1.0 + } + }, + "timeInterval": { + "start": 0, + "end": 1 + } + }, + "timeStep": { + "granularity": "months", + "step": 1 + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "Projects" + ], + "summary": "Deletes a project.", + "operationId": "delete_project_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "patch": { + "tags": [ + "Projects" + ], + "summary": "Updates a project.\nThis will create a new version.", + "operationId": "update_project_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProject" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "OK" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project/{project}/versions": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Lists all available versions of a project.", + "operationId": "project_versions_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectVersion" + } + }, + "example": [ + { + "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", + "changed": "2021-04-26T14:05:39.677390600Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + }, + { + "id": "ced041c7-4b1d-4d13-b076-94596be6a36a", + "changed": "2021-04-26T14:13:10.901912700Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/project/{project}/{version}": { + "get": { + "tags": [ + "Projects" + ], + "summary": "Retrieves details about the given version of a project.", + "operationId": "load_project_version_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + }, + { + "name": "version", + "in": "path", + "description": "Version id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectVersionId" + } + } + ], + "responses": { + "200": { + "description": "Project loaded from database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Project" + }, + "example": { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "version": { + "id": "8f4b8683-f92c-4129-a16f-818aeeee484e", + "changed": "2021-04-26T14:05:39.677390600Z", + "author": "5b4466d2-8bab-4ed8-a182-722af3c80958" + }, + "name": "Test", + "description": "Foo", + "layers": [], + "plots": [], + "bounds": { + "spatialReference": "EPSG:4326", + "boundingBox": { + "lowerLeftCoordinate": { + "x": 0.0, + "y": 0.0 + }, + "upperRightCoordinate": { + "x": 1.0, + "y": 1.0 + } + }, + "timeInterval": { + "start": 0, + "end": 1 + } + }, + "timeStep": { + "granularity": "months", + "step": 1 + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/projects": { + "get": { + "tags": [ + "Projects" + ], + "summary": "List all projects accessible to the user that match the selected criteria.", + "operationId": "list_projects_handler", + "parameters": [ + { + "name": "order", + "in": "path", + "required": true, + "schema": { + "$ref": "#/components/schemas/OrderBy" + }, + "example": "NameAsc" + }, + { + "name": "offset", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 2 + } + ], + "responses": { + "200": { + "description": "List of projects the user can access", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectListing" + } + }, + "example": [ + { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "name": "Test", + "description": "Foo", + "layerNames": [], + "plotNames": [], + "changed": "2021-04-26T14:03:51.984537900Z" + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the available and used quota of the current user.", + "operationId": "quota_handler", + "responses": { + "200": { + "description": "The available and used quota of the user", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Quota" + }, + "example": { + "available": 4321, + "used": 1234 + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/computations": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the quota used by computations", + "operationId": "computations_quota_handler", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "The quota used by computations", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ComputationQuota" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/computations/{computation}": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the quota used by computation with the given computation id", + "operationId": "computation_quota_handler", + "parameters": [ + { + "name": "computation", + "in": "path", + "description": "Computation id", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "The quota used by computation", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OperatorQuota" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/dataUsage": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the data usage", + "operationId": "data_usage_handler", + "parameters": [ + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + } + ], + "responses": { + "200": { + "description": "The quota used on data", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DataUsage" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quota/dataUsage/summary": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the data usage summary", + "operationId": "data_usage_summary_handler", + "parameters": [ + { + "name": "granularity", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/UsageSummaryGranularity" + } + }, + { + "name": "offset", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + }, + { + "name": "limit", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + }, + { + "name": "dataset", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + } + ], + "responses": { + "200": { + "description": "The quota used on data", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DataUsageSummary" + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/quotas/{user}": { + "get": { + "tags": [ + "User" + ], + "summary": "Retrieves the available and used quota of a specific user.", + "operationId": "get_user_quota_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + } + ], + "responses": { + "200": { + "description": "The available and used quota of the user", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Quota" + }, + "example": { + "available": 4321, + "used": 1234 + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "post": { + "tags": [ + "User" + ], + "summary": "Update the available quota of a specific user.", + "operationId": "update_user_quota_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateQuota" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Quota was updated" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/roles": { + "put": { + "tags": [ + "User" + ], + "summary": "Add a new role. Requires admin privilige.", + "operationId": "add_role_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddRole" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Role was added", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RoleId" + }, + "example": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/roles/byName/{name}": { + "get": { + "tags": [ + "User" + ], + "summary": "Get role by name", + "operationId": "get_role_by_name_handler", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Role Name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/roles/{role}": { + "delete": { + "tags": [ + "User" + ], + "summary": "Remove a role. Requires admin privilige.", + "operationId": "remove_role_handler", + "parameters": [ + { + "name": "role", + "in": "path", + "description": "Role id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoleId" + } + } + ], + "responses": { + "200": { + "description": "Role was removed" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/session": { + "get": { + "tags": [ + "Session" + ], + "summary": "Retrieves details about the current session.", + "operationId": "session_handler", + "responses": { + "200": { + "description": "The current session", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserSession" + }, + "example": { + "id": "208fa24e-7a92-4f57-a3fe-d1177d9f18ad", + "user": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "email": "foo@example.com", + "realName": "Foo Bar" + }, + "created": "2021-04-26T13:47:10.579724800Z", + "validUntil": "2021-04-26T14:47:10.579775400Z", + "project": null, + "view": null, + "roles": [ + "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", + "4e8081b6-8aa6-4275-af0c-2fa2da557d28" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/session/project/{project}": { + "post": { + "tags": [ + "Session" + ], + "summary": "Sets the active project of the session.", + "operationId": "session_project_handler", + "parameters": [ + { + "name": "project", + "in": "path", + "description": "Project id", + "required": true, + "schema": { + "$ref": "#/components/schemas/ProjectId" + } + } + ], + "responses": { + "200": { + "description": "The project of the session was updated." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/session/view": { + "post": { + "tags": [ + "Session" + ], + "operationId": "session_view_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/STRectangle" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The view of the session was updated." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/spatialReferenceSpecification/{srsString}": { + "get": { + "tags": [ + "Spatial References" + ], + "operationId": "get_spatial_reference_specification_handler", + "parameters": [ + { + "name": "srsString", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "example": "EPSG:4326" + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SpatialReferenceSpecification" + }, + "example": { + "name": "WGS 84", + "spatialReference": "EPSG:4326", + "projString": "+proj=longlat +datum=WGS84 +no_defs +type=crs", + "extent": { + "lowerLeftCoordinate": { + "x": -180.0, + "y": -90.0 + }, + "upperRightCoordinate": { + "x": 180.0, + "y": 90.0 + } + }, + "axisLabels": [ + "Geodetic longitude", + "Geodetic latitude" + ], + "axisOrder": "northEast" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/tasks/list": { + "get": { + "tags": [ + "Tasks" + ], + "summary": "Retrieve the status of all tasks.", + "operationId": "list_handler", + "parameters": [ + { + "name": "filter", + "in": "path", + "required": true, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TaskFilter" + } + ] + } + }, + { + "name": "offset", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 0 + }, + { + "name": "limit", + "in": "path", + "required": true, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 20 + } + ], + "responses": { + "200": { + "description": "Status of all tasks", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TaskStatusWithId" + } + }, + "example": [ + { + "taskId": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", + "status": "completed", + "taskType": "dummy-task", + "description": "Demo", + "info": null, + "timeTotal": "00:00:30", + "timeStarted": "2023-02-16T15:25:45.390Z" + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/tasks/{id}": { + "delete": { + "tags": [ + "Tasks" + ], + "summary": "Abort a running task.", + "description": "# Parameters\n\n* `force` - If true, the task will be aborted without clean-up.\n You can abort a task that is already in the process of aborting.", + "operationId": "abort_handler", + "parameters": [ + { + "name": "force", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "id", + "in": "path", + "description": "Task id", + "required": true, + "schema": { + "$ref": "#/components/schemas/TaskId" + } + } + ], + "responses": { + "202": { + "description": "Task will be aborted." + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/tasks/{id}/status": { + "get": { + "tags": [ + "Tasks" + ], + "summary": "Retrieve the status of a task.", + "operationId": "status_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Task id", + "required": true, + "schema": { + "$ref": "#/components/schemas/TaskId" + } + } + ], + "responses": { + "200": { + "description": "Status of the task (running)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TaskStatus" + }, + "example": { + "status": "running", + "taskType": "dummy-task", + "description": "Demo", + "pctComplete": "0.00%", + "timeStarted": "2023-02-16T15:25:45.390Z", + "estimatedTimeRemaining": "? (± ?)", + "info": null + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/upload": { + "post": { + "tags": [ + "Uploads" + ], + "summary": "Uploads files.", + "operationId": "upload_handler", + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "required": [ + "files[]" + ], + "properties": { + "files[]": { + "type": "array", + "items": { + "type": "string", + "format": "binary" + } + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/uploads/{upload_id}/files": { + "get": { + "tags": [ + "Uploads" + ], + "summary": "List the files of on upload.", + "operationId": "list_upload_files_handler", + "parameters": [ + { + "name": "upload_id", + "in": "path", + "description": "Upload id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UploadId" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadFilesResponse" + }, + "example": { + "files": [ + "file1", + "file2" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/uploads/{upload_id}/files/{file_name}/layers": { + "get": { + "tags": [ + "Uploads" + ], + "summary": "List the layers of on uploaded file.", + "operationId": "list_upload_file_layers_handler", + "parameters": [ + { + "name": "upload_id", + "in": "path", + "description": "Upload id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UploadId" + } + }, + { + "name": "file_name", + "in": "path", + "description": "File name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadFileLayersResponse" + }, + "example": { + "layers": [ + "layer1", + "layer2" + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/user": { + "post": { + "tags": [ + "Session" + ], + "summary": "Registers a user.", + "operationId": "register_user_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserRegistration" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The id of the created user", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserId" + }, + "example": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958" + } + } + } + } + } + } + }, + "/user/roles/descriptions": { + "get": { + "tags": [ + "User" + ], + "summary": "Query roles for the current user.", + "operationId": "get_role_descriptions", + "responses": { + "200": { + "description": "The description for roles of the current user", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RoleDescription" + } + }, + "example": [ + { + "role": { + "id": "5b4466d2-8bab-4ed8-a182-722af3c80958", + "name": "foo@example.com" + }, + "individual": true + }, + { + "role": { + "id": "fa5be363-bc0d-4bfa-85c7-ebb5cd9a8783", + "name": "Example role" + }, + "individual": false + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/users/{user}/roles/{role}": { + "post": { + "tags": [ + "User" + ], + "summary": "Assign a role to a user. Requires admin privilige.", + "operationId": "assign_role_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + }, + { + "name": "role", + "in": "path", + "description": "Role id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoleId" + } + } + ], + "responses": { + "200": { + "description": "Role was assigned" + } + }, + "security": [ + { + "session_token": [] + } + ] + }, + "delete": { + "tags": [ + "User" + ], + "summary": "Revoke a role from a user. Requires admin privilige.", + "operationId": "revoke_role_handler", + "parameters": [ + { + "name": "user", + "in": "path", + "description": "User id", + "required": true, + "schema": { + "$ref": "#/components/schemas/UserId" + } + }, + { + "name": "role", + "in": "path", + "description": "Role id", + "required": true, + "schema": { + "$ref": "#/components/schemas/RoleId" + } + } + ], + "responses": { + "200": { + "description": "Role was revoked" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/wcs/{workflow}": { + "get": { + "tags": [ + "OGC WCS" + ], + "summary": "OGC WCS endpoint", + "operationId": "wcs_handler", + "parameters": [ + { + "name": "workflow", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "boundingbox", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "-90,-180,90,180,urn:ogc:def:crs:EPSG::4326" + }, + { + "name": "format", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/GetCoverageFormat" + } + }, + { + "name": "gridbasecrs", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "urn:ogc:def:crs:EPSG::4326" + }, + { + "name": "gridoffsets", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "-0.1,0.1" + }, + { + "name": "gridorigin", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "90,-180" + }, + { + "name": "identifier", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "" + }, + { + "name": "identifiers", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "" + }, + { + "name": "nodatavalue", + "in": "query", + "required": false, + "schema": { + "type": [ + "number", + "null" + ], + "format": "double" + } + }, + { + "name": "request", + "in": "query", + "description": "type of WCS request", + "required": true, + "schema": { + "$ref": "#/components/schemas/WcsRequest" + } + }, + { + "name": "resx", + "in": "query", + "required": false, + "schema": { + "type": [ + "number", + "null" + ], + "format": "double" + } + }, + { + "name": "resy", + "in": "query", + "required": false, + "schema": { + "type": [ + "number", + "null" + ], + "format": "double" + } + }, + { + "name": "service", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/WcsService" + } + }, + { + "name": "time", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/WcsVersion" + } + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/wfs/{workflow}": { + "get": { + "tags": [ + "OGC WFS" + ], + "summary": "OGC WFS endpoint", + "operationId": "wfs_handler", + "parameters": [ + { + "name": "workflow", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "bbox", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/OgcBoundingBox" + }, + "example": "-90,-180,90,180" + }, + { + "name": "count", + "in": "query", + "required": false, + "schema": { + "type": [ + "integer", + "null" + ], + "format": "int64", + "minimum": 0 + } + }, + { + "name": "filter", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "namespaces", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "propertyName", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "request", + "in": "query", + "description": "type of WFS request", + "required": true, + "schema": { + "$ref": "#/components/schemas/WfsRequest" + } + }, + { + "name": "resultType", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "service", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/WfsService" + } + }, + { + "name": "sortBy", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "srsName", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + }, + "example": "EPSG:4326" + }, + { + "name": "time", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "2014-04-01T12:00:00.000Z" + }, + { + "name": "typeNames", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/TypeNames" + }, + "example": "" + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/WfsVersion" + } + ] + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GeoJson" + }, + "example": { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 0.0, + 0.1 + ] + }, + "properties": { + "foo": 0 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 1.0, + 1.1 + ] + }, + "properties": { + "foo": null + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 2.0, + 3.1 + ] + }, + "properties": { + "foo": 2 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 3.0, + 3.1 + ] + }, + "properties": { + "foo": 3 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + }, + { + "type": "Feature", + "geometry": { + "type": "Point", + "coordinates": [ + 4.0, + 4.1 + ] + }, + "properties": { + "foo": 4 + }, + "when": { + "start": "1970-01-01T00:00:00+00:00", + "end": "1970-01-01T00:00:00.001+00:00", + "type": "Interval" + } + } + ] + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/wms/{workflow}": { + "get": { + "tags": [ + "OGC WMS" + ], + "summary": "OGC WMS endpoint", + "operationId": "wms_handler", + "parameters": [ + { + "name": "workflow", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "bbox", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/OgcBoundingBox" + }, + "example": "-90,-180,90,180" + }, + { + "name": "bgcolor", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "crs", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + }, + "example": "EPSG:4326" + }, + { + "name": "elevation", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "exceptions", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/GetMapExceptionFormat" + } + ] + } + }, + { + "name": "format", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/GetCapabilitiesFormat" + } + ] + } + }, + { + "name": "height", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 256 + }, + { + "name": "info_format", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "layer", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "layers", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "" + }, + { + "name": "query_layers", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "request", + "in": "query", + "description": "type of WMS request", + "required": true, + "schema": { + "$ref": "#/components/schemas/WmsRequest" + } + }, + { + "name": "service", + "in": "query", + "required": false, + "schema": { + "$ref": "#/components/schemas/WmsService" + } + }, + { + "name": "sld", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "sld_body", + "in": "query", + "required": false, + "schema": { + "type": [ + "string", + "null" + ] + } + }, + { + "name": "styles", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "custom:{\"type\":\"linearGradient\",\"breakpoints\":[{\"value\":1,\"color\":[0,0,0,255]},{\"value\":255,\"color\":[255,255,255,255]}],\"noDataColor\":[0,0,0,0],\"defaultColor\":[0,0,0,0]}" + }, + { + "name": "time", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "example": "2014-04-01T12:00:00.000Z" + }, + { + "name": "transparent", + "in": "query", + "required": false, + "schema": { + "type": [ + "boolean", + "null" + ] + } + }, + { + "name": "version", + "in": "query", + "required": false, + "schema": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/WmsVersion" + } + ] + } + }, + { + "name": "width", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "example": 512 + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "text/xml": { + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow": { + "post": { + "tags": [ + "Workflows" + ], + "summary": "Registers a new Workflow.", + "operationId": "register_workflow_handler", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workflow" + }, + "examples": { + "MockPointSource": { + "value": { + "type": "Vector", + "operator": { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 0.0, + "y": 0.1 + }, + { + "x": 1.0, + "y": 1.1 + } + ] + } + } + } + }, + "Statistics Plot": { + "value": { + "type": "Plot", + "operator": { + "type": "Statistics", + "params": {}, + "sources": { + "source": { + "type": "OgrSource", + "params": { + "data": "ne_10m_ports", + "attributeProjection": null, + "attributeFilters": null + } + } + } + } + } + } + } + } + }, + "required": true + }, + "responses": { + "200": { + "$ref": "#/components/responses/IdResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Retrieves an existing Workflow.", + "operationId": "load_workflow_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "description": "Workflow loaded from database", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workflow" + }, + "example": { + "type": "Vector", + "operator": { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 0.0, + "y": 0.1 + }, + { + "x": 1.0, + "y": 1.1 + } + ] + } + } + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/allMetadata/zip": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Gets a ZIP archive of the worklow, its provenance and the output metadata.", + "operationId": "get_workflow_all_metadata_zip_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "$ref": "#/components/responses/ZipResponse" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/metadata": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Gets the metadata of a workflow", + "operationId": "get_workflow_metadata_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "description": "Metadata of loaded workflow", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TypedResultDescriptor" + }, + "example": { + "type": "vector", + "dataType": "MultiPoint", + "spatialReference": "EPSG:4326", + "columns": {} + } + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/provenance": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Gets the provenance of all datasets used in a workflow.", + "operationId": "get_workflow_provenance_handler", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + } + ], + "responses": { + "200": { + "description": "Provenance of used datasets", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProvenanceEntry" + } + }, + "example": [ + { + "dataset": { + "type": "internal", + "datasetId": "846a823a-6859-4b94-ab0a-c1de80f593d8" + }, + "provenance": { + "citation": "Author, Dataset Tile", + "license": "Some license", + "uri": "http://example.org/" + } + }, + { + "dataset": { + "type": "internal", + "datasetId": "453cd398-f271-437b-9c3d-7f42213ea30a" + }, + "provenance": { + "citation": "Another Author, Another Dataset Tile", + "license": "Some other license", + "uri": "http://example.org/" + } + } + ] + } + } + } + }, + "security": [ + { + "session_token": [] + } + ] + } + }, + "/workflow/{id}/rasterStream": { + "get": { + "tags": [ + "Workflows" + ], + "summary": "Query a workflow raster result as a stream of tiles via a websocket connection.", + "operationId": "raster_stream_websocket", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Workflow id", + "required": true, + "schema": { + "$ref": "#/components/schemas/WorkflowId" + } + }, + { + "name": "spatialBounds", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/SpatialPartition2D" + } + }, + { + "name": "timeInterval", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "attributes", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "resultType", + "in": "query", + "required": true, + "schema": { + "$ref": "#/components/schemas/RasterStreamWebsocketResultType" + } + } + ], + "responses": { + "101": { + "description": "Upgrade to websocket connection" + } + }, + "security": [ + { + "session_token": [] + } + ] + } + } + }, + "components": { + "schemas": { + "AddDataset": { + "type": "object", + "required": [ + "displayName", + "description", + "sourceOperator" + ], + "properties": { + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DatasetName" + } + ] + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + }, + "sourceOperator": { + "type": "string" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "tags": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "AddDatasetTile": { + "type": "object", + "required": [ + "time", + "spatial_partition", + "band", + "z_index", + "params" + ], + "properties": { + "band": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "spatial_partition": { + "$ref": "#/components/schemas/SpatialPartition2D" + }, + "time": { + "$ref": "#/components/schemas/TimeInterval" + }, + "z_index": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "AddLayer": { + "type": "object", + "required": [ + "name", + "description", + "workflow" + ], + "properties": { + "description": { + "type": "string", + "example": "Example layer description" + }, + "metadata": { + "type": "object", + "description": "metadata used for loading the data", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "name": { + "type": "string", + "example": "Example Layer" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "workflow": { + "$ref": "#/components/schemas/Workflow" + } + } + }, + "AddLayerCollection": { + "type": "object", + "required": [ + "name", + "description" + ], + "properties": { + "description": { + "type": "string", + "example": "A description for an example collection" + }, + "name": { + "type": "string", + "example": "Example Collection" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + } + } + }, + "AddRole": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + }, + "ArunaDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description", + "apiUrl", + "projectId", + "apiToken", + "filterLabel" + ], + "properties": { + "apiToken": { + "type": "string" + }, + "apiUrl": { + "type": "string" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "filterLabel": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "projectId": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "Aruna" + ] + } + } + }, + "AuthCodeRequestURL": { + "type": "object", + "required": [ + "url" + ], + "properties": { + "url": { + "type": "string", + "format": "uri" + } + } + }, + "AuthCodeResponse": { + "type": "object", + "required": [ + "sessionState", + "code", + "state" + ], + "properties": { + "code": { + "type": "string" + }, + "sessionState": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "AutoCreateDataset": { + "type": "object", + "required": [ + "upload", + "datasetName", + "datasetDescription", + "mainFile" + ], + "properties": { + "datasetDescription": { + "type": "string" + }, + "datasetName": { + "type": "string" + }, + "layerName": { + "type": [ + "string", + "null" + ] + }, + "mainFile": { + "type": "string" + }, + "tags": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "upload": { + "$ref": "#/components/schemas/UploadId" + } + }, + "example": { + "upload": "420b06de-0a7e-45cb-9c1c-ea901b46ab69", + "datasetName": "Germany Border (auto)", + "datasetDescription": "The Outline of Germany (auto detected format)", + "mainFile": "germany_polygon.gpkg", + "tags": [ + "area" + ] + } + }, + "AxisOrder": { + "type": "string", + "enum": [ + "northEast", + "eastNorth" + ] + }, + "BandSelection": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0 + } + }, + "BoundingBox2D": { + "type": "object", + "description": "A bounding box that includes all border points.\nNote: may degenerate to a point!", + "required": [ + "lowerLeftCoordinate", + "upperRightCoordinate" + ], + "properties": { + "lowerLeftCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "upperRightCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + }, + "Breakpoint": { + "type": "object", + "required": [ + "value", + "color" + ], + "properties": { + "color": { + "$ref": "#/components/schemas/RgbaColor" + }, + "value": { + "type": "number" + } + } + }, + "CacheTtlSeconds": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "ClassificationMeasurement": { + "type": "object", + "required": [ + "type", + "measurement", + "classes" + ], + "properties": { + "classes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + }, + "measurement": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "classification" + ] + } + } + }, + "CollectionItem": { + "oneOf": [ + { + "$ref": "#/components/schemas/LayerCollectionListing" + }, + { + "$ref": "#/components/schemas/LayerListing" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "collection": "#/components/schemas/LayerCollectionListing", + "layer": "#/components/schemas/LayerListing" + } + } + }, + "CollectionType": { + "type": "string", + "enum": [ + "FeatureCollection" + ] + }, + "ColorParam": { + "oneOf": [ + { + "$ref": "#/components/schemas/StaticColor" + }, + { + "$ref": "#/components/schemas/DerivedColor" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "derived": "#/components/schemas/DerivedColor", + "static": "#/components/schemas/StaticColor" + } + } + }, + "Colorizer": { + "oneOf": [ + { + "$ref": "#/components/schemas/LinearGradient" + }, + { + "$ref": "#/components/schemas/LogarithmicGradient" + }, + { + "$ref": "#/components/schemas/PaletteColorizer" + } + ], + "description": "A colorizer specifies a mapping between raster values and an output image\nThere are different variants that perform different kinds of mapping.", + "discriminator": { + "propertyName": "type", + "mapping": { + "linearGradient": "#/components/schemas/LinearGradient", + "logarithmicGradient": "#/components/schemas/LogarithmicGradient", + "palette": "#/components/schemas/PaletteColorizer" + } + } + }, + "ComputationQuota": { + "type": "object", + "required": [ + "timestamp", + "computationId", + "workflowId", + "count" + ], + "properties": { + "computationId": { + "type": "string", + "format": "uuid" + }, + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "workflowId": { + "type": "string", + "format": "uuid" + } + } + }, + "ContinuousMeasurement": { + "type": "object", + "required": [ + "type", + "measurement" + ], + "properties": { + "measurement": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "continuous" + ] + }, + "unit": { + "type": [ + "string", + "null" + ] + } + } + }, + "Coordinate2D": { + "type": "object", + "required": [ + "x", + "y" + ], + "properties": { + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + } + } + }, + "CopernicusDataspaceDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "id", + "stacUrl", + "s3Url", + "s3AccessKey", + "s3SecretKey", + "gdalConfig" + ], + "properties": { + "description": { + "type": "string" + }, + "gdalConfig": { + "type": "array", + "items": { + "$ref": "#/components/schemas/StringPair" + } + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "s3AccessKey": { + "type": "string" + }, + "s3SecretKey": { + "type": "string" + }, + "s3Url": { + "type": "string" + }, + "stacUrl": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "CopernicusDataspace" + ] + } + } + }, + "CreateDataset": { + "type": "object", + "required": [ + "dataPath", + "definition" + ], + "properties": { + "dataPath": { + "$ref": "#/components/schemas/DataPath" + }, + "definition": { + "$ref": "#/components/schemas/DatasetDefinition" + } + } + }, + "CreateProject": { + "type": "object", + "required": [ + "name", + "description", + "bounds" + ], + "properties": { + "bounds": { + "$ref": "#/components/schemas/STRectangle" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "timeStep": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeStep" + } + ] + } + }, + "example": { + "name": "Test", + "description": "Foo", + "bounds": { + "spatialReference": "EPSG:4326", + "boundingBox": { + "lowerLeftCoordinate": { + "x": 0, + "y": 0 + }, + "upperRightCoordinate": { + "x": 1, + "y": 1 + } + }, + "timeInterval": { + "start": 0, + "end": 1 + } + }, + "timeStep": { + "step": 1, + "granularity": "months" + } + } + }, + "CsvHeader": { + "type": "string", + "enum": [ + "yes", + "no", + "auto" + ] + }, + "DataId": { + "oneOf": [ + { + "$ref": "#/components/schemas/InternalDataId" + }, + { + "$ref": "#/components/schemas/ExternalDataId" + } + ], + "description": "The identifier for loadable data. It is used in the source operators to get the loading info (aka parametrization)\nfor accessing the data. Internal data is loaded from datasets, external from `DataProvider`s.", + "discriminator": { + "propertyName": "type", + "mapping": { + "external": "#/components/schemas/ExternalDataId", + "internal": "#/components/schemas/InternalDataId" + } + } + }, + "DataPath": { + "oneOf": [ + { + "type": "object", + "required": [ + "volume" + ], + "properties": { + "volume": { + "$ref": "#/components/schemas/VolumeName" + } + } + }, + { + "type": "object", + "required": [ + "upload" + ], + "properties": { + "upload": { + "$ref": "#/components/schemas/UploadId" + } + } + } + ] + }, + "DataProviderId": { + "type": "string", + "format": "uuid" + }, + "DataProviderResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "type": { + "type": "string", + "enum": [ + "provider" + ] + } + } + }, + "DataUsage": { + "type": "object", + "required": [ + "timestamp", + "userId", + "computationId", + "data", + "count" + ], + "properties": { + "computationId": { + "type": "string", + "format": "uuid" + }, + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "data": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "userId": { + "type": "string", + "format": "uuid" + } + } + }, + "DataUsageSummary": { + "type": "object", + "required": [ + "timestamp", + "data", + "count" + ], + "properties": { + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "data": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + } + }, + "DatabaseConnectionConfig": { + "type": "object", + "required": [ + "host", + "port", + "database", + "schema", + "user", + "password" + ], + "properties": { + "database": { + "type": "string" + }, + "host": { + "type": "string" + }, + "password": { + "type": "string" + }, + "port": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "schema": { + "type": "string" + }, + "user": { + "type": "string" + } + } + }, + "Dataset": { + "type": "object", + "required": [ + "id", + "name", + "displayName", + "description", + "resultDescriptor", + "sourceOperator" + ], + "properties": { + "dataPath": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DataPath" + } + ] + }, + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DatasetId" + }, + "name": { + "$ref": "#/components/schemas/DatasetName" + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + }, + "resultDescriptor": { + "$ref": "#/components/schemas/TypedResultDescriptor" + }, + "sourceOperator": { + "type": "string" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "tags": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + } + }, + "DatasetDefinition": { + "type": "object", + "required": [ + "properties", + "metaData" + ], + "properties": { + "metaData": { + "$ref": "#/components/schemas/MetaDataDefinition" + }, + "properties": { + "$ref": "#/components/schemas/AddDataset" + } + } + }, + "DatasetId": { + "type": "string", + "format": "uuid" + }, + "DatasetLayerListingCollection": { + "type": "object", + "required": [ + "name", + "description", + "tags" + ], + "properties": { + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetLayerListingProviderDefinition": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description", + "collections" + ], + "properties": { + "collections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DatasetLayerListingCollection" + } + }, + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "DatasetLayerListing" + ] + } + } + }, + "DatasetListing": { + "type": "object", + "required": [ + "id", + "name", + "displayName", + "description", + "tags", + "sourceOperator", + "resultDescriptor" + ], + "properties": { + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/DatasetId" + }, + "name": { + "$ref": "#/components/schemas/DatasetName" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/TypedResultDescriptor" + }, + "sourceOperator": { + "type": "string" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DatasetName": { + "type": "string", + "examples": [ + "ns:name" + ] + }, + "DatasetNameResponse": { + "type": "object", + "title": "Dataset Name Response", + "required": [ + "datasetName" + ], + "properties": { + "datasetName": { + "$ref": "#/components/schemas/DatasetName" + } + } + }, + "DatasetResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/DatasetName" + }, + "type": { + "type": "string", + "enum": [ + "dataset" + ] + } + } + }, + "DateTimeParseFormat": { + "type": "string" + }, + "DateTimeString": { + "type": "string" + }, + "DerivedColor": { + "type": "object", + "required": [ + "type", + "attribute", + "colorizer" + ], + "properties": { + "attribute": { + "type": "string" + }, + "colorizer": { + "$ref": "#/components/schemas/Colorizer" + }, + "type": { + "type": "string", + "enum": [ + "derived" + ] + } + } + }, + "DerivedNumber": { + "type": "object", + "required": [ + "type", + "attribute", + "factor", + "defaultValue" + ], + "properties": { + "attribute": { + "type": "string" + }, + "defaultValue": { + "type": "number", + "format": "double" + }, + "factor": { + "type": "number", + "format": "double" + }, + "type": { + "type": "string", + "enum": [ + "derived" + ] + } + } + }, + "EbvPortalDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "baseUrl", + "data", + "overviews" + ], + "properties": { + "baseUrl": { + "type": "string", + "format": "uri" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "data": { + "type": "string", + "description": "Path were the `NetCDF` data can be found" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "overviews": { + "type": "string", + "description": "Path were overview files are stored" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "EbvPortal" + ] + } + } + }, + "EdrDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "id", + "baseUrl" + ], + "properties": { + "baseUrl": { + "type": "string", + "format": "uri" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "discreteVrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of vertical reference systems with a discrete scale" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + }, + "type": { + "type": "string", + "enum": [ + "Edr" + ] + }, + "vectorSpec": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/EdrVectorSpec" + } + ] + } + } + }, + "EdrVectorSpec": { + "type": "object", + "required": [ + "x", + "time" + ], + "properties": { + "time": { + "type": "string" + }, + "x": { + "type": "string" + }, + "y": { + "type": [ + "string", + "null" + ] + } + } + }, + "ErrorResponse": { + "type": "object", + "required": [ + "error", + "message" + ], + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ExternalDataId": { + "type": "object", + "required": [ + "type", + "providerId", + "layerId" + ], + "properties": { + "layerId": { + "$ref": "#/components/schemas/LayerId" + }, + "providerId": { + "$ref": "#/components/schemas/DataProviderId" + }, + "type": { + "type": "string", + "enum": [ + "external" + ] + } + } + }, + "FeatureDataType": { + "type": "string", + "enum": [ + "category", + "int", + "float", + "text", + "bool", + "dateTime" + ] + }, + "FileNotFoundHandling": { + "type": "string", + "enum": [ + "NoData", + "Error" + ] + }, + "FormatSpecifics": { + "oneOf": [ + { + "type": "object", + "required": [ + "csv" + ], + "properties": { + "csv": { + "type": "object", + "required": [ + "header" + ], + "properties": { + "header": { + "$ref": "#/components/schemas/CsvHeader" + } + } + } + } + } + ] + }, + "GbifDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "dbConfig", + "autocompleteTimeout", + "columns" + ], + "properties": { + "autocompleteTimeout": { + "type": "integer", + "format": "int32" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "columns": { + "type": "array", + "items": { + "type": "string" + } + }, + "dbConfig": { + "$ref": "#/components/schemas/DatabaseConnectionConfig" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "Gbif" + ] + } + } + }, + "GdalDatasetGeoTransform": { + "type": "object", + "required": [ + "originCoordinate", + "xPixelSize", + "yPixelSize" + ], + "properties": { + "originCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "xPixelSize": { + "type": "number", + "format": "double" + }, + "yPixelSize": { + "type": "number", + "format": "double" + } + } + }, + "GdalDatasetParameters": { + "type": "object", + "description": "Parameters for loading data using Gdal", + "required": [ + "filePath", + "rasterbandChannel", + "geoTransform", + "width", + "height", + "fileNotFoundHandling" + ], + "properties": { + "allowAlphabandAsMask": { + "type": "boolean" + }, + "fileNotFoundHandling": { + "$ref": "#/components/schemas/FileNotFoundHandling" + }, + "filePath": { + "type": "string" + }, + "gdalConfigOptions": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/StringPair" + } + }, + "gdalOpenOptions": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "geoTransform": { + "$ref": "#/components/schemas/GdalDatasetGeoTransform" + }, + "height": { + "type": "integer", + "minimum": 0 + }, + "noDataValue": { + "type": [ + "number", + "null" + ], + "format": "double" + }, + "propertiesMapping": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/GdalMetadataMapping" + } + }, + "rasterbandChannel": { + "type": "integer", + "minimum": 0 + }, + "width": { + "type": "integer", + "minimum": 0 + } + } + }, + "GdalLoadingInfoTemporalSlice": { + "type": "object", + "description": "one temporal slice of the dataset that requires reading from exactly one Gdal dataset", + "required": [ + "time" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "params": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/GdalDatasetParameters" + } + ] + }, + "time": { + "$ref": "#/components/schemas/TimeInterval" + } + } + }, + "GdalMetaDataList": { + "type": "object", + "required": [ + "type", + "resultDescriptor", + "params" + ], + "properties": { + "params": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GdalLoadingInfoTemporalSlice" + } + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "GdalMetaDataList" + ] + } + } + }, + "GdalMetaDataRegular": { + "type": "object", + "required": [ + "type", + "resultDescriptor", + "params", + "timePlaceholders", + "dataTime", + "step" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "dataTime": { + "$ref": "#/components/schemas/TimeInterval" + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "step": { + "$ref": "#/components/schemas/TimeStep" + }, + "timePlaceholders": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/GdalSourceTimePlaceholder" + }, + "propertyNames": { + "type": "string" + } + }, + "type": { + "type": "string", + "enum": [ + "GdalMetaDataRegular" + ] + } + } + }, + "GdalMetaDataStatic": { + "type": "object", + "required": [ + "type", + "params", + "resultDescriptor" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "GdalStatic" + ] + } + } + }, + "GdalMetadataMapping": { + "type": "object", + "required": [ + "source_key", + "target_key", + "target_type" + ], + "properties": { + "source_key": { + "$ref": "#/components/schemas/RasterPropertiesKey" + }, + "target_key": { + "$ref": "#/components/schemas/RasterPropertiesKey" + }, + "target_type": { + "$ref": "#/components/schemas/RasterPropertiesEntryType" + } + } + }, + "GdalMetadataNetCdfCf": { + "type": "object", + "description": "Meta data for 4D `NetCDF` CF datasets", + "required": [ + "type", + "resultDescriptor", + "params", + "start", + "end", + "step", + "bandOffset" + ], + "properties": { + "bandOffset": { + "type": "integer", + "description": "A band offset specifies the first band index to use for the first point in time.\nAll other time steps are added to this offset.", + "minimum": 0 + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "end": { + "$ref": "#/components/schemas/TimeInstance", + "description": "We use the end to specify the last, non-inclusive valid time point.\nQueries behind this point return no data.\nTODO: Alternatively, we could think about using the number of possible time steps in the future." + }, + "params": { + "$ref": "#/components/schemas/GdalDatasetParameters" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "start": { + "$ref": "#/components/schemas/TimeInstance" + }, + "step": { + "$ref": "#/components/schemas/TimeStep" + }, + "type": { + "type": "string", + "enum": [ + "GdalMetaDataNetCdfCf" + ] + } + } + }, + "GdalMultiBand": { + "type": "object", + "required": [ + "type", + "resultDescriptor" + ], + "properties": { + "resultDescriptor": { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "GdalMultiBand" + ] + } + } + }, + "GdalSourceTimePlaceholder": { + "type": "object", + "required": [ + "format", + "reference" + ], + "properties": { + "format": { + "$ref": "#/components/schemas/DateTimeParseFormat" + }, + "reference": { + "$ref": "#/components/schemas/TimeReference" + } + } + }, + "GeoJson": { + "type": "object", + "required": [ + "type", + "features" + ], + "properties": { + "features": { + "type": "array", + "items": {} + }, + "type": { + "$ref": "#/components/schemas/CollectionType" + } + } + }, + "GeoTransform": { + "type": "object", + "required": [ + "originCoordinate", + "xPixelSize", + "yPixelSize" + ], + "properties": { + "originCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "xPixelSize": { + "type": "number", + "format": "double" + }, + "yPixelSize": { + "type": "number", + "format": "double" + } + } + }, + "GetCapabilitiesFormat": { + "type": "string", + "enum": [ + "text/xml" + ] + }, + "GetCoverageFormat": { + "type": "string", + "enum": [ + "image/tiff" + ] + }, + "GetFeatureRequest": { + "type": "string", + "enum": [ + "GetFeature" + ] + }, + "GetMapExceptionFormat": { + "type": "string", + "enum": [ + "XML", + "JSON" + ] + }, + "GetMapFormat": { + "type": "string", + "enum": [ + "image/png" + ] + }, + "GfbioAbcdDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "dbConfig" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "dbConfig": { + "$ref": "#/components/schemas/DatabaseConnectionConfig" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "GfbioAbcd" + ] + } + } + }, + "GfbioCollectionsDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "collectionApiUrl", + "collectionApiAuthToken", + "abcdDbConfig", + "pangaeaUrl" + ], + "properties": { + "abcdDbConfig": { + "$ref": "#/components/schemas/DatabaseConnectionConfig" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "collectionApiAuthToken": { + "type": "string" + }, + "collectionApiUrl": { + "type": "string", + "format": "uri" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "pangaeaUrl": { + "type": "string", + "format": "uri" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "GfbioCollections" + ] + } + } + }, + "GridBoundingBox2D": { + "type": "object", + "required": [ + "topLeftIdx", + "bottomRightIdx" + ], + "properties": { + "bottomRightIdx": { + "$ref": "#/components/schemas/GridIdx2D" + }, + "topLeftIdx": { + "$ref": "#/components/schemas/GridIdx2D" + } + } + }, + "GridIdx2D": { + "type": "object", + "required": [ + "yIdx", + "xIdx" + ], + "properties": { + "xIdx": { + "type": "integer" + }, + "yIdx": { + "type": "integer" + } + } + }, + "InternalDataId": { + "type": "object", + "required": [ + "type", + "datasetId" + ], + "properties": { + "datasetId": { + "$ref": "#/components/schemas/DatasetId" + }, + "type": { + "type": "string", + "enum": [ + "internal" + ] + } + } + }, + "Layer": { + "type": "object", + "required": [ + "id", + "name", + "description", + "workflow" + ], + "properties": { + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerId" + }, + "metadata": { + "type": "object", + "description": "metadata used for loading the data", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "workflow": { + "$ref": "#/components/schemas/Workflow" + } + } + }, + "LayerCollection": { + "type": "object", + "required": [ + "id", + "name", + "description", + "items", + "properties" + ], + "properties": { + "description": { + "type": "string" + }, + "entryLabel": { + "type": [ + "string", + "null" + ], + "description": "a common label for the collection's entries, if there is any" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerCollectionId" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CollectionItem" + } + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + } + } + }, + "LayerCollectionId": { + "type": "string" + }, + "LayerCollectionListing": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description" + ], + "properties": { + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerCollectionId" + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + }, + "type": { + "type": "string", + "enum": [ + "collection" + ] + } + } + }, + "LayerCollectionResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "type": { + "type": "string", + "enum": [ + "layerCollection" + ] + } + } + }, + "LayerId": { + "type": "string" + }, + "LayerListing": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description" + ], + "properties": { + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProviderLayerId" + }, + "name": { + "type": "string" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "type": { + "type": "string", + "enum": [ + "layer" + ] + } + } + }, + "LayerProviderListing": { + "type": "object", + "required": [ + "id", + "name", + "priority" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "integer", + "format": "int32" + } + } + }, + "LayerResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/LayerId" + }, + "type": { + "type": "string", + "enum": [ + "layer" + ] + } + } + }, + "LayerVisibility": { + "type": "object", + "required": [ + "data", + "legend" + ], + "properties": { + "data": { + "type": "boolean" + }, + "legend": { + "type": "boolean" + } + } + }, + "LineSymbology": { + "type": "object", + "required": [ + "type", + "stroke", + "autoSimplified" + ], + "properties": { + "autoSimplified": { + "type": "boolean" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + }, + "text": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TextSymbology" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "line" + ] + } + } + }, + "LinearGradient": { + "type": "object", + "required": [ + "type", + "breakpoints", + "noDataColor", + "overColor", + "underColor" + ], + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Breakpoint" + } + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "overColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "linearGradient" + ] + }, + "underColor": { + "$ref": "#/components/schemas/RgbaColor" + } + } + }, + "LogarithmicGradient": { + "type": "object", + "required": [ + "type", + "breakpoints", + "noDataColor", + "overColor", + "underColor" + ], + "properties": { + "breakpoints": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Breakpoint" + } + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "overColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "logarithmicGradient" + ] + }, + "underColor": { + "$ref": "#/components/schemas/RgbaColor" + } + } + }, + "Measurement": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnitlessMeasurement" + }, + { + "$ref": "#/components/schemas/ContinuousMeasurement" + }, + { + "$ref": "#/components/schemas/ClassificationMeasurement" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "classification": "#/components/schemas/ClassificationMeasurement", + "continuous": "#/components/schemas/ContinuousMeasurement", + "unitless": "#/components/schemas/UnitlessMeasurement" + } + } + }, + "MetaDataDefinition": { + "oneOf": [ + { + "$ref": "#/components/schemas/MockMetaData" + }, + { + "$ref": "#/components/schemas/OgrMetaData" + }, + { + "$ref": "#/components/schemas/GdalMetaDataRegular" + }, + { + "$ref": "#/components/schemas/GdalMetaDataStatic" + }, + { + "$ref": "#/components/schemas/GdalMetadataNetCdfCf" + }, + { + "$ref": "#/components/schemas/GdalMetaDataList" + }, + { + "$ref": "#/components/schemas/GdalMultiBand" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "GdalMetaDataList": "#/components/schemas/GdalMetaDataList", + "GdalMetaDataNetCdfCf": "#/components/schemas/GdalMetadataNetCdfCf", + "GdalMetaDataRegular": "#/components/schemas/GdalMetaDataRegular", + "GdalMultiBand": "#/components/schemas/GdalMultiBand", + "GdalStatic": "#/components/schemas/GdalMetaDataStatic", + "MockMetaData": "#/components/schemas/MockMetaData", + "OgrMetaData": "#/components/schemas/OgrMetaData" + } + } + }, + "MetaDataSuggestion": { + "type": "object", + "required": [ + "mainFile", + "layerName", + "metaData" + ], + "properties": { + "layerName": { + "type": "string" + }, + "mainFile": { + "type": "string" + }, + "metaData": { + "$ref": "#/components/schemas/MetaDataDefinition" + } + } + }, + "MlModel": { + "type": "object", + "required": [ + "name", + "displayName", + "description", + "upload", + "metadata", + "fileName" + ], + "properties": { + "description": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "metadata": { + "$ref": "#/components/schemas/MlModelMetadata" + }, + "name": { + "$ref": "#/components/schemas/MlModelName" + }, + "upload": { + "$ref": "#/components/schemas/UploadId" + } + } + }, + "MlModelId": { + "type": "string", + "format": "uuid" + }, + "MlModelInputNoDataHandling": { + "type": "object", + "required": [ + "variant" + ], + "properties": { + "noDataValue": { + "type": [ + "number", + "null" + ], + "format": "float" + }, + "variant": { + "$ref": "#/components/schemas/MlModelInputNoDataHandlingVariant" + } + } + }, + "MlModelInputNoDataHandlingVariant": { + "type": "string", + "enum": [ + "encodedNoData", + "skipIfNoData" + ] + }, + "MlModelMetadata": { + "type": "object", + "required": [ + "inputType", + "outputType", + "inputShape", + "outputShape", + "inputNoDataHandling", + "outputNoDataHandling" + ], + "properties": { + "inputNoDataHandling": { + "$ref": "#/components/schemas/MlModelInputNoDataHandling" + }, + "inputShape": { + "$ref": "#/components/schemas/MlTensorShape3D" + }, + "inputType": { + "$ref": "#/components/schemas/RasterDataType" + }, + "outputNoDataHandling": { + "$ref": "#/components/schemas/MlModelOutputNoDataHandling" + }, + "outputShape": { + "$ref": "#/components/schemas/MlTensorShape3D" + }, + "outputType": { + "$ref": "#/components/schemas/RasterDataType" + } + } + }, + "MlModelName": { + "type": "string" + }, + "MlModelNameResponse": { + "type": "object", + "required": [ + "mlModelName" + ], + "properties": { + "mlModelName": { + "$ref": "#/components/schemas/MlModelName" + } + } + }, + "MlModelOutputNoDataHandling": { + "type": "object", + "required": [ + "variant" + ], + "properties": { + "noDataValue": { + "type": [ + "number", + "null" + ], + "format": "float" + }, + "variant": { + "$ref": "#/components/schemas/MlModelOutputNoDataHandlingVariant" + } + } + }, + "MlModelOutputNoDataHandlingVariant": { + "type": "string", + "enum": [ + "encodedNoData", + "nanIsNoData" + ] + }, + "MlModelResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "mlModel" + ] + } + } + }, + "MlTensorShape3D": { + "type": "object", + "description": "A struct describing tensor shape for `MlModelMetadata`", + "required": [ + "y", + "x", + "bands" + ], + "properties": { + "bands": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "x": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "y": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "MockDatasetDataSourceLoadingInfo": { + "type": "object", + "required": [ + "points" + ], + "properties": { + "points": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + }, + "MockMetaData": { + "type": "object", + "required": [ + "type", + "loadingInfo", + "resultDescriptor" + ], + "properties": { + "loadingInfo": { + "$ref": "#/components/schemas/MockDatasetDataSourceLoadingInfo" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/VectorResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "MockMetaData" + ] + } + } + }, + "MultiBandRasterColorizer": { + "type": "object", + "required": [ + "type", + "redBand", + "redMin", + "redMax", + "greenBand", + "greenMin", + "greenMax", + "blueBand", + "blueMin", + "blueMax" + ], + "properties": { + "blueBand": { + "type": "integer", + "format": "int32", + "description": "The band index of the blue channel.", + "minimum": 0 + }, + "blueMax": { + "type": "number", + "format": "double", + "description": "The maximum value for the red channel." + }, + "blueMin": { + "type": "number", + "format": "double", + "description": "The minimum value for the red channel." + }, + "blueScale": { + "type": "number", + "format": "double", + "description": "A scaling factor for the blue channel between 0 and 1." + }, + "greenBand": { + "type": "integer", + "format": "int32", + "description": "The band index of the green channel.", + "minimum": 0 + }, + "greenMax": { + "type": "number", + "format": "double", + "description": "The maximum value for the red channel." + }, + "greenMin": { + "type": "number", + "format": "double", + "description": "The minimum value for the red channel." + }, + "greenScale": { + "type": "number", + "format": "double", + "description": "A scaling factor for the green channel between 0 and 1." + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor", + "description": "The color to use for no data values.\nIf not specified, the no data values will be transparent." + }, + "redBand": { + "type": "integer", + "format": "int32", + "description": "The band index of the red channel.", + "minimum": 0 + }, + "redMax": { + "type": "number", + "format": "double", + "description": "The maximum value for the red channel." + }, + "redMin": { + "type": "number", + "format": "double", + "description": "The minimum value for the red channel." + }, + "redScale": { + "type": "number", + "format": "double", + "description": "A scaling factor for the red channel between 0 and 1." + }, + "type": { + "type": "string", + "enum": [ + "multiBand" + ] + } + } + }, + "MultiLineString": { + "type": "object", + "required": [ + "coordinates" + ], + "properties": { + "coordinates": { + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + } + }, + "MultiPoint": { + "type": "object", + "required": [ + "coordinates" + ], + "properties": { + "coordinates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + }, + "MultiPolygon": { + "type": "object", + "required": [ + "polygons" + ], + "properties": { + "polygons": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + } + } + } + }, + "NamedData": { + "type": "string" + }, + "NetCdfCfDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "data", + "overviews" + ], + "properties": { + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "data": { + "type": "string", + "description": "Path were the `NetCDF` data can be found" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "overviews": { + "type": "string", + "description": "Path were overview files are stored" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "NetCdfCf" + ] + } + } + }, + "NoGeometry": { + "default": null + }, + "NumberParam": { + "oneOf": [ + { + "$ref": "#/components/schemas/StaticNumber" + }, + { + "$ref": "#/components/schemas/DerivedNumber" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "derived": "#/components/schemas/DerivedNumber", + "static": "#/components/schemas/StaticNumber" + } + } + }, + "OgcBoundingBox": { + "type": "string" + }, + "OgrMetaData": { + "type": "object", + "required": [ + "type", + "loadingInfo", + "resultDescriptor" + ], + "properties": { + "loadingInfo": { + "$ref": "#/components/schemas/OgrSourceDataset" + }, + "resultDescriptor": { + "$ref": "#/components/schemas/VectorResultDescriptor" + }, + "type": { + "type": "string", + "enum": [ + "OgrMetaData" + ] + } + } + }, + "OgrSourceColumnSpec": { + "type": "object", + "required": [ + "x" + ], + "properties": { + "bool": { + "type": "array", + "items": { + "type": "string" + } + }, + "datetime": { + "type": "array", + "items": { + "type": "string" + } + }, + "float": { + "type": "array", + "items": { + "type": "string" + } + }, + "formatSpecifics": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/FormatSpecifics" + } + ] + }, + "int": { + "type": "array", + "items": { + "type": "string" + } + }, + "rename": { + "type": [ + "object", + "null" + ], + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "text": { + "type": "array", + "items": { + "type": "string" + } + }, + "x": { + "type": "string" + }, + "y": { + "type": [ + "string", + "null" + ] + } + } + }, + "OgrSourceDataset": { + "type": "object", + "required": [ + "fileName", + "layerName", + "onError" + ], + "properties": { + "attributeQuery": { + "type": [ + "string", + "null" + ] + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "columns": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/OgrSourceColumnSpec" + } + ] + }, + "dataType": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/VectorDataType" + } + ] + }, + "defaultGeometry": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TypedGeometry" + } + ] + }, + "fileName": { + "type": "string" + }, + "forceOgrSpatialFilter": { + "type": "boolean" + }, + "forceOgrTimeFilter": { + "type": "boolean" + }, + "layerName": { + "type": "string" + }, + "onError": { + "$ref": "#/components/schemas/OgrSourceErrorSpec" + }, + "sqlQuery": { + "type": [ + "string", + "null" + ] + }, + "time": { + "$ref": "#/components/schemas/OgrSourceDatasetTimeType" + } + } + }, + "OgrSourceDatasetTimeType": { + "oneOf": [ + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeNone" + }, + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStart" + }, + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" + }, + { + "$ref": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "none": "#/components/schemas/OgrSourceDatasetTimeTypeNone", + "start": "#/components/schemas/OgrSourceDatasetTimeTypeStart", + "start+duration": "#/components/schemas/OgrSourceDatasetTimeTypeStartDuration", + "start+end": "#/components/schemas/OgrSourceDatasetTimeTypeStartEnd" + } + } + }, + "OgrSourceDatasetTimeTypeNone": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "none" + ] + } + } + }, + "OgrSourceDatasetTimeTypeStart": { + "type": "object", + "required": [ + "type", + "startField", + "startFormat", + "duration" + ], + "properties": { + "duration": { + "$ref": "#/components/schemas/OgrSourceDurationSpec" + }, + "startField": { + "type": "string" + }, + "startFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "type": { + "type": "string", + "enum": [ + "start" + ] + } + } + }, + "OgrSourceDatasetTimeTypeStartDuration": { + "type": "object", + "required": [ + "type", + "startField", + "startFormat", + "durationField" + ], + "properties": { + "durationField": { + "type": "string" + }, + "startField": { + "type": "string" + }, + "startFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "type": { + "type": "string", + "enum": [ + "start+duration" + ] + } + } + }, + "OgrSourceDatasetTimeTypeStartEnd": { + "type": "object", + "required": [ + "type", + "startField", + "startFormat", + "endField", + "endFormat" + ], + "properties": { + "endField": { + "type": "string" + }, + "endFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "startField": { + "type": "string" + }, + "startFormat": { + "$ref": "#/components/schemas/OgrSourceTimeFormat" + }, + "type": { + "type": "string", + "enum": [ + "start+end" + ] + } + } + }, + "OgrSourceDurationSpec": { + "oneOf": [ + { + "$ref": "#/components/schemas/OgrSourceDurationSpecInfinite" + }, + { + "$ref": "#/components/schemas/OgrSourceDurationSpecZero" + }, + { + "$ref": "#/components/schemas/OgrSourceDurationSpecValue" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "infinite": "#/components/schemas/OgrSourceDurationSpecInfinite", + "value": "#/components/schemas/OgrSourceDurationSpecValue", + "zero": "#/components/schemas/OgrSourceDurationSpecZero" + } + } + }, + "OgrSourceDurationSpecInfinite": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "infinite" + ] + } + } + }, + "OgrSourceDurationSpecValue": { + "allOf": [ + { + "$ref": "#/components/schemas/TimeStep" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "value" + ] + } + } + } + ] + }, + "OgrSourceDurationSpecZero": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "zero" + ] + } + } + }, + "OgrSourceErrorSpec": { + "type": "string", + "enum": [ + "ignore", + "abort" + ] + }, + "OgrSourceTimeFormat": { + "oneOf": [ + { + "$ref": "#/components/schemas/OgrSourceTimeFormatCustom" + }, + { + "$ref": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" + }, + { + "$ref": "#/components/schemas/OgrSourceTimeFormatAuto" + } + ], + "discriminator": { + "propertyName": "format", + "mapping": { + "auto": "#/components/schemas/OgrSourceTimeFormatAuto", + "custom": "#/components/schemas/OgrSourceTimeFormatCustom", + "unixTimeStamp": "#/components/schemas/OgrSourceTimeFormatUnixTimeStamp" + } + } + }, + "OgrSourceTimeFormatAuto": { + "type": "object", + "required": [ + "format" + ], + "properties": { + "format": { + "type": "string", + "enum": [ + "auto" + ] + } + } + }, + "OgrSourceTimeFormatCustom": { + "type": "object", + "required": [ + "format", + "customFormat" + ], + "properties": { + "customFormat": { + "$ref": "#/components/schemas/DateTimeParseFormat" + }, + "format": { + "type": "string", + "enum": [ + "custom" + ] + } + } + }, + "OgrSourceTimeFormatUnixTimeStamp": { + "type": "object", + "required": [ + "format", + "timestampType" + ], + "properties": { + "format": { + "type": "string", + "enum": [ + "unixTimeStamp" + ] + }, + "timestampType": { + "$ref": "#/components/schemas/UnixTimeStampType" + } + } + }, + "OperatorQuota": { + "type": "object", + "required": [ + "operatorName", + "operatorPath", + "count" + ], + "properties": { + "count": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "operatorName": { + "type": "string" + }, + "operatorPath": { + "type": "string" + } + } + }, + "OrderBy": { + "type": "string", + "enum": [ + "NameAsc", + "NameDesc" + ] + }, + "Palette": { + "type": "object", + "description": "A map from value to color\n\nIt is assumed that is has at least one and at most 256 entries.", + "additionalProperties": { + "$ref": "#/components/schemas/RgbaColor" + }, + "propertyNames": { + "type": "number", + "format": "double" + } + }, + "PaletteColorizer": { + "type": "object", + "required": [ + "type", + "colors", + "noDataColor", + "defaultColor" + ], + "properties": { + "colors": { + "$ref": "#/components/schemas/Palette" + }, + "defaultColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "noDataColor": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "palette" + ] + } + } + }, + "PangaeaDataProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "description", + "baseUrl", + "cacheTtl" + ], + "properties": { + "baseUrl": { + "type": "string", + "format": "uri" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "type": { + "type": "string", + "enum": [ + "Pangaea" + ] + } + } + }, + "Permission": { + "type": "string", + "enum": [ + "Read", + "Owner" + ] + }, + "PermissionListOptions": { + "type": "object", + "required": [ + "limit", + "offset" + ], + "properties": { + "limit": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "offset": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "PermissionListing": { + "type": "object", + "required": [ + "resource", + "role", + "permission" + ], + "properties": { + "permission": { + "$ref": "#/components/schemas/Permission" + }, + "resource": { + "$ref": "#/components/schemas/Resource" + }, + "role": { + "$ref": "#/components/schemas/Role" + } + } + }, + "PermissionRequest": { + "type": "object", + "description": "Request for adding a new permission to the given role on the given resource", + "required": [ + "resource", + "roleId", + "permission" + ], + "properties": { + "permission": { + "$ref": "#/components/schemas/Permission" + }, + "resource": { + "$ref": "#/components/schemas/Resource" + }, + "roleId": { + "$ref": "#/components/schemas/RoleId" + } + } + }, + "Plot": { + "type": "object", + "required": [ + "workflow", + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "workflow": { + "$ref": "#/components/schemas/WorkflowId" + } + } + }, + "PlotOutputFormat": { + "type": "string", + "enum": [ + "JsonPlain", + "JsonVega", + "ImagePng" + ] + }, + "PlotResultDescriptor": { + "type": "object", + "description": "A `ResultDescriptor` for plot queries", + "required": [ + "spatialReference" + ], + "properties": { + "bbox": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/BoundingBox2D" + } + ] + }, + "spatialReference": { + "type": "string" + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + } + } + }, + "PointSymbology": { + "type": "object", + "required": [ + "type", + "radius", + "fillColor", + "stroke" + ], + "properties": { + "fillColor": { + "$ref": "#/components/schemas/ColorParam" + }, + "radius": { + "$ref": "#/components/schemas/NumberParam" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + }, + "text": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TextSymbology" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "point" + ] + } + } + }, + "PolygonSymbology": { + "type": "object", + "required": [ + "type", + "fillColor", + "stroke", + "autoSimplified" + ], + "properties": { + "autoSimplified": { + "type": "boolean" + }, + "fillColor": { + "$ref": "#/components/schemas/ColorParam" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + }, + "text": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TextSymbology" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "polygon" + ] + } + } + }, + "Project": { + "type": "object", + "required": [ + "id", + "version", + "name", + "description", + "layers", + "plots", + "bounds", + "timeStep" + ], + "properties": { + "bounds": { + "$ref": "#/components/schemas/STRectangle" + }, + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "layers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectLayer" + } + }, + "name": { + "type": "string" + }, + "plots": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Plot" + } + }, + "timeStep": { + "$ref": "#/components/schemas/TimeStep" + }, + "version": { + "$ref": "#/components/schemas/ProjectVersion" + } + } + }, + "ProjectId": { + "type": "string", + "format": "uuid" + }, + "ProjectLayer": { + "type": "object", + "required": [ + "workflow", + "name", + "visibility", + "symbology" + ], + "properties": { + "name": { + "type": "string" + }, + "symbology": { + "$ref": "#/components/schemas/Symbology" + }, + "visibility": { + "$ref": "#/components/schemas/LayerVisibility" + }, + "workflow": { + "$ref": "#/components/schemas/WorkflowId" + } + } + }, + "ProjectListing": { + "type": "object", + "required": [ + "id", + "name", + "description", + "layerNames", + "plotNames", + "changed" + ], + "properties": { + "changed": { + "type": "string", + "format": "date-time" + }, + "description": { + "type": "string" + }, + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "layerNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string" + }, + "plotNames": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ProjectResource": { + "type": "object", + "required": [ + "type", + "id" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "type": { + "type": "string", + "enum": [ + "project" + ] + } + } + }, + "ProjectUpdateToken": { + "type": "string", + "enum": [ + "none", + "delete" + ] + }, + "ProjectVersion": { + "type": "object", + "required": [ + "id", + "changed" + ], + "properties": { + "changed": { + "type": "string", + "format": "date-time" + }, + "id": { + "$ref": "#/components/schemas/ProjectVersionId" + } + } + }, + "ProjectVersionId": { + "type": "string", + "format": "uuid" + }, + "Property": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 2, + "minItems": 2 + }, + "Provenance": { + "type": "object", + "required": [ + "citation", + "license", + "uri" + ], + "properties": { + "citation": { + "type": "string" + }, + "license": { + "type": "string" + }, + "uri": { + "type": "string" + } + } + }, + "ProvenanceEntry": { + "type": "object", + "required": [ + "provenance", + "data" + ], + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DataId" + } + }, + "provenance": { + "$ref": "#/components/schemas/Provenance" + } + } + }, + "ProvenanceOutput": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "$ref": "#/components/schemas/DataId" + }, + "provenance": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/Provenance" + } + } + } + }, + "Provenances": { + "type": "object", + "required": [ + "provenances" + ], + "properties": { + "provenances": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Provenance" + } + } + } + }, + "ProviderCapabilities": { + "type": "object", + "required": [ + "listing", + "search" + ], + "properties": { + "listing": { + "type": "boolean" + }, + "search": { + "$ref": "#/components/schemas/SearchCapabilities" + } + } + }, + "ProviderLayerCollectionId": { + "type": "object", + "required": [ + "providerId", + "collectionId" + ], + "properties": { + "collectionId": { + "$ref": "#/components/schemas/LayerCollectionId" + }, + "providerId": { + "$ref": "#/components/schemas/DataProviderId" + } + } + }, + "ProviderLayerId": { + "type": "object", + "required": [ + "providerId", + "layerId" + ], + "properties": { + "layerId": { + "$ref": "#/components/schemas/LayerId" + }, + "providerId": { + "$ref": "#/components/schemas/DataProviderId" + } + } + }, + "Quota": { + "type": "object", + "required": [ + "available", + "used" + ], + "properties": { + "available": { + "type": "integer", + "format": "int64" + }, + "used": { + "type": "integer", + "format": "int64", + "minimum": 0 + } + } + }, + "RasterBandDescriptor": { + "type": "object", + "required": [ + "name", + "measurement" + ], + "properties": { + "measurement": { + "$ref": "#/components/schemas/Measurement" + }, + "name": { + "type": "string" + } + } + }, + "RasterBandDescriptors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RasterBandDescriptor" + } + }, + "RasterColorizer": { + "oneOf": [ + { + "$ref": "#/components/schemas/SingleBandRasterColorizer" + }, + { + "$ref": "#/components/schemas/MultiBandRasterColorizer" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "multiBand": "#/components/schemas/MultiBandRasterColorizer", + "singleBand": "#/components/schemas/SingleBandRasterColorizer" + } + } + }, + "RasterDataType": { + "type": "string", + "enum": [ + "U8", + "U16", + "U32", + "U64", + "I8", + "I16", + "I32", + "I64", + "F32", + "F64" + ] + }, + "RasterDatasetFromWorkflow": { + "type": "object", + "description": "parameter for the dataset from workflow handler (body)", + "required": [ + "displayName", + "query" + ], + "properties": { + "asCog": { + "type": "boolean", + "default": true + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "displayName": { + "type": "string" + }, + "name": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/DatasetName" + } + ] + }, + "query": { + "$ref": "#/components/schemas/RasterToDatasetQueryRectangle" + } + }, + "example": { + "name": "foo", + "displayName": "a new dataset", + "description": null, + "query": { + "spatialBounds": { + "upperLeftCoordinate": { + "x": -10.0, + "y": 80.0 + }, + "lowerRightCoordinate": { + "x": 50.0, + "y": 20.0 + } + }, + "timeInterval": { + "start": 1388534400000, + "end": 1388534401000 + } + } + } + }, + "RasterDatasetFromWorkflowResult": { + "type": "object", + "description": "response of the dataset from workflow handler", + "required": [ + "dataset", + "upload" + ], + "properties": { + "dataset": { + "$ref": "#/components/schemas/DatasetName" + }, + "upload": { + "$ref": "#/components/schemas/UploadId" + } + } + }, + "RasterPropertiesEntryType": { + "type": "string", + "enum": [ + "Number", + "String" + ] + }, + "RasterPropertiesKey": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "domain": { + "type": [ + "string", + "null" + ] + }, + "key": { + "type": "string" + } + } + }, + "RasterResultDescriptor": { + "type": "object", + "description": "A `ResultDescriptor` for raster queries", + "required": [ + "dataType", + "spatialReference", + "time", + "spatialGrid", + "bands" + ], + "properties": { + "bands": { + "$ref": "#/components/schemas/RasterBandDescriptors" + }, + "dataType": { + "$ref": "#/components/schemas/RasterDataType" + }, + "spatialGrid": { + "$ref": "#/components/schemas/SpatialGridDescriptor" + }, + "spatialReference": { + "type": "string" + }, + "time": { + "$ref": "#/components/schemas/TimeDescriptor" + } + } + }, + "RasterStreamWebsocketResultType": { + "type": "string", + "description": "The stream result type for `raster_stream_websocket`.", + "enum": [ + "arrow" + ] + }, + "RasterSymbology": { + "type": "object", + "required": [ + "type", + "opacity", + "rasterColorizer" + ], + "properties": { + "opacity": { + "type": "number", + "format": "double" + }, + "rasterColorizer": { + "$ref": "#/components/schemas/RasterColorizer" + }, + "type": { + "type": "string", + "enum": [ + "raster" + ] + } + } + }, + "RasterToDatasetQueryRectangle": { + "type": "object", + "description": "A spatio-temporal rectangle with a specified resolution", + "required": [ + "spatialBounds", + "timeInterval" + ], + "properties": { + "spatialBounds": { + "$ref": "#/components/schemas/SpatialPartition2D" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeInterval" + } + } + }, + "RegularTimeDimension": { + "type": "object", + "required": [ + "origin", + "step" + ], + "properties": { + "origin": { + "$ref": "#/components/schemas/TimeInstance" + }, + "step": { + "$ref": "#/components/schemas/TimeStep" + } + } + }, + "Resource": { + "oneOf": [ + { + "$ref": "#/components/schemas/LayerResource" + }, + { + "$ref": "#/components/schemas/LayerCollectionResource" + }, + { + "$ref": "#/components/schemas/ProjectResource" + }, + { + "$ref": "#/components/schemas/DatasetResource" + }, + { + "$ref": "#/components/schemas/MlModelResource" + }, + { + "$ref": "#/components/schemas/DataProviderResource" + } + ], + "description": "A resource that is affected by a permission.", + "discriminator": { + "propertyName": "type", + "mapping": { + "dataset": "#/components/schemas/DatasetResource", + "layer": "#/components/schemas/LayerResource", + "layerCollection": "#/components/schemas/LayerCollectionResource", + "mlModel": "#/components/schemas/MlModelResource", + "project": "#/components/schemas/ProjectResource", + "provider": "#/components/schemas/DataProviderResource" + } + } + }, + "RgbaColor": { + "type": "array", + "items": { + "type": "integer" + }, + "maxItems": 4, + "minItems": 4 + }, + "Role": { + "type": "object", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "$ref": "#/components/schemas/RoleId" + }, + "name": { + "type": "string" + } + } + }, + "RoleDescription": { + "type": "object", + "required": [ + "role", + "individual" + ], + "properties": { + "individual": { + "type": "boolean" + }, + "role": { + "$ref": "#/components/schemas/Role" + } + } + }, + "RoleId": { + "type": "string", + "format": "uuid" + }, + "STRectangle": { + "type": "object", + "required": [ + "spatialReference", + "boundingBox", + "timeInterval" + ], + "properties": { + "boundingBox": { + "$ref": "#/components/schemas/BoundingBox2D" + }, + "spatialReference": { + "type": "string" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeInterval" + } + } + }, + "SearchCapabilities": { + "type": "object", + "required": [ + "searchTypes", + "autocomplete" + ], + "properties": { + "autocomplete": { + "type": "boolean" + }, + "filters": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "searchTypes": { + "$ref": "#/components/schemas/SearchTypes" + } + } + }, + "SearchType": { + "type": "string", + "enum": [ + "fulltext", + "prefix" + ] + }, + "SearchTypes": { + "type": "object", + "required": [ + "fulltext", + "prefix" + ], + "properties": { + "fulltext": { + "type": "boolean" + }, + "prefix": { + "type": "boolean" + } + } + }, + "Secret_String": { + "type": "string", + "description": "A wrapper type that serializes to \"*****\" and can be deserialized from any string.\nIf the inner value is \"*****\", it is considered unknown and `as_option` returns `None`.\nThis is useful for secrets that should not be exposed in API responses, but can be set in API requests." + }, + "SentinelS2L2ACogsProviderDefinition": { + "type": "object", + "required": [ + "type", + "name", + "id", + "description", + "apiUrl" + ], + "properties": { + "apiUrl": { + "type": "string" + }, + "cacheTtl": { + "$ref": "#/components/schemas/CacheTtlSeconds" + }, + "description": { + "type": "string" + }, + "gdalRetries": { + "type": "integer", + "minimum": 0 + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "queryBuffer": { + "$ref": "#/components/schemas/StacQueryBuffer" + }, + "stacApiRetries": { + "$ref": "#/components/schemas/StacApiRetries" + }, + "type": { + "type": "string", + "enum": [ + "SentinelS2L2ACogs" + ] + } + } + }, + "ServerInfo": { + "type": "object", + "required": [ + "buildDate", + "commitHash", + "version", + "features" + ], + "properties": { + "buildDate": { + "type": "string" + }, + "commitHash": { + "type": "string" + }, + "features": { + "type": "string" + }, + "version": { + "type": "string" + } + } + }, + "SessionId": { + "type": "string", + "format": "uuid" + }, + "SingleBandRasterColorizer": { + "type": "object", + "required": [ + "type", + "band", + "bandColorizer" + ], + "properties": { + "band": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "bandColorizer": { + "$ref": "#/components/schemas/Colorizer" + }, + "type": { + "type": "string", + "enum": [ + "singleBand" + ] + } + } + }, + "SpatialGridDefinition": { + "type": "object", + "required": [ + "geoTransform", + "gridBounds" + ], + "properties": { + "geoTransform": { + "$ref": "#/components/schemas/GeoTransform" + }, + "gridBounds": { + "$ref": "#/components/schemas/GridBoundingBox2D" + } + } + }, + "SpatialGridDescriptor": { + "type": "object", + "required": [ + "spatialGrid", + "descriptor" + ], + "properties": { + "descriptor": { + "$ref": "#/components/schemas/SpatialGridDescriptorState" + }, + "spatialGrid": { + "$ref": "#/components/schemas/SpatialGridDefinition" + } + } + }, + "SpatialGridDescriptorState": { + "type": "string", + "enum": [ + "source", + "derived" + ] + }, + "SpatialPartition2D": { + "type": "object", + "description": "A partition of space that include the upper left but excludes the lower right coordinate", + "required": [ + "upperLeftCoordinate", + "lowerRightCoordinate" + ], + "properties": { + "lowerRightCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + }, + "upperLeftCoordinate": { + "$ref": "#/components/schemas/Coordinate2D" + } + } + }, + "SpatialReferenceAuthority": { + "type": "string", + "description": "A spatial reference authority that is part of a spatial reference definition", + "enum": [ + "EPSG", + "SR-ORG", + "IAU2000", + "ESRI" + ] + }, + "SpatialReferenceSpecification": { + "type": "object", + "description": "The specification of a spatial reference, where extent and axis labels are given\nin natural order (x, y) = (east, north)", + "required": [ + "name", + "spatialReference", + "projString", + "extent" + ], + "properties": { + "axisLabels": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/StringPair" + } + ] + }, + "axisOrder": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/AxisOrder" + } + ] + }, + "extent": { + "$ref": "#/components/schemas/BoundingBox2D" + }, + "name": { + "type": "string" + }, + "projString": { + "type": "string" + }, + "spatialReference": { + "type": "string" + } + } + }, + "SpatialResolution": { + "type": "object", + "description": "The spatial resolution in SRS units", + "required": [ + "x", + "y" + ], + "properties": { + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + } + } + }, + "StacApiRetries": { + "type": "object", + "required": [ + "numberOfRetries", + "initialDelayMs", + "exponentialBackoffFactor" + ], + "properties": { + "exponentialBackoffFactor": { + "type": "number", + "format": "double" + }, + "initialDelayMs": { + "type": "integer", + "format": "int64", + "minimum": 0 + }, + "numberOfRetries": { + "type": "integer", + "minimum": 0 + } + } + }, + "StacQueryBuffer": { + "type": "object", + "description": "A struct that represents buffers to apply to stac requests", + "required": [ + "startSeconds", + "endSeconds" + ], + "properties": { + "endSeconds": { + "type": "integer", + "format": "int64" + }, + "startSeconds": { + "type": "integer", + "format": "int64" + } + } + }, + "StaticColor": { + "type": "object", + "required": [ + "type", + "color" + ], + "properties": { + "color": { + "$ref": "#/components/schemas/RgbaColor" + }, + "type": { + "type": "string", + "enum": [ + "static" + ] + } + } + }, + "StaticNumber": { + "type": "object", + "required": [ + "type", + "value" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "static" + ] + }, + "value": { + "type": "integer", + "minimum": 0 + } + } + }, + "StringPair": { + "type": "array", + "items": { + "type": "string" + }, + "maxItems": 2, + "minItems": 2 + }, + "StrokeParam": { + "type": "object", + "required": [ + "width", + "color" + ], + "properties": { + "color": { + "$ref": "#/components/schemas/ColorParam" + }, + "width": { + "$ref": "#/components/schemas/NumberParam" + } + } + }, + "SuggestMetaData": { + "type": "object", + "required": [ + "dataPath" + ], + "properties": { + "dataPath": { + "$ref": "#/components/schemas/DataPath" + }, + "layerName": { + "type": [ + "string", + "null" + ] + }, + "mainFile": { + "type": [ + "string", + "null" + ] + } + } + }, + "Symbology": { + "oneOf": [ + { + "$ref": "#/components/schemas/RasterSymbology" + }, + { + "$ref": "#/components/schemas/PointSymbology" + }, + { + "$ref": "#/components/schemas/LineSymbology" + }, + { + "$ref": "#/components/schemas/PolygonSymbology" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "line": "#/components/schemas/LineSymbology", + "point": "#/components/schemas/PointSymbology", + "polygon": "#/components/schemas/PolygonSymbology", + "raster": "#/components/schemas/RasterSymbology" + } + } + }, + "TaskAbortOptions": { + "type": "object", + "properties": { + "force": { + "type": "boolean" + } + } + }, + "TaskFilter": { + "type": "string", + "enum": [ + "running", + "aborted", + "failed", + "completed" + ] + }, + "TaskId": { + "type": "string", + "format": "uuid" + }, + "TaskListOptions": { + "type": "object", + "properties": { + "filter": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TaskFilter" + } + ] + }, + "limit": { + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "offset": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "TaskResponse": { + "type": "object", + "description": "Create a task somewhere and respond with a task id to query the task status.", + "required": [ + "taskId" + ], + "properties": { + "taskId": { + "$ref": "#/components/schemas/TaskId" + } + } + }, + "TaskStatus": { + "oneOf": [ + { + "type": "object", + "title": "TaskStatusRunning", + "required": [ + "status", + "taskType", + "pctComplete", + "estimatedTimeRemaining", + "timeStarted" + ], + "properties": { + "description": { + "type": "string" + }, + "estimatedTimeRemaining": { + "type": "string" + }, + "info": {}, + "pctComplete": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "running" + ] + }, + "taskType": { + "type": "string" + }, + "timeStarted": { + "type": "string" + } + } + }, + { + "type": "object", + "title": "TaskStatusCompleted", + "required": [ + "status", + "taskType", + "timeTotal", + "timeStarted" + ], + "properties": { + "description": { + "type": "string" + }, + "info": {}, + "status": { + "type": "string", + "enum": [ + "completed" + ] + }, + "taskType": { + "type": "string" + }, + "timeStarted": { + "type": "string" + }, + "timeTotal": { + "type": "string" + } + } + }, + { + "type": "object", + "title": "TaskStatusAborted", + "required": [ + "status", + "cleanUp" + ], + "properties": { + "cleanUp": {}, + "status": { + "type": "string", + "enum": [ + "aborted" + ] + } + } + }, + { + "type": "object", + "title": "TaskStatusFailed", + "required": [ + "status", + "error", + "cleanUp" + ], + "properties": { + "cleanUp": {}, + "error": {}, + "status": { + "type": "string", + "enum": [ + "failed" + ] + } + } + } + ], + "discriminator": { + "propertyName": "status", + "mapping": { + "aborted": "TaskStatusAborted", + "completed": "TaskStatusCompleted", + "failed": "TaskStatusFailed", + "running": "TaskStatusRunning" + } + } + }, + "TaskStatusWithId": { + "allOf": [ + { + "$ref": "#/components/schemas/TaskStatus" + }, + { + "type": "object", + "required": [ + "taskId" + ], + "properties": { + "taskId": { + "$ref": "#/components/schemas/TaskId" + } + } + } + ] + }, + "TextSymbology": { + "type": "object", + "required": [ + "attribute", + "fillColor", + "stroke" + ], + "properties": { + "attribute": { + "type": "string" + }, + "fillColor": { + "$ref": "#/components/schemas/ColorParam" + }, + "stroke": { + "$ref": "#/components/schemas/StrokeParam" + } + } + }, + "TimeDescriptor": { + "type": "object", + "required": [ + "dimension" + ], + "properties": { + "bounds": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + }, + "dimension": { + "$ref": "#/components/schemas/TimeDimension" + } + } + }, + "TimeDimension": { + "oneOf": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/RegularTimeDimension" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "regular" + ] + } + } + } + ] + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "irregular" + ] + } + } + } + ] + }, + "TimeGranularity": { + "type": "string", + "description": "A time granularity.", + "enum": [ + "millis", + "seconds", + "minutes", + "hours", + "days", + "months", + "years" + ] + }, + "TimeInstance": { + "type": "integer", + "format": "int64" + }, + "TimeInterval": { + "type": "object", + "description": "Stores time intervals in ms in close-open semantic [start, end)", + "required": [ + "start", + "end" + ], + "properties": { + "end": { + "$ref": "#/components/schemas/TimeInstance" + }, + "start": { + "$ref": "#/components/schemas/TimeInstance" + } + } + }, + "TimeReference": { + "type": "string", + "enum": [ + "start", + "end" + ] + }, + "TimeStep": { + "type": "object", + "required": [ + "granularity", + "step" + ], + "properties": { + "granularity": { + "$ref": "#/components/schemas/TimeGranularity" + }, + "step": { + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "TypeNames": { + "type": "string" + }, + "TypedDataProviderDefinition": { + "oneOf": [ + { + "$ref": "#/components/schemas/ArunaDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/CopernicusDataspaceDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/DatasetLayerListingProviderDefinition" + }, + { + "$ref": "#/components/schemas/EbvPortalDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/EdrDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/GbifDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/GfbioAbcdDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/GfbioCollectionsDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/NetCdfCfDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/PangaeaDataProviderDefinition" + }, + { + "$ref": "#/components/schemas/SentinelS2L2ACogsProviderDefinition" + }, + { + "$ref": "#/components/schemas/WildliveDataConnectorDefinition" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "Aruna": "#/components/schemas/ArunaDataProviderDefinition", + "CopernicusDataspace": "#/components/schemas/CopernicusDataspaceDataProviderDefinition", + "DatasetLayerListing": "#/components/schemas/DatasetLayerListingProviderDefinition", + "EbvPortal": "#/components/schemas/EbvPortalDataProviderDefinition", + "Edr": "#/components/schemas/EdrDataProviderDefinition", + "Gbif": "#/components/schemas/GbifDataProviderDefinition", + "GfbioAbcd": "#/components/schemas/GfbioAbcdDataProviderDefinition", + "GfbioCollections": "#/components/schemas/GfbioCollectionsDataProviderDefinition", + "NetCdfCf": "#/components/schemas/NetCdfCfDataProviderDefinition", + "Pangaea": "#/components/schemas/PangaeaDataProviderDefinition", + "SentinelS2L2ACogs": "#/components/schemas/SentinelS2L2ACogsProviderDefinition", + "WildLIVE!": "#/components/schemas/WildliveDataConnectorDefinition" + } + } + }, + "TypedGeometry": { + "oneOf": [ + { + "type": "object", + "required": [ + "Data" + ], + "properties": { + "Data": { + "$ref": "#/components/schemas/NoGeometry" + } + } + }, + { + "type": "object", + "required": [ + "MultiPoint" + ], + "properties": { + "MultiPoint": { + "$ref": "#/components/schemas/MultiPoint" + } + } + }, + { + "type": "object", + "required": [ + "MultiLineString" + ], + "properties": { + "MultiLineString": { + "$ref": "#/components/schemas/MultiLineString" + } + } + }, + { + "type": "object", + "required": [ + "MultiPolygon" + ], + "properties": { + "MultiPolygon": { + "$ref": "#/components/schemas/MultiPolygon" + } + } + } + ] + }, + "TypedOperator": { + "type": "object", + "description": "An enum to differentiate between `Operator` variants", + "required": [ + "type", + "operator" + ], + "properties": { + "operator": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "params": { + "type": "object" + }, + "sources": { + "type": "object" + }, + "type": { + "type": "string" + } + } + }, + "type": { + "type": "string", + "enum": [ + "Vector", + "Raster", + "Plot" + ] + } + }, + "examples": [ + { + "type": "MockPointSource", + "params": { + "points": [ + { + "x": 0.0, + "y": 0.1 + }, + { + "x": 1.0, + "y": 1.1 + } + ] + } + } + ] + }, + "TypedPlotResultDescriptor": { + "allOf": [ + { + "$ref": "#/components/schemas/PlotResultDescriptor" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "plot" + ] + } + } + } + ] + }, + "TypedRasterResultDescriptor": { + "allOf": [ + { + "$ref": "#/components/schemas/RasterResultDescriptor" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "raster" + ] + } + } + } + ] + }, + "TypedResultDescriptor": { + "oneOf": [ + { + "$ref": "#/components/schemas/TypedPlotResultDescriptor" + }, + { + "$ref": "#/components/schemas/TypedRasterResultDescriptor" + }, + { + "$ref": "#/components/schemas/TypedVectorResultDescriptor" + } + ], + "discriminator": { + "propertyName": "type", + "mapping": { + "plot": "#/components/schemas/TypedPlotResultDescriptor", + "raster": "#/components/schemas/TypedRasterResultDescriptor", + "vector": "#/components/schemas/TypedVectorResultDescriptor" + } + } + }, + "TypedVectorResultDescriptor": { + "allOf": [ + { + "$ref": "#/components/schemas/VectorResultDescriptor" + }, + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "vector" + ] + } + } + } + ] + }, + "UnitlessMeasurement": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "unitless" + ] + } + } + }, + "UnixTimeStampType": { + "type": "string", + "enum": [ + "epochSeconds", + "epochMilliseconds" + ] + }, + "UpdateDataset": { + "type": "object", + "required": [ + "name", + "display_name", + "description", + "tags" + ], + "properties": { + "description": { + "type": "string" + }, + "display_name": { + "type": "string" + }, + "name": { + "$ref": "#/components/schemas/DatasetName" + }, + "tags": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UpdateLayer": { + "type": "object", + "required": [ + "name", + "description", + "workflow" + ], + "properties": { + "description": { + "type": "string", + "example": "Example layer description" + }, + "metadata": { + "type": "object", + "description": "metadata used for loading the data", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + } + }, + "name": { + "type": "string", + "example": "Example Layer" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + }, + "description": "properties, for instance, to be rendered in the UI" + }, + "symbology": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Symbology" + } + ] + }, + "workflow": { + "$ref": "#/components/schemas/Workflow" + } + } + }, + "UpdateLayerCollection": { + "type": "object", + "required": [ + "name", + "description" + ], + "properties": { + "description": { + "type": "string", + "example": "A description for an example collection" + }, + "name": { + "type": "string", + "example": "Example Collection" + }, + "properties": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Property" + } + } + } + }, + "UpdateProject": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "bounds": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/STRectangle" + } + ] + }, + "description": { + "type": [ + "string", + "null" + ] + }, + "id": { + "$ref": "#/components/schemas/ProjectId" + }, + "layers": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/VecUpdate" + } + }, + "name": { + "type": [ + "string", + "null" + ] + }, + "plots": { + "type": [ + "array", + "null" + ], + "items": { + "$ref": "#/components/schemas/VecUpdate" + } + }, + "timeStep": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeStep" + } + ] + } + }, + "example": { + "id": "df4ad02e-0d61-4e29-90eb-dc1259c1f5b9", + "name": "TestUpdate", + "layers": [ + { + "workflow": "100ee39c-761c-4218-9d85-ec861a8f3097", + "name": "L1", + "visibility": { + "data": true, + "legend": false + }, + "symbology": { + "type": "raster", + "opacity": 1.0, + "colorizer": { + "type": "linearGradient", + "breakpoints": [ + { + "value": 1.0, + "color": [ + 255, + 255, + 255, + 255 + ] + }, + { + "value": 2.0, + "color": [ + 0, + 0, + 0, + 255 + ] + } + ], + "noDataColor": [ + 0, + 0, + 0, + 0 + ], + "overColor": [ + 255, + 255, + 255, + 255 + ], + "underColor": [ + 0, + 0, + 0, + 255 + ] + } + } + } + ] + } + }, + "UpdateQuota": { + "type": "object", + "required": [ + "available" + ], + "properties": { + "available": { + "type": "integer", + "format": "int64" + } + } + }, + "UploadFileLayersResponse": { + "type": "object", + "required": [ + "layers" + ], + "properties": { + "layers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UploadFilesResponse": { + "type": "object", + "required": [ + "files" + ], + "properties": { + "files": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UploadId": { + "type": "string", + "format": "uuid" + }, + "UsageSummaryGranularity": { + "type": "string", + "enum": [ + "minutes", + "hours", + "days", + "months", + "years" + ] + }, + "UserCredentials": { + "type": "object", + "required": [ + "email", + "password" + ], + "properties": { + "email": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "example": { + "email": "foo@example.com", + "password": "secret123" + } + }, + "UserId": { + "type": "string", + "format": "uuid" + }, + "UserInfo": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "email": { + "type": [ + "string", + "null" + ] + }, + "id": { + "$ref": "#/components/schemas/UserId" + }, + "realName": { + "type": [ + "string", + "null" + ] + } + } + }, + "UserRegistration": { + "type": "object", + "required": [ + "email", + "password", + "realName" + ], + "properties": { + "email": { + "type": "string" + }, + "password": { + "type": "string" + }, + "realName": { + "type": "string" + } + }, + "example": { + "email": "foo@example.com", + "password": "secret123", + "realName": "Foo Bar" + } + }, + "UserSession": { + "type": "object", + "required": [ + "id", + "user", + "created", + "validUntil", + "roles" + ], + "properties": { + "created": { + "type": "string", + "format": "date-time" + }, + "id": { + "$ref": "#/components/schemas/SessionId" + }, + "project": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/ProjectId" + } + ] + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RoleId" + } + }, + "user": { + "$ref": "#/components/schemas/UserInfo" + }, + "validUntil": { + "type": "string", + "format": "date-time" + }, + "view": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/STRectangle" + } + ] + } + } + }, + "VecUpdate": { + "oneOf": [ + { + "$ref": "#/components/schemas/ProjectUpdateToken" + }, + { + "$ref": "#/components/schemas/Plot" + } + ] + }, + "VectorColumnInfo": { + "type": "object", + "required": [ + "dataType", + "measurement" + ], + "properties": { + "dataType": { + "$ref": "#/components/schemas/FeatureDataType" + }, + "measurement": { + "$ref": "#/components/schemas/Measurement" + } + } + }, + "VectorDataType": { + "type": "string", + "description": "An enum that contains all possible vector data types", + "enum": [ + "Data", + "MultiPoint", + "MultiLineString", + "MultiPolygon" + ] + }, + "VectorResultDescriptor": { + "type": "object", + "required": [ + "dataType", + "spatialReference", + "columns" + ], + "properties": { + "bbox": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/BoundingBox2D" + } + ] + }, + "columns": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/VectorColumnInfo" + }, + "propertyNames": { + "type": "string" + } + }, + "dataType": { + "$ref": "#/components/schemas/VectorDataType" + }, + "spatialReference": { + "type": "string" + }, + "time": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/TimeInterval" + } + ] + } + } + }, + "Volume": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "path": { + "type": [ + "string", + "null" + ] + } + } + }, + "VolumeFileLayersResponse": { + "type": "object", + "required": [ + "layers" + ], + "properties": { + "layers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "VolumeName": { + "type": "string" + }, + "WcsBoundingbox": { + "type": "object", + "required": [ + "bbox" + ], + "properties": { + "bbox": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "spatial_reference": { + "type": [ + "string", + "null" + ] + } + } + }, + "WcsRequest": { + "type": "string", + "enum": [ + "GetCapabilities", + "DescribeCoverage", + "GetCoverage" + ] + }, + "WcsService": { + "type": "string", + "enum": [ + "WCS" + ] + }, + "WcsVersion": { + "type": "string", + "enum": [ + "1.1.0", + "1.1.1" + ] + }, + "WfsRequest": { + "type": "string", + "enum": [ + "GetCapabilities", + "GetFeature" + ] + }, + "WfsService": { + "type": "string", + "enum": [ + "WFS" + ] + }, + "WfsVersion": { + "type": "string", + "enum": [ + "2.0.0" + ] + }, + "WildliveDataConnectorDefinition": { + "type": "object", + "required": [ + "type", + "id", + "name", + "description" + ], + "properties": { + "description": { + "type": "string" + }, + "expiryDate": { + "type": [ + "string", + "null" + ], + "format": "date-time" + }, + "id": { + "$ref": "#/components/schemas/DataProviderId" + }, + "name": { + "type": "string" + }, + "priority": { + "type": [ + "integer", + "null" + ], + "format": "int32" + }, + "refreshToken": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Secret_String" + } + ] + }, + "type": { + "type": "string", + "enum": [ + "WildLIVE!" + ] + }, + "user": { + "type": [ + "string", + "null" + ] + } + } + }, + "WmsRequest": { + "type": "string", + "enum": [ + "GetCapabilities", + "GetMap", + "GetFeatureInfo", + "GetStyles", + "GetLegendGraphic" + ] + }, + "WmsService": { + "type": "string", + "enum": [ + "WMS" + ] + }, + "WmsVersion": { + "type": "string", + "enum": [ + "1.3.0" + ] + }, + "Workflow": { + "allOf": [ + { + "$ref": "#/components/schemas/TypedOperator" + } + ] + }, + "WorkflowId": { + "type": "string", + "format": "uuid" + }, + "WrappedPlotOutput": { + "type": "object", + "required": [ + "outputFormat", + "plotType", + "data" + ], + "properties": { + "data": { + "type": "object" + }, + "outputFormat": { + "$ref": "#/components/schemas/PlotOutputFormat" + }, + "plotType": { + "type": "string" + } + } + } + }, + "responses": { + "BadRequestQueryResponse": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Missing field in query string": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: missing field `offset`" + } + }, + "Number in query string contains letters": { + "value": { + "error": "UnableToParseQueryString", + "message": "Unable to parse query string: invalid digit found in string" + } + } + } + } + } + }, + "IdResponse": { + "description": "Id of generated resource", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "IdResponse", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "format": "uuid" + } + } + }, + "example": { + "id": "36574dc3-560a-4b09-9d22-d5945f2b8093" + } + } + } + }, + "PayloadTooLargeResponse": { + "description": "Payload too large", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Known payload size": { + "value": { + "error": "Overflow", + "message": "JSON payload (XXX bytes) is larger than allowed (limit: 2097152 bytes)." + } + }, + "Unknown payload size": { + "value": { + "error": "Overflow", + "message": "JSON payload has exceeded limit (2097152 bytes)." + } + } + } + } + } + }, + "PngResponse": { + "description": "PNG Image", + "content": { + "image/png": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "UnauthorizedAdminResponse": { + "description": "Authorization failed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Auth token does not correspond to an admin": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Invalid admin token" + } + }, + "Authorization Header is missing": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Header with authorization token not provided." + } + }, + "Authorization Scheme other than Bearer is used": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Authentication scheme must be Bearer." + } + }, + "Provided auth token has an invalid format": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Identifier does not have the right format." + } + }, + "Session id is invalid": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: The session id is invalid." + } + } + } + } + } + }, + "UnauthorizedUserResponse": { + "description": "Authorization failed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "examples": { + "Authorization Header is missing": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Header with authorization token not provided." + } + }, + "Authorization Scheme other than Bearer is used": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Authentication scheme must be Bearer." + } + }, + "Provided auth token has an invalid format": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: Identifier does not have the right format." + } + }, + "Session id is invalid": { + "value": { + "error": "Unauthorized", + "message": "Authorization error: The session id is invalid." + } + } + } + } + } + }, + "UnsupportedMediaTypeForJsonResponse": { + "description": "Media type of application/json is expected", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + }, + "example": { + "error": "UnsupportedMediaType", + "message": "Unsupported content type header." + } + } + } + }, + "ZipResponse": { + "description": "ZIP Archive", + "content": { + "application/zip": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + } + }, + "securitySchemes": { + "session_token": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "UUID", + "description": "A valid session token can be obtained via the /anonymous or /login endpoints." + } + } + }, + "externalDocs": { + "url": "https://docs.geoengine.io", + "description": "Geo Engine Docs" + } +} diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index 87ad894f..a45dcbd3 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -255,11 +255,14 @@ docs/VectorResultDescriptor.md docs/Volume.md docs/VolumeFileLayersResponse.md docs/WcsBoundingbox.md +docs/WcsRequest.md docs/WcsService.md docs/WcsVersion.md +docs/WfsRequest.md docs/WfsService.md docs/WfsVersion.md docs/WildliveDataConnectorDefinition.md +docs/WmsRequest.md docs/WmsService.md docs/WmsVersion.md docs/Workflow.md @@ -525,11 +528,14 @@ geoengine_openapi_client/models/vector_result_descriptor.py geoengine_openapi_client/models/volume.py geoengine_openapi_client/models/volume_file_layers_response.py geoengine_openapi_client/models/wcs_boundingbox.py +geoengine_openapi_client/models/wcs_request.py geoengine_openapi_client/models/wcs_service.py geoengine_openapi_client/models/wcs_version.py +geoengine_openapi_client/models/wfs_request.py geoengine_openapi_client/models/wfs_service.py geoengine_openapi_client/models/wfs_version.py geoengine_openapi_client/models/wildlive_data_connector_definition.py +geoengine_openapi_client/models/wms_request.py geoengine_openapi_client/models/wms_service.py geoengine_openapi_client/models/wms_version.py geoengine_openapi_client/models/workflow.py @@ -795,11 +801,14 @@ test/test_vector_result_descriptor.py test/test_volume.py test/test_volume_file_layers_response.py test/test_wcs_boundingbox.py +test/test_wcs_request.py test/test_wcs_service.py test/test_wcs_version.py +test/test_wfs_request.py test/test_wfs_service.py test/test_wfs_version.py test/test_wildlive_data_connector_definition.py +test/test_wms_request.py test/test_wms_service.py test/test_wms_version.py test/test_workflow.py diff --git a/python/README.md b/python/README.md index 44c502ab..4d535326 100644 --- a/python/README.md +++ b/python/README.md @@ -55,10 +55,10 @@ import geoengine_openapi_client from geoengine_openapi_client.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to http://127.0.0.1:3030/api +# Defining the host is optional and defaults to https://geoengine.io/api # See configuration.py for a list of all supported configuration parameters. configuration = geoengine_openapi_client.Configuration( - host = "http://127.0.0.1:3030/api" + host = "https://geoengine.io/api" ) # The client must configure the authentication and authorization parameters @@ -89,7 +89,7 @@ with geoengine_openapi_client.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- @@ -426,11 +426,14 @@ Class | Method | HTTP request | Description - [Volume](docs/Volume.md) - [VolumeFileLayersResponse](docs/VolumeFileLayersResponse.md) - [WcsBoundingbox](docs/WcsBoundingbox.md) + - [WcsRequest](docs/WcsRequest.md) - [WcsService](docs/WcsService.md) - [WcsVersion](docs/WcsVersion.md) + - [WfsRequest](docs/WfsRequest.md) - [WfsService](docs/WfsService.md) - [WfsVersion](docs/WfsVersion.md) - [WildliveDataConnectorDefinition](docs/WildliveDataConnectorDefinition.md) + - [WmsRequest](docs/WmsRequest.md) - [WmsService](docs/WmsService.md) - [WmsVersion](docs/WmsVersion.md) - [Workflow](docs/Workflow.md) diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index 775c4f11..ee8a4796 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -281,11 +281,14 @@ "Volume", "VolumeFileLayersResponse", "WcsBoundingbox", + "WcsRequest", "WcsService", "WcsVersion", + "WfsRequest", "WfsService", "WfsVersion", "WildliveDataConnectorDefinition", + "WmsRequest", "WmsService", "WmsVersion", "Workflow", @@ -559,11 +562,14 @@ from geoengine_openapi_client.models.volume import Volume as Volume from geoengine_openapi_client.models.volume_file_layers_response import VolumeFileLayersResponse as VolumeFileLayersResponse from geoengine_openapi_client.models.wcs_boundingbox import WcsBoundingbox as WcsBoundingbox +from geoengine_openapi_client.models.wcs_request import WcsRequest as WcsRequest from geoengine_openapi_client.models.wcs_service import WcsService as WcsService from geoengine_openapi_client.models.wcs_version import WcsVersion as WcsVersion +from geoengine_openapi_client.models.wfs_request import WfsRequest as WfsRequest from geoengine_openapi_client.models.wfs_service import WfsService as WfsService from geoengine_openapi_client.models.wfs_version import WfsVersion as WfsVersion from geoengine_openapi_client.models.wildlive_data_connector_definition import WildliveDataConnectorDefinition as WildliveDataConnectorDefinition +from geoengine_openapi_client.models.wms_request import WmsRequest as WmsRequest from geoengine_openapi_client.models.wms_service import WmsService as WmsService from geoengine_openapi_client.models.wms_version import WmsVersion as WmsVersion from geoengine_openapi_client.models.workflow import Workflow as Workflow diff --git a/python/geoengine_openapi_client/api/ogcwcs_api.py b/python/geoengine_openapi_client/api/ogcwcs_api.py index 66169035..7bf8625c 100644 --- a/python/geoengine_openapi_client/api/ogcwcs_api.py +++ b/python/geoengine_openapi_client/api/ogcwcs_api.py @@ -17,11 +17,12 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictFloat, StrictInt, StrictStr, field_validator +from pydantic import Field, StrictFloat, StrictInt, StrictStr from typing import Optional, Union from typing_extensions import Annotated from uuid import UUID from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat +from geoengine_openapi_client.models.wcs_request import WcsRequest from geoengine_openapi_client.models.wcs_service import WcsService from geoengine_openapi_client.models.wcs_version import WcsVersion @@ -47,7 +48,7 @@ def __init__(self, api_client=None) -> None: def wcs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WMS request")], + request: Annotated[WcsRequest, Field(description="type of WCS request")], boundingbox: Optional[StrictStr] = None, format: Optional[GetCoverageFormat] = None, gridbasecrs: Optional[StrictStr] = None, @@ -79,8 +80,8 @@ def wcs_handler( :param workflow: Workflow id (required) :type workflow: str - :param request: type of WMS request (required) - :type request: str + :param request: type of WCS request (required) + :type request: WcsRequest :param boundingbox: :type boundingbox: str :param format: @@ -169,7 +170,7 @@ def wcs_handler( def wcs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WMS request")], + request: Annotated[WcsRequest, Field(description="type of WCS request")], boundingbox: Optional[StrictStr] = None, format: Optional[GetCoverageFormat] = None, gridbasecrs: Optional[StrictStr] = None, @@ -201,8 +202,8 @@ def wcs_handler_with_http_info( :param workflow: Workflow id (required) :type workflow: str - :param request: type of WMS request (required) - :type request: str + :param request: type of WCS request (required) + :type request: WcsRequest :param boundingbox: :type boundingbox: str :param format: @@ -291,7 +292,7 @@ def wcs_handler_with_http_info( def wcs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WMS request")], + request: Annotated[WcsRequest, Field(description="type of WCS request")], boundingbox: Optional[StrictStr] = None, format: Optional[GetCoverageFormat] = None, gridbasecrs: Optional[StrictStr] = None, @@ -323,8 +324,8 @@ def wcs_handler_without_preload_content( :param workflow: Workflow id (required) :type workflow: str - :param request: type of WMS request (required) - :type request: str + :param request: type of WCS request (required) + :type request: WcsRequest :param boundingbox: :type boundingbox: str :param format: @@ -480,7 +481,7 @@ def _wcs_handler_serialize( if request is not None: - _query_params.append(('request', request)) + _query_params.append(('request', request.value)) if resx is not None: diff --git a/python/geoengine_openapi_client/api/ogcwfs_api.py b/python/geoengine_openapi_client/api/ogcwfs_api.py index 157e5e80..f0c94f45 100644 --- a/python/geoengine_openapi_client/api/ogcwfs_api.py +++ b/python/geoengine_openapi_client/api/ogcwfs_api.py @@ -17,11 +17,12 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictStr, field_validator +from pydantic import Field, StrictStr from typing import Optional from typing_extensions import Annotated from uuid import UUID from geoengine_openapi_client.models.geo_json import GeoJson +from geoengine_openapi_client.models.wfs_request import WfsRequest from geoengine_openapi_client.models.wfs_service import WfsService from geoengine_openapi_client.models.wfs_version import WfsVersion @@ -47,7 +48,7 @@ def __init__(self, api_client=None) -> None: def wfs_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WFS request")], + request: Annotated[WfsRequest, Field(description="type of WFS request")], bbox: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, filter: Optional[StrictStr] = None, @@ -79,7 +80,7 @@ def wfs_handler( :param workflow: Workflow id (required) :type workflow: str :param request: type of WFS request (required) - :type request: str + :type request: WfsRequest :param bbox: :type bbox: str :param count: @@ -165,7 +166,7 @@ def wfs_handler( def wfs_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WFS request")], + request: Annotated[WfsRequest, Field(description="type of WFS request")], bbox: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, filter: Optional[StrictStr] = None, @@ -197,7 +198,7 @@ def wfs_handler_with_http_info( :param workflow: Workflow id (required) :type workflow: str :param request: type of WFS request (required) - :type request: str + :type request: WfsRequest :param bbox: :type bbox: str :param count: @@ -283,7 +284,7 @@ def wfs_handler_with_http_info( def wfs_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WFS request")], + request: Annotated[WfsRequest, Field(description="type of WFS request")], bbox: Optional[StrictStr] = None, count: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, filter: Optional[StrictStr] = None, @@ -315,7 +316,7 @@ def wfs_handler_without_preload_content( :param workflow: Workflow id (required) :type workflow: str :param request: type of WFS request (required) - :type request: str + :type request: WfsRequest :param bbox: :type bbox: str :param count: @@ -455,7 +456,7 @@ def _wfs_handler_serialize( if request is not None: - _query_params.append(('request', request)) + _query_params.append(('request', request.value)) if result_type is not None: diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py index b0367678..e2b8db2c 100644 --- a/python/geoengine_openapi_client/api/ogcwms_api.py +++ b/python/geoengine_openapi_client/api/ogcwms_api.py @@ -17,12 +17,13 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictBool, StrictStr, field_validator +from pydantic import Field, StrictBool, StrictStr from typing import Optional from typing_extensions import Annotated from uuid import UUID from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat +from geoengine_openapi_client.models.wms_request import WmsRequest from geoengine_openapi_client.models.wms_service import WmsService from geoengine_openapi_client.models.wms_version import WmsVersion @@ -48,7 +49,7 @@ def __init__(self, api_client=None) -> None: def wms_handler( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WMS request")], + request: Annotated[WmsRequest, Field(description="type of WMS request")], bbox: Optional[StrictStr] = None, bgcolor: Optional[StrictStr] = None, crs: Optional[StrictStr] = None, @@ -87,7 +88,7 @@ def wms_handler( :param workflow: Workflow id (required) :type workflow: str :param request: type of WMS request (required) - :type request: str + :type request: WmsRequest :param bbox: :type bbox: str :param bgcolor: @@ -194,7 +195,7 @@ def wms_handler( def wms_handler_with_http_info( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WMS request")], + request: Annotated[WmsRequest, Field(description="type of WMS request")], bbox: Optional[StrictStr] = None, bgcolor: Optional[StrictStr] = None, crs: Optional[StrictStr] = None, @@ -233,7 +234,7 @@ def wms_handler_with_http_info( :param workflow: Workflow id (required) :type workflow: str :param request: type of WMS request (required) - :type request: str + :type request: WmsRequest :param bbox: :type bbox: str :param bgcolor: @@ -340,7 +341,7 @@ def wms_handler_with_http_info( def wms_handler_without_preload_content( self, workflow: Annotated[UUID, Field(description="Workflow id")], - request: Annotated[StrictStr, Field(description="type of WMS request")], + request: Annotated[WmsRequest, Field(description="type of WMS request")], bbox: Optional[StrictStr] = None, bgcolor: Optional[StrictStr] = None, crs: Optional[StrictStr] = None, @@ -379,7 +380,7 @@ def wms_handler_without_preload_content( :param workflow: Workflow id (required) :type workflow: str :param request: type of WMS request (required) - :type request: str + :type request: WmsRequest :param bbox: :type bbox: str :param bgcolor: @@ -571,7 +572,7 @@ def _wms_handler_serialize( if request is not None: - _query_params.append(('request', request)) + _query_params.append(('request', request.value)) if service is not None: diff --git a/python/geoengine_openapi_client/configuration.py b/python/geoengine_openapi_client/configuration.py index 111111a6..a5f5673a 100644 --- a/python/geoengine_openapi_client/configuration.py +++ b/python/geoengine_openapi_client/configuration.py @@ -195,7 +195,7 @@ def __init__( ) -> None: """Constructor """ - self._base_path = "http://127.0.0.1:3030/api" if host is None else host + self._base_path = "https://geoengine.io/api" if host is None else host """Default Base url """ self.server_index = 0 if server_index is None and host is None else server_index @@ -526,8 +526,14 @@ def get_host_settings(self) -> List[HostSetting]: """ return [ { - 'url': "http://127.0.0.1:3030/api", + 'url': "{server}/api", 'description': "No description provided", + 'variables': { + 'server': { + 'description': "No description provided", + 'default_value': "https://geoengine.io", + } + } } ] diff --git a/python/geoengine_openapi_client/models/__init__.py b/python/geoengine_openapi_client/models/__init__.py index c6d5d460..5105873b 100644 --- a/python/geoengine_openapi_client/models/__init__.py +++ b/python/geoengine_openapi_client/models/__init__.py @@ -251,11 +251,14 @@ from geoengine_openapi_client.models.volume import Volume from geoengine_openapi_client.models.volume_file_layers_response import VolumeFileLayersResponse from geoengine_openapi_client.models.wcs_boundingbox import WcsBoundingbox +from geoengine_openapi_client.models.wcs_request import WcsRequest from geoengine_openapi_client.models.wcs_service import WcsService from geoengine_openapi_client.models.wcs_version import WcsVersion +from geoengine_openapi_client.models.wfs_request import WfsRequest from geoengine_openapi_client.models.wfs_service import WfsService from geoengine_openapi_client.models.wfs_version import WfsVersion from geoengine_openapi_client.models.wildlive_data_connector_definition import WildliveDataConnectorDefinition +from geoengine_openapi_client.models.wms_request import WmsRequest from geoengine_openapi_client.models.wms_service import WmsService from geoengine_openapi_client.models.wms_version import WmsVersion from geoengine_openapi_client.models.workflow import Workflow diff --git a/python/geoengine_openapi_client/models/wcs_request.py b/python/geoengine_openapi_client/models/wcs_request.py new file mode 100644 index 00000000..e2698e69 --- /dev/null +++ b/python/geoengine_openapi_client/models/wcs_request.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class WcsRequest(str, Enum): + """ + WcsRequest + """ + + """ + allowed enum values + """ + GETCAPABILITIES = 'GetCapabilities' + DESCRIBECOVERAGE = 'DescribeCoverage' + GETCOVERAGE = 'GetCoverage' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of WcsRequest from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/python/geoengine_openapi_client/models/wfs_request.py b/python/geoengine_openapi_client/models/wfs_request.py new file mode 100644 index 00000000..2631c507 --- /dev/null +++ b/python/geoengine_openapi_client/models/wfs_request.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class WfsRequest(str, Enum): + """ + WfsRequest + """ + + """ + allowed enum values + """ + GETCAPABILITIES = 'GetCapabilities' + GETFEATURE = 'GetFeature' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of WfsRequest from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/python/geoengine_openapi_client/models/wms_request.py b/python/geoengine_openapi_client/models/wms_request.py new file mode 100644 index 00000000..2a5026f0 --- /dev/null +++ b/python/geoengine_openapi_client/models/wms_request.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class WmsRequest(str, Enum): + """ + WmsRequest + """ + + """ + allowed enum values + """ + GETCAPABILITIES = 'GetCapabilities' + GETMAP = 'GetMap' + GETFEATUREINFO = 'GetFeatureInfo' + GETSTYLES = 'GetStyles' + GETLEGENDGRAPHIC = 'GetLegendGraphic' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of WmsRequest from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/python/test/test_wcs_request.py b/python/test/test_wcs_request.py new file mode 100644 index 00000000..f89c33cd --- /dev/null +++ b/python/test/test_wcs_request.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.wcs_request import WcsRequest + +class TestWcsRequest(unittest.TestCase): + """WcsRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testWcsRequest(self): + """Test WcsRequest""" + # inst = WcsRequest() + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_wfs_request.py b/python/test/test_wfs_request.py new file mode 100644 index 00000000..b98c4d67 --- /dev/null +++ b/python/test/test_wfs_request.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.wfs_request import WfsRequest + +class TestWfsRequest(unittest.TestCase): + """WfsRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testWfsRequest(self): + """Test WfsRequest""" + # inst = WfsRequest() + +if __name__ == '__main__': + unittest.main() diff --git a/python/test/test_wms_request.py b/python/test/test_wms_request.py new file mode 100644 index 00000000..1da15d39 --- /dev/null +++ b/python/test/test_wms_request.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Geo Engine API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + + The version of the OpenAPI document: 0.9.0 + Contact: dev@geoengine.de + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from geoengine_openapi_client.models.wms_request import WmsRequest + +class TestWmsRequest(unittest.TestCase): + """WmsRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testWmsRequest(self): + """Test WmsRequest""" + # inst = WmsRequest() + +if __name__ == '__main__': + unittest.main() diff --git a/typescript/README.md b/typescript/README.md index f0d87009..0418da12 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -1,6 +1,6 @@ # @geoengine/openapi-client@0.0.30 -A TypeScript SDK client for the 127.0.0.1 API. +A TypeScript SDK client for the geoengine.io API. ## Usage @@ -52,7 +52,7 @@ example().catch(console.error); ### API Endpoints -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Class | Method | HTTP request | Description | ----- | ------ | ------------ | ------------- @@ -389,11 +389,14 @@ All URIs are relative to *http://127.0.0.1:3030/api* - [Volume](docs/Volume.md) - [VolumeFileLayersResponse](docs/VolumeFileLayersResponse.md) - [WcsBoundingbox](docs/WcsBoundingbox.md) +- [WcsRequest](docs/WcsRequest.md) - [WcsService](docs/WcsService.md) - [WcsVersion](docs/WcsVersion.md) +- [WfsRequest](docs/WfsRequest.md) - [WfsService](docs/WfsService.md) - [WfsVersion](docs/WfsVersion.md) - [WildliveDataConnectorDefinition](docs/WildliveDataConnectorDefinition.md) +- [WmsRequest](docs/WmsRequest.md) - [WmsService](docs/WmsService.md) - [WmsVersion](docs/WmsVersion.md) - [Workflow](docs/Workflow.md) diff --git a/typescript/dist/apis/OGCWCSApi.d.ts b/typescript/dist/apis/OGCWCSApi.d.ts index 13c22c44..99278f67 100644 --- a/typescript/dist/apis/OGCWCSApi.d.ts +++ b/typescript/dist/apis/OGCWCSApi.d.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCoverageFormat, WcsService, WcsVersion } from '../models/index'; +import type { GetCoverageFormat, WcsRequest, WcsService, WcsVersion } from '../models/index'; export interface WcsHandlerRequest { workflow: string; - request: WcsHandlerRequestEnum; + request: WcsRequest; boundingbox?: string; format?: GetCoverageFormat; gridbasecrs?: string; @@ -41,12 +41,3 @@ export declare class OGCWCSApi extends runtime.BaseAPI { */ wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } -/** - * @export - */ -export declare const WcsHandlerRequestEnum: { - readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; - readonly DescribeCoverage: "DescribeCoverage"; - readonly GetCoverage: "GetCoverage"; -}; -export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWCSApi.js b/typescript/dist/apis/OGCWCSApi.js index b0813439..25c3e055 100644 --- a/typescript/dist/apis/OGCWCSApi.js +++ b/typescript/dist/apis/OGCWCSApi.js @@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.WcsHandlerRequestEnum = exports.OGCWCSApi = void 0; +exports.OGCWCSApi = void 0; const runtime = require("../runtime"); /** * @@ -117,11 +117,3 @@ class OGCWCSApi extends runtime.BaseAPI { } } exports.OGCWCSApi = OGCWCSApi; -/** - * @export - */ -exports.WcsHandlerRequestEnum = { - GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', - DescribeCoverage: 'DescribeCoverage', - GetCoverage: 'GetCoverage' -}; diff --git a/typescript/dist/apis/OGCWFSApi.d.ts b/typescript/dist/apis/OGCWFSApi.d.ts index 6a5080d3..8bbd32bc 100644 --- a/typescript/dist/apis/OGCWFSApi.d.ts +++ b/typescript/dist/apis/OGCWFSApi.d.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GeoJson, WfsService, WfsVersion } from '../models/index'; +import type { GeoJson, WfsRequest, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; - request: WfsHandlerRequestEnum; + request: WfsRequest; bbox?: string; count?: number | null; filter?: string | null; @@ -40,11 +40,3 @@ export declare class OGCWFSApi extends runtime.BaseAPI { */ wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } -/** - * @export - */ -export declare const WfsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetFeature: "GetFeature"; -}; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWFSApi.js b/typescript/dist/apis/OGCWFSApi.js index b1e0d649..0313731b 100644 --- a/typescript/dist/apis/OGCWFSApi.js +++ b/typescript/dist/apis/OGCWFSApi.js @@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.WfsHandlerRequestEnum = exports.OGCWFSApi = void 0; +exports.OGCWFSApi = void 0; const runtime = require("../runtime"); const index_1 = require("../models/index"); /** @@ -110,10 +110,3 @@ class OGCWFSApi extends runtime.BaseAPI { } } exports.OGCWFSApi = OGCWFSApi; -/** - * @export - */ -exports.WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -}; diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts index 1247b518..62d23238 100644 --- a/typescript/dist/apis/OGCWMSApi.d.ts +++ b/typescript/dist/apis/OGCWMSApi.d.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; +import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsRequest, WmsService, WmsVersion } from '../models/index'; export interface WmsHandlerRequest { workflow: string; - request: WmsHandlerRequestEnum; + request: WmsRequest; bbox?: string; bgcolor?: string | null; crs?: string | null; @@ -47,14 +47,3 @@ export declare class OGCWMSApi extends runtime.BaseAPI { */ wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } -/** - * @export - */ -export declare const WmsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetMap: "GetMap"; - readonly GetFeatureInfo: "GetFeatureInfo"; - readonly GetStyles: "GetStyles"; - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/apis/OGCWMSApi.js b/typescript/dist/apis/OGCWMSApi.js index 8de9758d..aa580150 100644 --- a/typescript/dist/apis/OGCWMSApi.js +++ b/typescript/dist/apis/OGCWMSApi.js @@ -22,7 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.WmsHandlerRequestEnum = exports.OGCWMSApi = void 0; +exports.OGCWMSApi = void 0; const runtime = require("../runtime"); /** * @@ -135,13 +135,3 @@ class OGCWMSApi extends runtime.BaseAPI { } } exports.OGCWMSApi = OGCWMSApi; -/** - * @export - */ -exports.WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -}; diff --git a/typescript/dist/esm/apis/OGCWCSApi.d.ts b/typescript/dist/esm/apis/OGCWCSApi.d.ts index 13c22c44..99278f67 100644 --- a/typescript/dist/esm/apis/OGCWCSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWCSApi.d.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCoverageFormat, WcsService, WcsVersion } from '../models/index'; +import type { GetCoverageFormat, WcsRequest, WcsService, WcsVersion } from '../models/index'; export interface WcsHandlerRequest { workflow: string; - request: WcsHandlerRequestEnum; + request: WcsRequest; boundingbox?: string; format?: GetCoverageFormat; gridbasecrs?: string; @@ -41,12 +41,3 @@ export declare class OGCWCSApi extends runtime.BaseAPI { */ wcsHandler(requestParameters: WcsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } -/** - * @export - */ -export declare const WcsHandlerRequestEnum: { - readonly GetCapabilGetCapabilitiesities: "GetCapabilGetCapabilitiesities"; - readonly DescribeCoverage: "DescribeCoverage"; - readonly GetCoverage: "GetCoverage"; -}; -export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWCSApi.js b/typescript/dist/esm/apis/OGCWCSApi.js index 18651883..648e2bbd 100644 --- a/typescript/dist/esm/apis/OGCWCSApi.js +++ b/typescript/dist/esm/apis/OGCWCSApi.js @@ -113,11 +113,3 @@ export class OGCWCSApi extends runtime.BaseAPI { }); } } -/** - * @export - */ -export const WcsHandlerRequestEnum = { - GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', - DescribeCoverage: 'DescribeCoverage', - GetCoverage: 'GetCoverage' -}; diff --git a/typescript/dist/esm/apis/OGCWFSApi.d.ts b/typescript/dist/esm/apis/OGCWFSApi.d.ts index 6a5080d3..8bbd32bc 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWFSApi.d.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GeoJson, WfsService, WfsVersion } from '../models/index'; +import type { GeoJson, WfsRequest, WfsService, WfsVersion } from '../models/index'; export interface WfsHandlerRequest { workflow: string; - request: WfsHandlerRequestEnum; + request: WfsRequest; bbox?: string; count?: number | null; filter?: string | null; @@ -40,11 +40,3 @@ export declare class OGCWFSApi extends runtime.BaseAPI { */ wfsHandler(requestParameters: WfsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } -/** - * @export - */ -export declare const WfsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetFeature: "GetFeature"; -}; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWFSApi.js b/typescript/dist/esm/apis/OGCWFSApi.js index 0be6e156..8c239e71 100644 --- a/typescript/dist/esm/apis/OGCWFSApi.js +++ b/typescript/dist/esm/apis/OGCWFSApi.js @@ -106,10 +106,3 @@ export class OGCWFSApi extends runtime.BaseAPI { }); } } -/** - * @export - */ -export const WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -}; diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts index 1247b518..62d23238 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWMSApi.d.ts @@ -10,10 +10,10 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsService, WmsVersion } from '../models/index'; +import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsRequest, WmsService, WmsVersion } from '../models/index'; export interface WmsHandlerRequest { workflow: string; - request: WmsHandlerRequestEnum; + request: WmsRequest; bbox?: string; bgcolor?: string | null; crs?: string | null; @@ -47,14 +47,3 @@ export declare class OGCWMSApi extends runtime.BaseAPI { */ wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } -/** - * @export - */ -export declare const WmsHandlerRequestEnum: { - readonly GetCapabilities: "GetCapabilities"; - readonly GetMap: "GetMap"; - readonly GetFeatureInfo: "GetFeatureInfo"; - readonly GetStyles: "GetStyles"; - readonly GetLegendGraphic: "GetLegendGraphic"; -}; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/dist/esm/apis/OGCWMSApi.js b/typescript/dist/esm/apis/OGCWMSApi.js index fff8599c..768a31aa 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.js +++ b/typescript/dist/esm/apis/OGCWMSApi.js @@ -131,13 +131,3 @@ export class OGCWMSApi extends runtime.BaseAPI { }); } } -/** - * @export - */ -export const WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -}; diff --git a/typescript/dist/esm/models/WcsRequest.d.ts b/typescript/dist/esm/models/WcsRequest.d.ts new file mode 100644 index 00000000..9ad77c7b --- /dev/null +++ b/typescript/dist/esm/models/WcsRequest.d.ts @@ -0,0 +1,26 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WcsRequest: { + readonly GetCapabilities: "GetCapabilities"; + readonly DescribeCoverage: "DescribeCoverage"; + readonly GetCoverage: "GetCoverage"; +}; +export type WcsRequest = typeof WcsRequest[keyof typeof WcsRequest]; +export declare function instanceOfWcsRequest(value: any): boolean; +export declare function WcsRequestFromJSON(json: any): WcsRequest; +export declare function WcsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WcsRequest; +export declare function WcsRequestToJSON(value?: WcsRequest | null): any; +export declare function WcsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WcsRequest; diff --git a/typescript/dist/esm/models/WcsRequest.js b/typescript/dist/esm/models/WcsRequest.js new file mode 100644 index 00000000..6600c2d1 --- /dev/null +++ b/typescript/dist/esm/models/WcsRequest.js @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export const WcsRequest = { + GetCapabilities: 'GetCapabilities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +}; +export function instanceOfWcsRequest(value) { + for (const key in WcsRequest) { + if (Object.prototype.hasOwnProperty.call(WcsRequest, key)) { + if (WcsRequest[key] === value) { + return true; + } + } + } + return false; +} +export function WcsRequestFromJSON(json) { + return WcsRequestFromJSONTyped(json, false); +} +export function WcsRequestFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +export function WcsRequestToJSON(value) { + return value; +} +export function WcsRequestToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/esm/models/WfsRequest.d.ts b/typescript/dist/esm/models/WfsRequest.d.ts new file mode 100644 index 00000000..0bc7d4dc --- /dev/null +++ b/typescript/dist/esm/models/WfsRequest.d.ts @@ -0,0 +1,25 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WfsRequest: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsRequest = typeof WfsRequest[keyof typeof WfsRequest]; +export declare function instanceOfWfsRequest(value: any): boolean; +export declare function WfsRequestFromJSON(json: any): WfsRequest; +export declare function WfsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WfsRequest; +export declare function WfsRequestToJSON(value?: WfsRequest | null): any; +export declare function WfsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WfsRequest; diff --git a/typescript/dist/esm/models/WfsRequest.js b/typescript/dist/esm/models/WfsRequest.js new file mode 100644 index 00000000..4114e08a --- /dev/null +++ b/typescript/dist/esm/models/WfsRequest.js @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export const WfsRequest = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; +export function instanceOfWfsRequest(value) { + for (const key in WfsRequest) { + if (Object.prototype.hasOwnProperty.call(WfsRequest, key)) { + if (WfsRequest[key] === value) { + return true; + } + } + } + return false; +} +export function WfsRequestFromJSON(json) { + return WfsRequestFromJSONTyped(json, false); +} +export function WfsRequestFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +export function WfsRequestToJSON(value) { + return value; +} +export function WfsRequestToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/esm/models/WmsRequest.d.ts b/typescript/dist/esm/models/WmsRequest.d.ts new file mode 100644 index 00000000..3e4d1ea1 --- /dev/null +++ b/typescript/dist/esm/models/WmsRequest.d.ts @@ -0,0 +1,28 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WmsRequest: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsRequest = typeof WmsRequest[keyof typeof WmsRequest]; +export declare function instanceOfWmsRequest(value: any): boolean; +export declare function WmsRequestFromJSON(json: any): WmsRequest; +export declare function WmsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WmsRequest; +export declare function WmsRequestToJSON(value?: WmsRequest | null): any; +export declare function WmsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WmsRequest; diff --git a/typescript/dist/esm/models/WmsRequest.js b/typescript/dist/esm/models/WmsRequest.js new file mode 100644 index 00000000..105d97fd --- /dev/null +++ b/typescript/dist/esm/models/WmsRequest.js @@ -0,0 +1,46 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export const WmsRequest = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; +export function instanceOfWmsRequest(value) { + for (const key in WmsRequest) { + if (Object.prototype.hasOwnProperty.call(WmsRequest, key)) { + if (WmsRequest[key] === value) { + return true; + } + } + } + return false; +} +export function WmsRequestFromJSON(json) { + return WmsRequestFromJSONTyped(json, false); +} +export function WmsRequestFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +export function WmsRequestToJSON(value) { + return value; +} +export function WmsRequestToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/esm/models/index.d.ts b/typescript/dist/esm/models/index.d.ts index 74643149..1edb6e28 100644 --- a/typescript/dist/esm/models/index.d.ts +++ b/typescript/dist/esm/models/index.d.ts @@ -235,11 +235,14 @@ export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; export * from './WcsBoundingbox'; +export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; +export * from './WfsRequest'; export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; +export * from './WmsRequest'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; diff --git a/typescript/dist/esm/models/index.js b/typescript/dist/esm/models/index.js index b198b263..007a0875 100644 --- a/typescript/dist/esm/models/index.js +++ b/typescript/dist/esm/models/index.js @@ -237,11 +237,14 @@ export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; export * from './WcsBoundingbox'; +export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; +export * from './WfsRequest'; export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; +export * from './WmsRequest'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; diff --git a/typescript/dist/esm/runtime.js b/typescript/dist/esm/runtime.js index ddb74be0..d8d84515 100644 --- a/typescript/dist/esm/runtime.js +++ b/typescript/dist/esm/runtime.js @@ -20,7 +20,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; -export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); +export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); export class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/dist/models/WcsRequest.d.ts b/typescript/dist/models/WcsRequest.d.ts new file mode 100644 index 00000000..9ad77c7b --- /dev/null +++ b/typescript/dist/models/WcsRequest.d.ts @@ -0,0 +1,26 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WcsRequest: { + readonly GetCapabilities: "GetCapabilities"; + readonly DescribeCoverage: "DescribeCoverage"; + readonly GetCoverage: "GetCoverage"; +}; +export type WcsRequest = typeof WcsRequest[keyof typeof WcsRequest]; +export declare function instanceOfWcsRequest(value: any): boolean; +export declare function WcsRequestFromJSON(json: any): WcsRequest; +export declare function WcsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WcsRequest; +export declare function WcsRequestToJSON(value?: WcsRequest | null): any; +export declare function WcsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WcsRequest; diff --git a/typescript/dist/models/WcsRequest.js b/typescript/dist/models/WcsRequest.js new file mode 100644 index 00000000..45d3240c --- /dev/null +++ b/typescript/dist/models/WcsRequest.js @@ -0,0 +1,52 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WcsRequest = void 0; +exports.instanceOfWcsRequest = instanceOfWcsRequest; +exports.WcsRequestFromJSON = WcsRequestFromJSON; +exports.WcsRequestFromJSONTyped = WcsRequestFromJSONTyped; +exports.WcsRequestToJSON = WcsRequestToJSON; +exports.WcsRequestToJSONTyped = WcsRequestToJSONTyped; +/** + * + * @export + */ +exports.WcsRequest = { + GetCapabilities: 'GetCapabilities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +}; +function instanceOfWcsRequest(value) { + for (const key in exports.WcsRequest) { + if (Object.prototype.hasOwnProperty.call(exports.WcsRequest, key)) { + if (exports.WcsRequest[key] === value) { + return true; + } + } + } + return false; +} +function WcsRequestFromJSON(json) { + return WcsRequestFromJSONTyped(json, false); +} +function WcsRequestFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +function WcsRequestToJSON(value) { + return value; +} +function WcsRequestToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/models/WfsRequest.d.ts b/typescript/dist/models/WfsRequest.d.ts new file mode 100644 index 00000000..0bc7d4dc --- /dev/null +++ b/typescript/dist/models/WfsRequest.d.ts @@ -0,0 +1,25 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WfsRequest: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetFeature: "GetFeature"; +}; +export type WfsRequest = typeof WfsRequest[keyof typeof WfsRequest]; +export declare function instanceOfWfsRequest(value: any): boolean; +export declare function WfsRequestFromJSON(json: any): WfsRequest; +export declare function WfsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WfsRequest; +export declare function WfsRequestToJSON(value?: WfsRequest | null): any; +export declare function WfsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WfsRequest; diff --git a/typescript/dist/models/WfsRequest.js b/typescript/dist/models/WfsRequest.js new file mode 100644 index 00000000..3571fb1b --- /dev/null +++ b/typescript/dist/models/WfsRequest.js @@ -0,0 +1,51 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WfsRequest = void 0; +exports.instanceOfWfsRequest = instanceOfWfsRequest; +exports.WfsRequestFromJSON = WfsRequestFromJSON; +exports.WfsRequestFromJSONTyped = WfsRequestFromJSONTyped; +exports.WfsRequestToJSON = WfsRequestToJSON; +exports.WfsRequestToJSONTyped = WfsRequestToJSONTyped; +/** + * + * @export + */ +exports.WfsRequest = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +}; +function instanceOfWfsRequest(value) { + for (const key in exports.WfsRequest) { + if (Object.prototype.hasOwnProperty.call(exports.WfsRequest, key)) { + if (exports.WfsRequest[key] === value) { + return true; + } + } + } + return false; +} +function WfsRequestFromJSON(json) { + return WfsRequestFromJSONTyped(json, false); +} +function WfsRequestFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +function WfsRequestToJSON(value) { + return value; +} +function WfsRequestToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/models/WmsRequest.d.ts b/typescript/dist/models/WmsRequest.d.ts new file mode 100644 index 00000000..3e4d1ea1 --- /dev/null +++ b/typescript/dist/models/WmsRequest.d.ts @@ -0,0 +1,28 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WmsRequest: { + readonly GetCapabilities: "GetCapabilities"; + readonly GetMap: "GetMap"; + readonly GetFeatureInfo: "GetFeatureInfo"; + readonly GetStyles: "GetStyles"; + readonly GetLegendGraphic: "GetLegendGraphic"; +}; +export type WmsRequest = typeof WmsRequest[keyof typeof WmsRequest]; +export declare function instanceOfWmsRequest(value: any): boolean; +export declare function WmsRequestFromJSON(json: any): WmsRequest; +export declare function WmsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WmsRequest; +export declare function WmsRequestToJSON(value?: WmsRequest | null): any; +export declare function WmsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WmsRequest; diff --git a/typescript/dist/models/WmsRequest.js b/typescript/dist/models/WmsRequest.js new file mode 100644 index 00000000..ffaa97ba --- /dev/null +++ b/typescript/dist/models/WmsRequest.js @@ -0,0 +1,54 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WmsRequest = void 0; +exports.instanceOfWmsRequest = instanceOfWmsRequest; +exports.WmsRequestFromJSON = WmsRequestFromJSON; +exports.WmsRequestFromJSONTyped = WmsRequestFromJSONTyped; +exports.WmsRequestToJSON = WmsRequestToJSON; +exports.WmsRequestToJSONTyped = WmsRequestToJSONTyped; +/** + * + * @export + */ +exports.WmsRequest = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +}; +function instanceOfWmsRequest(value) { + for (const key in exports.WmsRequest) { + if (Object.prototype.hasOwnProperty.call(exports.WmsRequest, key)) { + if (exports.WmsRequest[key] === value) { + return true; + } + } + } + return false; +} +function WmsRequestFromJSON(json) { + return WmsRequestFromJSONTyped(json, false); +} +function WmsRequestFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +function WmsRequestToJSON(value) { + return value; +} +function WmsRequestToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/models/index.d.ts b/typescript/dist/models/index.d.ts index 74643149..1edb6e28 100644 --- a/typescript/dist/models/index.d.ts +++ b/typescript/dist/models/index.d.ts @@ -235,11 +235,14 @@ export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; export * from './WcsBoundingbox'; +export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; +export * from './WfsRequest'; export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; +export * from './WmsRequest'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; diff --git a/typescript/dist/models/index.js b/typescript/dist/models/index.js index 0870f7a8..81c52bbd 100644 --- a/typescript/dist/models/index.js +++ b/typescript/dist/models/index.js @@ -253,11 +253,14 @@ __exportStar(require("./VectorResultDescriptor"), exports); __exportStar(require("./Volume"), exports); __exportStar(require("./VolumeFileLayersResponse"), exports); __exportStar(require("./WcsBoundingbox"), exports); +__exportStar(require("./WcsRequest"), exports); __exportStar(require("./WcsService"), exports); __exportStar(require("./WcsVersion"), exports); +__exportStar(require("./WfsRequest"), exports); __exportStar(require("./WfsService"), exports); __exportStar(require("./WfsVersion"), exports); __exportStar(require("./WildliveDataConnectorDefinition"), exports); +__exportStar(require("./WmsRequest"), exports); __exportStar(require("./WmsService"), exports); __exportStar(require("./WmsVersion"), exports); __exportStar(require("./Workflow"), exports); diff --git a/typescript/dist/runtime.js b/typescript/dist/runtime.js index f1d84562..f2d35eb0 100644 --- a/typescript/dist/runtime.js +++ b/typescript/dist/runtime.js @@ -27,7 +27,7 @@ exports.querystring = querystring; exports.exists = exists; exports.mapValues = mapValues; exports.canConsumeForm = canConsumeForm; -exports.BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); +exports.BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); class Configuration { constructor(configuration = {}) { this.configuration = configuration; diff --git a/typescript/docs/DatasetsApi.md b/typescript/docs/DatasetsApi.md index 644940f4..74478f19 100644 --- a/typescript/docs/DatasetsApi.md +++ b/typescript/docs/DatasetsApi.md @@ -1,6 +1,6 @@ # DatasetsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/GeneralApi.md b/typescript/docs/GeneralApi.md index af2a6a74..aae4f23d 100644 --- a/typescript/docs/GeneralApi.md +++ b/typescript/docs/GeneralApi.md @@ -1,6 +1,6 @@ # GeneralApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/LayersApi.md b/typescript/docs/LayersApi.md index ff45f377..fb62468e 100644 --- a/typescript/docs/LayersApi.md +++ b/typescript/docs/LayersApi.md @@ -1,6 +1,6 @@ # LayersApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/MLApi.md b/typescript/docs/MLApi.md index 94b75c90..2fac8af1 100644 --- a/typescript/docs/MLApi.md +++ b/typescript/docs/MLApi.md @@ -1,6 +1,6 @@ # MLApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/OGCWCSApi.md b/typescript/docs/OGCWCSApi.md index b190afc5..c7ae75a1 100644 --- a/typescript/docs/OGCWCSApi.md +++ b/typescript/docs/OGCWCSApi.md @@ -1,6 +1,6 @@ # OGCWCSApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| @@ -34,8 +34,8 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // 'GetCapabilGetCapabilitiesities' | 'DescribeCoverage' | 'GetCoverage' | type of WMS request - request: request_example, + // WcsRequest | type of WCS request + request: ..., // string (optional) boundingbox: -90,-180,90,180,urn:ogc:def:crs:EPSG::4326, // GetCoverageFormat (optional) @@ -82,7 +82,7 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **request** | `GetCapabilGetCapabilitiesities`, `DescribeCoverage`, `GetCoverage` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilGetCapabilitiesities, DescribeCoverage, GetCoverage] | +| **request** | `WcsRequest` | type of WCS request | [Defaults to `undefined`] [Enum: GetCapabilities, DescribeCoverage, GetCoverage] | | **boundingbox** | `string` | | [Optional] [Defaults to `undefined`] | | **format** | `GetCoverageFormat` | | [Optional] [Defaults to `undefined`] [Enum: image/tiff] | | **gridbasecrs** | `string` | | [Optional] [Defaults to `undefined`] | diff --git a/typescript/docs/OGCWFSApi.md b/typescript/docs/OGCWFSApi.md index a1539b53..4b3d6ccf 100644 --- a/typescript/docs/OGCWFSApi.md +++ b/typescript/docs/OGCWFSApi.md @@ -1,6 +1,6 @@ # OGCWFSApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| @@ -34,8 +34,8 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // 'GetCapabilities' | 'GetFeature' | type of WFS request - request: request_example, + // WfsRequest | type of WFS request + request: ..., // string (optional) bbox: -90,-180,90,180, // number (optional) @@ -80,7 +80,7 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **request** | `GetCapabilities`, `GetFeature` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | +| **request** | `WfsRequest` | type of WFS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetFeature] | | **bbox** | `string` | | [Optional] [Defaults to `undefined`] | | **count** | `number` | | [Optional] [Defaults to `undefined`] | | **filter** | `string` | | [Optional] [Defaults to `undefined`] | diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index 9a3e48d2..fcb82d18 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -1,6 +1,6 @@ # OGCWMSApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| @@ -34,8 +34,8 @@ async function example() { const body = { // string | Workflow id workflow: 38400000-8cf0-11bd-b23e-10b96e4ef00d, - // 'GetCapabilities' | 'GetMap' | 'GetFeatureInfo' | 'GetStyles' | 'GetLegendGraphic' | type of WMS request - request: request_example, + // WmsRequest | type of WMS request + request: ..., // string (optional) bbox: -90,-180,90,180, // string (optional) @@ -94,7 +94,7 @@ example().catch(console.error); | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **workflow** | `string` | Workflow id | [Defaults to `undefined`] | -| **request** | `GetCapabilities`, `GetMap`, `GetFeatureInfo`, `GetStyles`, `GetLegendGraphic` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetMap, GetFeatureInfo, GetStyles, GetLegendGraphic] | +| **request** | `WmsRequest` | type of WMS request | [Defaults to `undefined`] [Enum: GetCapabilities, GetMap, GetFeatureInfo, GetStyles, GetLegendGraphic] | | **bbox** | `string` | | [Optional] [Defaults to `undefined`] | | **bgcolor** | `string` | | [Optional] [Defaults to `undefined`] | | **crs** | `string` | | [Optional] [Defaults to `undefined`] | diff --git a/typescript/docs/PermissionsApi.md b/typescript/docs/PermissionsApi.md index e6d74059..2488d005 100644 --- a/typescript/docs/PermissionsApi.md +++ b/typescript/docs/PermissionsApi.md @@ -1,6 +1,6 @@ # PermissionsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/PlotsApi.md b/typescript/docs/PlotsApi.md index fa6e82fa..74416d28 100644 --- a/typescript/docs/PlotsApi.md +++ b/typescript/docs/PlotsApi.md @@ -1,6 +1,6 @@ # PlotsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/ProjectsApi.md b/typescript/docs/ProjectsApi.md index ac5907cb..be9574d5 100644 --- a/typescript/docs/ProjectsApi.md +++ b/typescript/docs/ProjectsApi.md @@ -1,6 +1,6 @@ # ProjectsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/SessionApi.md b/typescript/docs/SessionApi.md index a196058b..b79cd89f 100644 --- a/typescript/docs/SessionApi.md +++ b/typescript/docs/SessionApi.md @@ -1,6 +1,6 @@ # SessionApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/SpatialReferencesApi.md b/typescript/docs/SpatialReferencesApi.md index 599b322a..a0fcccbf 100644 --- a/typescript/docs/SpatialReferencesApi.md +++ b/typescript/docs/SpatialReferencesApi.md @@ -1,6 +1,6 @@ # SpatialReferencesApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/TasksApi.md b/typescript/docs/TasksApi.md index d8414212..dac812ec 100644 --- a/typescript/docs/TasksApi.md +++ b/typescript/docs/TasksApi.md @@ -1,6 +1,6 @@ # TasksApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UploadsApi.md b/typescript/docs/UploadsApi.md index 9c749ed0..b5b5dc75 100644 --- a/typescript/docs/UploadsApi.md +++ b/typescript/docs/UploadsApi.md @@ -1,6 +1,6 @@ # UploadsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/UserApi.md b/typescript/docs/UserApi.md index ec95ace7..52310dad 100644 --- a/typescript/docs/UserApi.md +++ b/typescript/docs/UserApi.md @@ -1,6 +1,6 @@ # UserApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/docs/WcsRequest.md b/typescript/docs/WcsRequest.md new file mode 100644 index 00000000..abd64b73 --- /dev/null +++ b/typescript/docs/WcsRequest.md @@ -0,0 +1,32 @@ + +# WcsRequest + + +## Properties + +Name | Type +------------ | ------------- + +## Example + +```typescript +import type { WcsRequest } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { +} satisfies WcsRequest + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as WcsRequest +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/WfsRequest.md b/typescript/docs/WfsRequest.md new file mode 100644 index 00000000..66157aac --- /dev/null +++ b/typescript/docs/WfsRequest.md @@ -0,0 +1,32 @@ + +# WfsRequest + + +## Properties + +Name | Type +------------ | ------------- + +## Example + +```typescript +import type { WfsRequest } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { +} satisfies WfsRequest + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as WfsRequest +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/WmsRequest.md b/typescript/docs/WmsRequest.md new file mode 100644 index 00000000..dfb04c5c --- /dev/null +++ b/typescript/docs/WmsRequest.md @@ -0,0 +1,32 @@ + +# WmsRequest + + +## Properties + +Name | Type +------------ | ------------- + +## Example + +```typescript +import type { WmsRequest } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { +} satisfies WmsRequest + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as WmsRequest +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/docs/WorkflowsApi.md b/typescript/docs/WorkflowsApi.md index d2404b87..73948165 100644 --- a/typescript/docs/WorkflowsApi.md +++ b/typescript/docs/WorkflowsApi.md @@ -1,6 +1,6 @@ # WorkflowsApi -All URIs are relative to *http://127.0.0.1:3030/api* +All URIs are relative to *https://geoengine.io/api* | Method | HTTP request | Description | |------------- | ------------- | -------------| diff --git a/typescript/src/apis/OGCWCSApi.ts b/typescript/src/apis/OGCWCSApi.ts index 9b12ad67..5edbf62c 100644 --- a/typescript/src/apis/OGCWCSApi.ts +++ b/typescript/src/apis/OGCWCSApi.ts @@ -16,12 +16,15 @@ import * as runtime from '../runtime'; import type { GetCoverageFormat, + WcsRequest, WcsService, WcsVersion, } from '../models/index'; import { GetCoverageFormatFromJSON, GetCoverageFormatToJSON, + WcsRequestFromJSON, + WcsRequestToJSON, WcsServiceFromJSON, WcsServiceToJSON, WcsVersionFromJSON, @@ -30,7 +33,7 @@ import { export interface WcsHandlerRequest { workflow: string; - request: WcsHandlerRequestEnum; + request: WcsRequest; boundingbox?: string; format?: GetCoverageFormat; gridbasecrs?: string; @@ -164,13 +167,3 @@ export class OGCWCSApi extends runtime.BaseAPI { } } - -/** - * @export - */ -export const WcsHandlerRequestEnum = { - GetCapabilGetCapabilitiesities: 'GetCapabilGetCapabilitiesities', - DescribeCoverage: 'DescribeCoverage', - GetCoverage: 'GetCoverage' -} as const; -export type WcsHandlerRequestEnum = typeof WcsHandlerRequestEnum[keyof typeof WcsHandlerRequestEnum]; diff --git a/typescript/src/apis/OGCWFSApi.ts b/typescript/src/apis/OGCWFSApi.ts index 2b7226e8..bd57ccb0 100644 --- a/typescript/src/apis/OGCWFSApi.ts +++ b/typescript/src/apis/OGCWFSApi.ts @@ -16,12 +16,15 @@ import * as runtime from '../runtime'; import type { GeoJson, + WfsRequest, WfsService, WfsVersion, } from '../models/index'; import { GeoJsonFromJSON, GeoJsonToJSON, + WfsRequestFromJSON, + WfsRequestToJSON, WfsServiceFromJSON, WfsServiceToJSON, WfsVersionFromJSON, @@ -30,7 +33,7 @@ import { export interface WfsHandlerRequest { workflow: string; - request: WfsHandlerRequestEnum; + request: WfsRequest; bbox?: string; count?: number | null; filter?: string | null; @@ -155,12 +158,3 @@ export class OGCWFSApi extends runtime.BaseAPI { } } - -/** - * @export - */ -export const WfsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetFeature: 'GetFeature' -} as const; -export type WfsHandlerRequestEnum = typeof WfsHandlerRequestEnum[keyof typeof WfsHandlerRequestEnum]; diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts index 9e98a00b..1ae6b32c 100644 --- a/typescript/src/apis/OGCWMSApi.ts +++ b/typescript/src/apis/OGCWMSApi.ts @@ -17,6 +17,7 @@ import * as runtime from '../runtime'; import type { GetCapabilitiesFormat, GetMapExceptionFormat, + WmsRequest, WmsService, WmsVersion, } from '../models/index'; @@ -25,6 +26,8 @@ import { GetCapabilitiesFormatToJSON, GetMapExceptionFormatFromJSON, GetMapExceptionFormatToJSON, + WmsRequestFromJSON, + WmsRequestToJSON, WmsServiceFromJSON, WmsServiceToJSON, WmsVersionFromJSON, @@ -33,7 +36,7 @@ import { export interface WmsHandlerRequest { workflow: string; - request: WmsHandlerRequestEnum; + request: WmsRequest; bbox?: string; bgcolor?: string | null; crs?: string | null; @@ -197,15 +200,3 @@ export class OGCWMSApi extends runtime.BaseAPI { } } - -/** - * @export - */ -export const WmsHandlerRequestEnum = { - GetCapabilities: 'GetCapabilities', - GetMap: 'GetMap', - GetFeatureInfo: 'GetFeatureInfo', - GetStyles: 'GetStyles', - GetLegendGraphic: 'GetLegendGraphic' -} as const; -export type WmsHandlerRequestEnum = typeof WmsHandlerRequestEnum[keyof typeof WmsHandlerRequestEnum]; diff --git a/typescript/src/models/WcsRequest.ts b/typescript/src/models/WcsRequest.ts new file mode 100644 index 00000000..e573a76b --- /dev/null +++ b/typescript/src/models/WcsRequest.ts @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const WcsRequest = { + GetCapabilities: 'GetCapabilities', + DescribeCoverage: 'DescribeCoverage', + GetCoverage: 'GetCoverage' +} as const; +export type WcsRequest = typeof WcsRequest[keyof typeof WcsRequest]; + + +export function instanceOfWcsRequest(value: any): boolean { + for (const key in WcsRequest) { + if (Object.prototype.hasOwnProperty.call(WcsRequest, key)) { + if (WcsRequest[key as keyof typeof WcsRequest] === value) { + return true; + } + } + } + return false; +} + +export function WcsRequestFromJSON(json: any): WcsRequest { + return WcsRequestFromJSONTyped(json, false); +} + +export function WcsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WcsRequest { + return json as WcsRequest; +} + +export function WcsRequestToJSON(value?: WcsRequest | null): any { + return value as any; +} + +export function WcsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WcsRequest { + return value as WcsRequest; +} + diff --git a/typescript/src/models/WfsRequest.ts b/typescript/src/models/WfsRequest.ts new file mode 100644 index 00000000..8b84df6c --- /dev/null +++ b/typescript/src/models/WfsRequest.ts @@ -0,0 +1,53 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const WfsRequest = { + GetCapabilities: 'GetCapabilities', + GetFeature: 'GetFeature' +} as const; +export type WfsRequest = typeof WfsRequest[keyof typeof WfsRequest]; + + +export function instanceOfWfsRequest(value: any): boolean { + for (const key in WfsRequest) { + if (Object.prototype.hasOwnProperty.call(WfsRequest, key)) { + if (WfsRequest[key as keyof typeof WfsRequest] === value) { + return true; + } + } + } + return false; +} + +export function WfsRequestFromJSON(json: any): WfsRequest { + return WfsRequestFromJSONTyped(json, false); +} + +export function WfsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WfsRequest { + return json as WfsRequest; +} + +export function WfsRequestToJSON(value?: WfsRequest | null): any { + return value as any; +} + +export function WfsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WfsRequest { + return value as WfsRequest; +} + diff --git a/typescript/src/models/WmsRequest.ts b/typescript/src/models/WmsRequest.ts new file mode 100644 index 00000000..9b758302 --- /dev/null +++ b/typescript/src/models/WmsRequest.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const WmsRequest = { + GetCapabilities: 'GetCapabilities', + GetMap: 'GetMap', + GetFeatureInfo: 'GetFeatureInfo', + GetStyles: 'GetStyles', + GetLegendGraphic: 'GetLegendGraphic' +} as const; +export type WmsRequest = typeof WmsRequest[keyof typeof WmsRequest]; + + +export function instanceOfWmsRequest(value: any): boolean { + for (const key in WmsRequest) { + if (Object.prototype.hasOwnProperty.call(WmsRequest, key)) { + if (WmsRequest[key as keyof typeof WmsRequest] === value) { + return true; + } + } + } + return false; +} + +export function WmsRequestFromJSON(json: any): WmsRequest { + return WmsRequestFromJSONTyped(json, false); +} + +export function WmsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): WmsRequest { + return json as WmsRequest; +} + +export function WmsRequestToJSON(value?: WmsRequest | null): any { + return value as any; +} + +export function WmsRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): WmsRequest { + return value as WmsRequest; +} + diff --git a/typescript/src/models/index.ts b/typescript/src/models/index.ts index b198b263..007a0875 100644 --- a/typescript/src/models/index.ts +++ b/typescript/src/models/index.ts @@ -237,11 +237,14 @@ export * from './VectorResultDescriptor'; export * from './Volume'; export * from './VolumeFileLayersResponse'; export * from './WcsBoundingbox'; +export * from './WcsRequest'; export * from './WcsService'; export * from './WcsVersion'; +export * from './WfsRequest'; export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; +export * from './WmsRequest'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; diff --git a/typescript/src/runtime.ts b/typescript/src/runtime.ts index ee33a1d3..2f290740 100644 --- a/typescript/src/runtime.ts +++ b/typescript/src/runtime.ts @@ -13,7 +13,7 @@ */ -export const BASE_PATH = "http://127.0.0.1:3030/api".replace(/\/+$/, ""); +export const BASE_PATH = "https://geoengine.io/api".replace(/\/+$/, ""); export interface ConfigurationParameters { basePath?: string; // override base path diff --git a/util/ui-dev-update.sh b/util/ui-dev-update.sh index 7f2293d6..43696344 100755 --- a/util/ui-dev-update.sh +++ b/util/ui-dev-update.sh @@ -4,15 +4,17 @@ # # Usage (from the repo root): ./util/ui-dev-update.sh [-a] [commit-message] # -# this script uses the OpenAPI json from a Geo Engine instance running on port 3030 +# this script uses the OpenAPI json generated via cli in a backend located next to the openapi-client # it generates the openapi-client and pushes it to the current branch (-a to amend the last commit) # then it updates the geoengine-ui's openapi-client dependency to the development branch # note: the geoengine-ui git repo must be in the same directory as the openapi-client repo set -e -wget -O .generation/input/openapi.json \ - http://localhost:3030/api/api-docs/openapi.json +cd ../geoengine +cargo run --bin geoengine-cli openapi > ../openapi-client/.generation/input/openapi.json +cd - + .generation/generate.py --no-spec-fetch --no-container-build python .generation/generate.py --no-spec-fetch --no-container-build typescript @@ -46,5 +48,16 @@ fi cd ../geoengine-ui npm uninstall @geoengine/openapi-client -npm install @geoengine/openapi-client@"https://github.com/geo-engine/openapi-client.git#${current_branch}" +npm install @geoengine/openapi-client@https://gitpkg.now.sh/geo-engine/openapi-client/typescript?${current_branch} + +cd - + +cd ../geoengine-python + +source .venv/bin/activate +pip uninstall geoengine-openapi-client -y +pip install "geoengine-openapi-client @ git+https://github.com/geo-engine/openapi-client@${current_branch}#subdirectory=python" +deactivate + cd - + From 0066b42506739c570480d947162347a18c56408d Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Wed, 26 Nov 2025 15:36:14 +0100 Subject: [PATCH 12/15] update openapi-client --- util/ui-dev-update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/ui-dev-update.sh b/util/ui-dev-update.sh index 43696344..0182231a 100755 --- a/util/ui-dev-update.sh +++ b/util/ui-dev-update.sh @@ -48,7 +48,7 @@ fi cd ../geoengine-ui npm uninstall @geoengine/openapi-client -npm install @geoengine/openapi-client@https://gitpkg.now.sh/geo-engine/openapi-client/typescript?${current_branch} +npm install @geoengine/openapi-client@"https://github.com/geo-engine/openapi-client.git#${current_branch}" cd - From 7f54cdcb55933fd0b5858cfcfb88a058ea4f443a Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Wed, 26 Nov 2025 15:55:06 +0100 Subject: [PATCH 13/15] update openapi-client --- .generation/input/openapi.json | 9 +-------- .../geoengine_openapi_client/api/ogcwms_api.py | 16 ++++++++-------- typescript/dist/apis/OGCWMSApi.d.ts | 4 ++-- typescript/dist/apis/OGCWMSApi.js | 7 +------ typescript/dist/esm/apis/OGCWMSApi.d.ts | 4 ++-- typescript/dist/esm/apis/OGCWMSApi.js | 7 +------ typescript/docs/OGCWMSApi.md | 8 ++++---- typescript/src/apis/OGCWMSApi.ts | 10 +++------- 8 files changed, 22 insertions(+), 43 deletions(-) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index 4ac8873a..d38c0f83 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -4872,14 +4872,7 @@ ], "responses": { "200": { - "description": "OK", - "content": { - "text/xml": { - "schema": { - "type": "string" - } - } - } + "$ref": "#/components/responses/PngResponse" } }, "security": [ diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py index e2b8db2c..f18b2abf 100644 --- a/python/geoengine_openapi_client/api/ogcwms_api.py +++ b/python/geoengine_openapi_client/api/ogcwms_api.py @@ -17,8 +17,8 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field, StrictBool, StrictStr -from typing import Optional +from pydantic import Field, StrictBool, StrictBytes, StrictStr +from typing import Optional, Tuple, Union from typing_extensions import Annotated from uuid import UUID from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat @@ -81,7 +81,7 @@ def wms_handler( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> str: + ) -> bytearray: """OGC WMS endpoint @@ -178,7 +178,7 @@ def wms_handler( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "str", + '200': "bytearray", } response_data = self.api_client.call_api( *_param, @@ -227,7 +227,7 @@ def wms_handler_with_http_info( _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[str]: + ) -> ApiResponse[bytearray]: """OGC WMS endpoint @@ -324,7 +324,7 @@ def wms_handler_with_http_info( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "str", + '200': "bytearray", } response_data = self.api_client.call_api( *_param, @@ -470,7 +470,7 @@ def wms_handler_without_preload_content( ) _response_types_map: Dict[str, Optional[str]] = { - '200': "str", + '200': "bytearray", } response_data = self.api_client.call_api( *_param, @@ -615,7 +615,7 @@ def _wms_handler_serialize( if 'Accept' not in _header_params: _header_params['Accept'] = self.api_client.select_header_accept( [ - 'text/xml' + 'image/png' ] ) diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts index 62d23238..9415b922 100644 --- a/typescript/dist/apis/OGCWMSApi.d.ts +++ b/typescript/dist/apis/OGCWMSApi.d.ts @@ -41,9 +41,9 @@ export declare class OGCWMSApi extends runtime.BaseAPI { /** * OGC WMS endpoint */ - wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * OGC WMS endpoint */ - wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } diff --git a/typescript/dist/apis/OGCWMSApi.js b/typescript/dist/apis/OGCWMSApi.js index aa580150..6f9f298c 100644 --- a/typescript/dist/apis/OGCWMSApi.js +++ b/typescript/dist/apis/OGCWMSApi.js @@ -116,12 +116,7 @@ class OGCWMSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } + return new runtime.BlobApiResponse(response); }); } /** diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts index 62d23238..9415b922 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWMSApi.d.ts @@ -41,9 +41,9 @@ export declare class OGCWMSApi extends runtime.BaseAPI { /** * OGC WMS endpoint */ - wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; + wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * OGC WMS endpoint */ - wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; + wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } diff --git a/typescript/dist/esm/apis/OGCWMSApi.js b/typescript/dist/esm/apis/OGCWMSApi.js index 768a31aa..628c074a 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.js +++ b/typescript/dist/esm/apis/OGCWMSApi.js @@ -113,12 +113,7 @@ export class OGCWMSApi extends runtime.BaseAPI { headers: headerParameters, query: queryParameters, }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } - else { - return new runtime.TextApiResponse(response); - } + return new runtime.BlobApiResponse(response); }); } /** diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index fcb82d18..e249aaad 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -10,7 +10,7 @@ All URIs are relative to *https://geoengine.io/api* ## wmsHandler -> string wmsHandler(workflow, request, bbox, bgcolor, crs, elevation, exceptions, format, height, infoFormat, layer, layers, queryLayers, service, sld, sldBody, styles, time, transparent, version, width) +> Blob wmsHandler(workflow, request, bbox, bgcolor, crs, elevation, exceptions, format, height, infoFormat, layer, layers, queryLayers, service, sld, sldBody, styles, time, transparent, version, width) OGC WMS endpoint @@ -117,7 +117,7 @@ example().catch(console.error); ### Return type -**string** +**Blob** ### Authorization @@ -126,13 +126,13 @@ example().catch(console.error); ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: `text/xml` +- **Accept**: `image/png` ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -| **200** | OK | - | +| **200** | PNG Image | - | [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts index 1ae6b32c..a8f26bad 100644 --- a/typescript/src/apis/OGCWMSApi.ts +++ b/typescript/src/apis/OGCWMSApi.ts @@ -66,7 +66,7 @@ export class OGCWMSApi extends runtime.BaseAPI { /** * OGC WMS endpoint */ - async wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + async wmsHandlerRaw(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['workflow'] == null) { throw new runtime.RequiredError( 'workflow', @@ -184,17 +184,13 @@ export class OGCWMSApi extends runtime.BaseAPI { query: queryParameters, }, initOverrides); - if (this.isJsonMime(response.headers.get('content-type'))) { - return new runtime.JSONApiResponse(response); - } else { - return new runtime.TextApiResponse(response) as any; - } + return new runtime.BlobApiResponse(response); } /** * OGC WMS endpoint */ - async wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + async wmsHandler(requestParameters: WmsHandlerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.wmsHandlerRaw(requestParameters, initOverrides); return await response.value(); } From c35bbc1bce54d3b8aea573fc6bf5ea743d70a97e Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Wed, 26 Nov 2025 16:18:06 +0100 Subject: [PATCH 14/15] update openapi-client --- .generation/input/openapi.json | 21 +++----- python/.openapi-generator/FILES | 9 ++-- python/README.md | 3 +- python/geoengine_openapi_client/__init__.py | 6 +-- .../api/ogcwms_api.py | 14 ++--- .../models/__init__.py | 3 +- .../models/get_capabilities_format.py | 37 ------------- ...t_map_format.py => wms_response_format.py} | 7 +-- python/test/test_get_capabilities_format.py | 34 ------------ ..._format.py => test_wms_response_format.py} | 12 ++--- typescript/README.md | 3 +- typescript/dist/apis/OGCWMSApi.d.ts | 4 +- typescript/dist/esm/apis/OGCWMSApi.d.ts | 4 +- .../esm/models/GetCapabilitiesFormat.d.ts | 24 --------- .../dist/esm/models/GetCapabilitiesFormat.js | 42 --------------- typescript/dist/esm/models/GetMapFormat.d.ts | 24 --------- .../dist/esm/models/WmsResponseFormat.d.ts | 25 +++++++++ .../{GetMapFormat.js => WmsResponseFormat.js} | 21 ++++---- typescript/dist/esm/models/index.d.ts | 3 +- typescript/dist/esm/models/index.js | 3 +- .../dist/models/GetCapabilitiesFormat.d.ts | 24 --------- .../dist/models/GetCapabilitiesFormat.js | 50 ----------------- typescript/dist/models/GetMapFormat.d.ts | 24 --------- typescript/dist/models/GetMapFormat.js | 50 ----------------- typescript/dist/models/WmsResponseFormat.d.ts | 25 +++++++++ typescript/dist/models/WmsResponseFormat.js | 51 ++++++++++++++++++ typescript/dist/models/index.d.ts | 3 +- typescript/dist/models/index.js | 3 +- typescript/docs/OGCWMSApi.md | 4 +- typescript/docs/WmsResponseFormat.md | 32 +++++++++++ typescript/src/apis/OGCWMSApi.ts | 8 +-- .../src/models/GetCapabilitiesFormat.ts | 52 ------------------ typescript/src/models/GetMapFormat.ts | 52 ------------------ typescript/src/models/WmsResponseFormat.ts | 53 +++++++++++++++++++ typescript/src/models/index.ts | 3 +- 35 files changed, 245 insertions(+), 488 deletions(-) delete mode 100644 python/geoengine_openapi_client/models/get_capabilities_format.py rename python/geoengine_openapi_client/models/{get_map_format.py => wms_response_format.py} (80%) delete mode 100644 python/test/test_get_capabilities_format.py rename python/test/{test_get_map_format.py => test_wms_response_format.py} (63%) delete mode 100644 typescript/dist/esm/models/GetCapabilitiesFormat.d.ts delete mode 100644 typescript/dist/esm/models/GetCapabilitiesFormat.js delete mode 100644 typescript/dist/esm/models/GetMapFormat.d.ts create mode 100644 typescript/dist/esm/models/WmsResponseFormat.d.ts rename typescript/dist/esm/models/{GetMapFormat.js => WmsResponseFormat.js} (50%) delete mode 100644 typescript/dist/models/GetCapabilitiesFormat.d.ts delete mode 100644 typescript/dist/models/GetCapabilitiesFormat.js delete mode 100644 typescript/dist/models/GetMapFormat.d.ts delete mode 100644 typescript/dist/models/GetMapFormat.js create mode 100644 typescript/dist/models/WmsResponseFormat.d.ts create mode 100644 typescript/dist/models/WmsResponseFormat.js create mode 100644 typescript/docs/WmsResponseFormat.md delete mode 100644 typescript/src/models/GetCapabilitiesFormat.ts delete mode 100644 typescript/src/models/GetMapFormat.ts create mode 100644 typescript/src/models/WmsResponseFormat.ts diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index d38c0f83..cd4f1390 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -4723,7 +4723,7 @@ "type": "null" }, { - "$ref": "#/components/schemas/GetCapabilitiesFormat" + "$ref": "#/components/schemas/WmsResponseFormat" } ] } @@ -6912,12 +6912,6 @@ } } }, - "GetCapabilitiesFormat": { - "type": "string", - "enum": [ - "text/xml" - ] - }, "GetCoverageFormat": { "type": "string", "enum": [ @@ -6937,12 +6931,6 @@ "JSON" ] }, - "GetMapFormat": { - "type": "string", - "enum": [ - "image/png" - ] - }, "GfbioAbcdDataProviderDefinition": { "type": "object", "required": [ @@ -10913,6 +10901,13 @@ "GetLegendGraphic" ] }, + "WmsResponseFormat": { + "type": "string", + "enum": [ + "text/xml", + "image/png" + ] + }, "WmsService": { "type": "string", "enum": [ diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index a45dcbd3..d6d7f9d8 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -68,11 +68,9 @@ docs/GdalSourceTimePlaceholder.md docs/GeneralApi.md docs/GeoJson.md docs/GeoTransform.md -docs/GetCapabilitiesFormat.md docs/GetCoverageFormat.md docs/GetFeatureRequest.md docs/GetMapExceptionFormat.md -docs/GetMapFormat.md docs/GfbioAbcdDataProviderDefinition.md docs/GfbioCollectionsDataProviderDefinition.md docs/GridBoundingBox2D.md @@ -263,6 +261,7 @@ docs/WfsService.md docs/WfsVersion.md docs/WildliveDataConnectorDefinition.md docs/WmsRequest.md +docs/WmsResponseFormat.md docs/WmsService.md docs/WmsVersion.md docs/Workflow.md @@ -354,11 +353,9 @@ geoengine_openapi_client/models/gdal_multi_band.py geoengine_openapi_client/models/gdal_source_time_placeholder.py geoengine_openapi_client/models/geo_json.py geoengine_openapi_client/models/geo_transform.py -geoengine_openapi_client/models/get_capabilities_format.py geoengine_openapi_client/models/get_coverage_format.py geoengine_openapi_client/models/get_feature_request.py geoengine_openapi_client/models/get_map_exception_format.py -geoengine_openapi_client/models/get_map_format.py geoengine_openapi_client/models/gfbio_abcd_data_provider_definition.py geoengine_openapi_client/models/gfbio_collections_data_provider_definition.py geoengine_openapi_client/models/grid_bounding_box2_d.py @@ -536,6 +533,7 @@ geoengine_openapi_client/models/wfs_service.py geoengine_openapi_client/models/wfs_version.py geoengine_openapi_client/models/wildlive_data_connector_definition.py geoengine_openapi_client/models/wms_request.py +geoengine_openapi_client/models/wms_response_format.py geoengine_openapi_client/models/wms_service.py geoengine_openapi_client/models/wms_version.py geoengine_openapi_client/models/workflow.py @@ -614,11 +612,9 @@ test/test_gdal_source_time_placeholder.py test/test_general_api.py test/test_geo_json.py test/test_geo_transform.py -test/test_get_capabilities_format.py test/test_get_coverage_format.py test/test_get_feature_request.py test/test_get_map_exception_format.py -test/test_get_map_format.py test/test_gfbio_abcd_data_provider_definition.py test/test_gfbio_collections_data_provider_definition.py test/test_grid_bounding_box2_d.py @@ -809,6 +805,7 @@ test/test_wfs_service.py test/test_wfs_version.py test/test_wildlive_data_connector_definition.py test/test_wms_request.py +test/test_wms_response_format.py test/test_wms_service.py test/test_wms_version.py test/test_workflow.py diff --git a/python/README.md b/python/README.md index 4d535326..50f15bcd 100644 --- a/python/README.md +++ b/python/README.md @@ -252,11 +252,9 @@ Class | Method | HTTP request | Description - [GdalSourceTimePlaceholder](docs/GdalSourceTimePlaceholder.md) - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) - - [GetCapabilitiesFormat](docs/GetCapabilitiesFormat.md) - [GetCoverageFormat](docs/GetCoverageFormat.md) - [GetFeatureRequest](docs/GetFeatureRequest.md) - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) - - [GetMapFormat](docs/GetMapFormat.md) - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) - [GridBoundingBox2D](docs/GridBoundingBox2D.md) @@ -434,6 +432,7 @@ Class | Method | HTTP request | Description - [WfsVersion](docs/WfsVersion.md) - [WildliveDataConnectorDefinition](docs/WildliveDataConnectorDefinition.md) - [WmsRequest](docs/WmsRequest.md) + - [WmsResponseFormat](docs/WmsResponseFormat.md) - [WmsService](docs/WmsService.md) - [WmsVersion](docs/WmsVersion.md) - [Workflow](docs/Workflow.md) diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index ee8a4796..0cc655ea 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -107,11 +107,9 @@ "GdalSourceTimePlaceholder", "GeoJson", "GeoTransform", - "GetCapabilitiesFormat", "GetCoverageFormat", "GetFeatureRequest", "GetMapExceptionFormat", - "GetMapFormat", "GfbioAbcdDataProviderDefinition", "GfbioCollectionsDataProviderDefinition", "GridBoundingBox2D", @@ -289,6 +287,7 @@ "WfsVersion", "WildliveDataConnectorDefinition", "WmsRequest", + "WmsResponseFormat", "WmsService", "WmsVersion", "Workflow", @@ -388,11 +387,9 @@ from geoengine_openapi_client.models.gdal_source_time_placeholder import GdalSourceTimePlaceholder as GdalSourceTimePlaceholder from geoengine_openapi_client.models.geo_json import GeoJson as GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform as GeoTransform -from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat as GetCapabilitiesFormat from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat as GetCoverageFormat from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest as GetFeatureRequest from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat as GetMapExceptionFormat -from geoengine_openapi_client.models.get_map_format import GetMapFormat as GetMapFormat from geoengine_openapi_client.models.gfbio_abcd_data_provider_definition import GfbioAbcdDataProviderDefinition as GfbioAbcdDataProviderDefinition from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition as GfbioCollectionsDataProviderDefinition from geoengine_openapi_client.models.grid_bounding_box2_d import GridBoundingBox2D as GridBoundingBox2D @@ -570,6 +567,7 @@ from geoengine_openapi_client.models.wfs_version import WfsVersion as WfsVersion from geoengine_openapi_client.models.wildlive_data_connector_definition import WildliveDataConnectorDefinition as WildliveDataConnectorDefinition from geoengine_openapi_client.models.wms_request import WmsRequest as WmsRequest +from geoengine_openapi_client.models.wms_response_format import WmsResponseFormat as WmsResponseFormat from geoengine_openapi_client.models.wms_service import WmsService as WmsService from geoengine_openapi_client.models.wms_version import WmsVersion as WmsVersion from geoengine_openapi_client.models.workflow import Workflow as Workflow diff --git a/python/geoengine_openapi_client/api/ogcwms_api.py b/python/geoengine_openapi_client/api/ogcwms_api.py index f18b2abf..773593ca 100644 --- a/python/geoengine_openapi_client/api/ogcwms_api.py +++ b/python/geoengine_openapi_client/api/ogcwms_api.py @@ -21,9 +21,9 @@ from typing import Optional, Tuple, Union from typing_extensions import Annotated from uuid import UUID -from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat from geoengine_openapi_client.models.wms_request import WmsRequest +from geoengine_openapi_client.models.wms_response_format import WmsResponseFormat from geoengine_openapi_client.models.wms_service import WmsService from geoengine_openapi_client.models.wms_version import WmsVersion @@ -55,7 +55,7 @@ def wms_handler( crs: Optional[StrictStr] = None, elevation: Optional[StrictStr] = None, exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, + format: Optional[WmsResponseFormat] = None, height: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, info_format: Optional[StrictStr] = None, layer: Optional[StrictStr] = None, @@ -100,7 +100,7 @@ def wms_handler( :param exceptions: :type exceptions: GetMapExceptionFormat :param format: - :type format: GetCapabilitiesFormat + :type format: WmsResponseFormat :param height: :type height: int :param info_format: @@ -201,7 +201,7 @@ def wms_handler_with_http_info( crs: Optional[StrictStr] = None, elevation: Optional[StrictStr] = None, exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, + format: Optional[WmsResponseFormat] = None, height: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, info_format: Optional[StrictStr] = None, layer: Optional[StrictStr] = None, @@ -246,7 +246,7 @@ def wms_handler_with_http_info( :param exceptions: :type exceptions: GetMapExceptionFormat :param format: - :type format: GetCapabilitiesFormat + :type format: WmsResponseFormat :param height: :type height: int :param info_format: @@ -347,7 +347,7 @@ def wms_handler_without_preload_content( crs: Optional[StrictStr] = None, elevation: Optional[StrictStr] = None, exceptions: Optional[GetMapExceptionFormat] = None, - format: Optional[GetCapabilitiesFormat] = None, + format: Optional[WmsResponseFormat] = None, height: Optional[Annotated[int, Field(strict=True, ge=0)]] = None, info_format: Optional[StrictStr] = None, layer: Optional[StrictStr] = None, @@ -392,7 +392,7 @@ def wms_handler_without_preload_content( :param exceptions: :type exceptions: GetMapExceptionFormat :param format: - :type format: GetCapabilitiesFormat + :type format: WmsResponseFormat :param height: :type height: int :param info_format: diff --git a/python/geoengine_openapi_client/models/__init__.py b/python/geoengine_openapi_client/models/__init__.py index 5105873b..08c7c65c 100644 --- a/python/geoengine_openapi_client/models/__init__.py +++ b/python/geoengine_openapi_client/models/__init__.py @@ -77,11 +77,9 @@ from geoengine_openapi_client.models.gdal_source_time_placeholder import GdalSourceTimePlaceholder from geoengine_openapi_client.models.geo_json import GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform -from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat -from geoengine_openapi_client.models.get_map_format import GetMapFormat from geoengine_openapi_client.models.gfbio_abcd_data_provider_definition import GfbioAbcdDataProviderDefinition from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition from geoengine_openapi_client.models.grid_bounding_box2_d import GridBoundingBox2D @@ -259,6 +257,7 @@ from geoengine_openapi_client.models.wfs_version import WfsVersion from geoengine_openapi_client.models.wildlive_data_connector_definition import WildliveDataConnectorDefinition from geoengine_openapi_client.models.wms_request import WmsRequest +from geoengine_openapi_client.models.wms_response_format import WmsResponseFormat from geoengine_openapi_client.models.wms_service import WmsService from geoengine_openapi_client.models.wms_version import WmsVersion from geoengine_openapi_client.models.workflow import Workflow diff --git a/python/geoengine_openapi_client/models/get_capabilities_format.py b/python/geoengine_openapi_client/models/get_capabilities_format.py deleted file mode 100644 index c06140f3..00000000 --- a/python/geoengine_openapi_client/models/get_capabilities_format.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class GetCapabilitiesFormat(str, Enum): - """ - GetCapabilitiesFormat - """ - - """ - allowed enum values - """ - TEXT_SLASH_XML = 'text/xml' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of GetCapabilitiesFormat from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/python/geoengine_openapi_client/models/get_map_format.py b/python/geoengine_openapi_client/models/wms_response_format.py similarity index 80% rename from python/geoengine_openapi_client/models/get_map_format.py rename to python/geoengine_openapi_client/models/wms_response_format.py index 7919b4cf..5fe8e1dd 100644 --- a/python/geoengine_openapi_client/models/get_map_format.py +++ b/python/geoengine_openapi_client/models/wms_response_format.py @@ -19,19 +19,20 @@ from typing_extensions import Self -class GetMapFormat(str, Enum): +class WmsResponseFormat(str, Enum): """ - GetMapFormat + WmsResponseFormat """ """ allowed enum values """ + TEXT_SLASH_XML = 'text/xml' IMAGE_SLASH_PNG = 'image/png' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of GetMapFormat from a JSON string""" + """Create an instance of WmsResponseFormat from a JSON string""" return cls(json.loads(json_str)) diff --git a/python/test/test_get_capabilities_format.py b/python/test/test_get_capabilities_format.py deleted file mode 100644 index c62fe0d3..00000000 --- a/python/test/test_get_capabilities_format.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.get_capabilities_format import GetCapabilitiesFormat - -class TestGetCapabilitiesFormat(unittest.TestCase): - """GetCapabilitiesFormat unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testGetCapabilitiesFormat(self): - """Test GetCapabilitiesFormat""" - # inst = GetCapabilitiesFormat() - -if __name__ == '__main__': - unittest.main() diff --git a/python/test/test_get_map_format.py b/python/test/test_wms_response_format.py similarity index 63% rename from python/test/test_get_map_format.py rename to python/test/test_wms_response_format.py index 96e3e1e6..e6b4f526 100644 --- a/python/test/test_get_map_format.py +++ b/python/test/test_wms_response_format.py @@ -15,10 +15,10 @@ import unittest -from geoengine_openapi_client.models.get_map_format import GetMapFormat +from geoengine_openapi_client.models.wms_response_format import WmsResponseFormat -class TestGetMapFormat(unittest.TestCase): - """GetMapFormat unit test stubs""" +class TestWmsResponseFormat(unittest.TestCase): + """WmsResponseFormat unit test stubs""" def setUp(self): pass @@ -26,9 +26,9 @@ def setUp(self): def tearDown(self): pass - def testGetMapFormat(self): - """Test GetMapFormat""" - # inst = GetMapFormat() + def testWmsResponseFormat(self): + """Test WmsResponseFormat""" + # inst = WmsResponseFormat() if __name__ == '__main__': unittest.main() diff --git a/typescript/README.md b/typescript/README.md index 0418da12..b238f557 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -215,11 +215,9 @@ All URIs are relative to *https://geoengine.io/api* - [GdalSourceTimePlaceholder](docs/GdalSourceTimePlaceholder.md) - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) -- [GetCapabilitiesFormat](docs/GetCapabilitiesFormat.md) - [GetCoverageFormat](docs/GetCoverageFormat.md) - [GetFeatureRequest](docs/GetFeatureRequest.md) - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) -- [GetMapFormat](docs/GetMapFormat.md) - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) - [GridBoundingBox2D](docs/GridBoundingBox2D.md) @@ -397,6 +395,7 @@ All URIs are relative to *https://geoengine.io/api* - [WfsVersion](docs/WfsVersion.md) - [WildliveDataConnectorDefinition](docs/WildliveDataConnectorDefinition.md) - [WmsRequest](docs/WmsRequest.md) +- [WmsResponseFormat](docs/WmsResponseFormat.md) - [WmsService](docs/WmsService.md) - [WmsVersion](docs/WmsVersion.md) - [Workflow](docs/Workflow.md) diff --git a/typescript/dist/apis/OGCWMSApi.d.ts b/typescript/dist/apis/OGCWMSApi.d.ts index 9415b922..4abaa6e5 100644 --- a/typescript/dist/apis/OGCWMSApi.d.ts +++ b/typescript/dist/apis/OGCWMSApi.d.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsRequest, WmsService, WmsVersion } from '../models/index'; +import type { GetMapExceptionFormat, WmsRequest, WmsResponseFormat, WmsService, WmsVersion } from '../models/index'; export interface WmsHandlerRequest { workflow: string; request: WmsRequest; @@ -19,7 +19,7 @@ export interface WmsHandlerRequest { crs?: string | null; elevation?: string | null; exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; + format?: WmsResponseFormat | null; height?: number; infoFormat?: string | null; layer?: string; diff --git a/typescript/dist/esm/apis/OGCWMSApi.d.ts b/typescript/dist/esm/apis/OGCWMSApi.d.ts index 9415b922..4abaa6e5 100644 --- a/typescript/dist/esm/apis/OGCWMSApi.d.ts +++ b/typescript/dist/esm/apis/OGCWMSApi.d.ts @@ -10,7 +10,7 @@ * Do not edit the class manually. */ import * as runtime from '../runtime'; -import type { GetCapabilitiesFormat, GetMapExceptionFormat, WmsRequest, WmsService, WmsVersion } from '../models/index'; +import type { GetMapExceptionFormat, WmsRequest, WmsResponseFormat, WmsService, WmsVersion } from '../models/index'; export interface WmsHandlerRequest { workflow: string; request: WmsRequest; @@ -19,7 +19,7 @@ export interface WmsHandlerRequest { crs?: string | null; elevation?: string | null; exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; + format?: WmsResponseFormat | null; height?: number; infoFormat?: string | null; layer?: string; diff --git a/typescript/dist/esm/models/GetCapabilitiesFormat.d.ts b/typescript/dist/esm/models/GetCapabilitiesFormat.d.ts deleted file mode 100644 index 9a4034dc..00000000 --- a/typescript/dist/esm/models/GetCapabilitiesFormat.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetCapabilitiesFormat: { - readonly TextXml: "text/xml"; -}; -export type GetCapabilitiesFormat = typeof GetCapabilitiesFormat[keyof typeof GetCapabilitiesFormat]; -export declare function instanceOfGetCapabilitiesFormat(value: any): boolean; -export declare function GetCapabilitiesFormatFromJSON(json: any): GetCapabilitiesFormat; -export declare function GetCapabilitiesFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCapabilitiesFormat; -export declare function GetCapabilitiesFormatToJSON(value?: GetCapabilitiesFormat | null): any; -export declare function GetCapabilitiesFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCapabilitiesFormat; diff --git a/typescript/dist/esm/models/GetCapabilitiesFormat.js b/typescript/dist/esm/models/GetCapabilitiesFormat.js deleted file mode 100644 index 4f0b7b90..00000000 --- a/typescript/dist/esm/models/GetCapabilitiesFormat.js +++ /dev/null @@ -1,42 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export const GetCapabilitiesFormat = { - TextXml: 'text/xml' -}; -export function instanceOfGetCapabilitiesFormat(value) { - for (const key in GetCapabilitiesFormat) { - if (Object.prototype.hasOwnProperty.call(GetCapabilitiesFormat, key)) { - if (GetCapabilitiesFormat[key] === value) { - return true; - } - } - } - return false; -} -export function GetCapabilitiesFormatFromJSON(json) { - return GetCapabilitiesFormatFromJSONTyped(json, false); -} -export function GetCapabilitiesFormatFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function GetCapabilitiesFormatToJSON(value) { - return value; -} -export function GetCapabilitiesFormatToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/GetMapFormat.d.ts b/typescript/dist/esm/models/GetMapFormat.d.ts deleted file mode 100644 index 9d8bec75..00000000 --- a/typescript/dist/esm/models/GetMapFormat.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetMapFormat: { - readonly ImagePng: "image/png"; -}; -export type GetMapFormat = typeof GetMapFormat[keyof typeof GetMapFormat]; -export declare function instanceOfGetMapFormat(value: any): boolean; -export declare function GetMapFormatFromJSON(json: any): GetMapFormat; -export declare function GetMapFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMapFormat; -export declare function GetMapFormatToJSON(value?: GetMapFormat | null): any; -export declare function GetMapFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): GetMapFormat; diff --git a/typescript/dist/esm/models/WmsResponseFormat.d.ts b/typescript/dist/esm/models/WmsResponseFormat.d.ts new file mode 100644 index 00000000..997863c9 --- /dev/null +++ b/typescript/dist/esm/models/WmsResponseFormat.d.ts @@ -0,0 +1,25 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WmsResponseFormat: { + readonly TextXml: "text/xml"; + readonly ImagePng: "image/png"; +}; +export type WmsResponseFormat = typeof WmsResponseFormat[keyof typeof WmsResponseFormat]; +export declare function instanceOfWmsResponseFormat(value: any): boolean; +export declare function WmsResponseFormatFromJSON(json: any): WmsResponseFormat; +export declare function WmsResponseFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): WmsResponseFormat; +export declare function WmsResponseFormatToJSON(value?: WmsResponseFormat | null): any; +export declare function WmsResponseFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): WmsResponseFormat; diff --git a/typescript/dist/esm/models/GetMapFormat.js b/typescript/dist/esm/models/WmsResponseFormat.js similarity index 50% rename from typescript/dist/esm/models/GetMapFormat.js rename to typescript/dist/esm/models/WmsResponseFormat.js index 433734ba..2d112f02 100644 --- a/typescript/dist/esm/models/GetMapFormat.js +++ b/typescript/dist/esm/models/WmsResponseFormat.js @@ -15,28 +15,29 @@ * * @export */ -export const GetMapFormat = { +export const WmsResponseFormat = { + TextXml: 'text/xml', ImagePng: 'image/png' }; -export function instanceOfGetMapFormat(value) { - for (const key in GetMapFormat) { - if (Object.prototype.hasOwnProperty.call(GetMapFormat, key)) { - if (GetMapFormat[key] === value) { +export function instanceOfWmsResponseFormat(value) { + for (const key in WmsResponseFormat) { + if (Object.prototype.hasOwnProperty.call(WmsResponseFormat, key)) { + if (WmsResponseFormat[key] === value) { return true; } } } return false; } -export function GetMapFormatFromJSON(json) { - return GetMapFormatFromJSONTyped(json, false); +export function WmsResponseFormatFromJSON(json) { + return WmsResponseFormatFromJSONTyped(json, false); } -export function GetMapFormatFromJSONTyped(json, ignoreDiscriminator) { +export function WmsResponseFormatFromJSONTyped(json, ignoreDiscriminator) { return json; } -export function GetMapFormatToJSON(value) { +export function WmsResponseFormatToJSON(value) { return value; } -export function GetMapFormatToJSONTyped(value, ignoreDiscriminator) { +export function WmsResponseFormatToJSONTyped(value, ignoreDiscriminator) { return value; } diff --git a/typescript/dist/esm/models/index.d.ts b/typescript/dist/esm/models/index.d.ts index 1edb6e28..39dc8306 100644 --- a/typescript/dist/esm/models/index.d.ts +++ b/typescript/dist/esm/models/index.d.ts @@ -61,11 +61,9 @@ export * from './GdalMultiBand'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; -export * from './GetCapabilitiesFormat'; export * from './GetCoverageFormat'; export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; -export * from './GetMapFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; @@ -243,6 +241,7 @@ export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; export * from './WmsRequest'; +export * from './WmsResponseFormat'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; diff --git a/typescript/dist/esm/models/index.js b/typescript/dist/esm/models/index.js index 007a0875..bcfc388d 100644 --- a/typescript/dist/esm/models/index.js +++ b/typescript/dist/esm/models/index.js @@ -63,11 +63,9 @@ export * from './GdalMultiBand'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; -export * from './GetCapabilitiesFormat'; export * from './GetCoverageFormat'; export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; -export * from './GetMapFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; @@ -245,6 +243,7 @@ export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; export * from './WmsRequest'; +export * from './WmsResponseFormat'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; diff --git a/typescript/dist/models/GetCapabilitiesFormat.d.ts b/typescript/dist/models/GetCapabilitiesFormat.d.ts deleted file mode 100644 index 9a4034dc..00000000 --- a/typescript/dist/models/GetCapabilitiesFormat.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetCapabilitiesFormat: { - readonly TextXml: "text/xml"; -}; -export type GetCapabilitiesFormat = typeof GetCapabilitiesFormat[keyof typeof GetCapabilitiesFormat]; -export declare function instanceOfGetCapabilitiesFormat(value: any): boolean; -export declare function GetCapabilitiesFormatFromJSON(json: any): GetCapabilitiesFormat; -export declare function GetCapabilitiesFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCapabilitiesFormat; -export declare function GetCapabilitiesFormatToJSON(value?: GetCapabilitiesFormat | null): any; -export declare function GetCapabilitiesFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCapabilitiesFormat; diff --git a/typescript/dist/models/GetCapabilitiesFormat.js b/typescript/dist/models/GetCapabilitiesFormat.js deleted file mode 100644 index a6dee797..00000000 --- a/typescript/dist/models/GetCapabilitiesFormat.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetCapabilitiesFormat = void 0; -exports.instanceOfGetCapabilitiesFormat = instanceOfGetCapabilitiesFormat; -exports.GetCapabilitiesFormatFromJSON = GetCapabilitiesFormatFromJSON; -exports.GetCapabilitiesFormatFromJSONTyped = GetCapabilitiesFormatFromJSONTyped; -exports.GetCapabilitiesFormatToJSON = GetCapabilitiesFormatToJSON; -exports.GetCapabilitiesFormatToJSONTyped = GetCapabilitiesFormatToJSONTyped; -/** - * - * @export - */ -exports.GetCapabilitiesFormat = { - TextXml: 'text/xml' -}; -function instanceOfGetCapabilitiesFormat(value) { - for (const key in exports.GetCapabilitiesFormat) { - if (Object.prototype.hasOwnProperty.call(exports.GetCapabilitiesFormat, key)) { - if (exports.GetCapabilitiesFormat[key] === value) { - return true; - } - } - } - return false; -} -function GetCapabilitiesFormatFromJSON(json) { - return GetCapabilitiesFormatFromJSONTyped(json, false); -} -function GetCapabilitiesFormatFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function GetCapabilitiesFormatToJSON(value) { - return value; -} -function GetCapabilitiesFormatToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/GetMapFormat.d.ts b/typescript/dist/models/GetMapFormat.d.ts deleted file mode 100644 index 9d8bec75..00000000 --- a/typescript/dist/models/GetMapFormat.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetMapFormat: { - readonly ImagePng: "image/png"; -}; -export type GetMapFormat = typeof GetMapFormat[keyof typeof GetMapFormat]; -export declare function instanceOfGetMapFormat(value: any): boolean; -export declare function GetMapFormatFromJSON(json: any): GetMapFormat; -export declare function GetMapFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMapFormat; -export declare function GetMapFormatToJSON(value?: GetMapFormat | null): any; -export declare function GetMapFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): GetMapFormat; diff --git a/typescript/dist/models/GetMapFormat.js b/typescript/dist/models/GetMapFormat.js deleted file mode 100644 index 8e33a5c2..00000000 --- a/typescript/dist/models/GetMapFormat.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetMapFormat = void 0; -exports.instanceOfGetMapFormat = instanceOfGetMapFormat; -exports.GetMapFormatFromJSON = GetMapFormatFromJSON; -exports.GetMapFormatFromJSONTyped = GetMapFormatFromJSONTyped; -exports.GetMapFormatToJSON = GetMapFormatToJSON; -exports.GetMapFormatToJSONTyped = GetMapFormatToJSONTyped; -/** - * - * @export - */ -exports.GetMapFormat = { - ImagePng: 'image/png' -}; -function instanceOfGetMapFormat(value) { - for (const key in exports.GetMapFormat) { - if (Object.prototype.hasOwnProperty.call(exports.GetMapFormat, key)) { - if (exports.GetMapFormat[key] === value) { - return true; - } - } - } - return false; -} -function GetMapFormatFromJSON(json) { - return GetMapFormatFromJSONTyped(json, false); -} -function GetMapFormatFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function GetMapFormatToJSON(value) { - return value; -} -function GetMapFormatToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/WmsResponseFormat.d.ts b/typescript/dist/models/WmsResponseFormat.d.ts new file mode 100644 index 00000000..997863c9 --- /dev/null +++ b/typescript/dist/models/WmsResponseFormat.d.ts @@ -0,0 +1,25 @@ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/** + * + * @export + */ +export declare const WmsResponseFormat: { + readonly TextXml: "text/xml"; + readonly ImagePng: "image/png"; +}; +export type WmsResponseFormat = typeof WmsResponseFormat[keyof typeof WmsResponseFormat]; +export declare function instanceOfWmsResponseFormat(value: any): boolean; +export declare function WmsResponseFormatFromJSON(json: any): WmsResponseFormat; +export declare function WmsResponseFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): WmsResponseFormat; +export declare function WmsResponseFormatToJSON(value?: WmsResponseFormat | null): any; +export declare function WmsResponseFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): WmsResponseFormat; diff --git a/typescript/dist/models/WmsResponseFormat.js b/typescript/dist/models/WmsResponseFormat.js new file mode 100644 index 00000000..931d289d --- /dev/null +++ b/typescript/dist/models/WmsResponseFormat.js @@ -0,0 +1,51 @@ +"use strict"; +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WmsResponseFormat = void 0; +exports.instanceOfWmsResponseFormat = instanceOfWmsResponseFormat; +exports.WmsResponseFormatFromJSON = WmsResponseFormatFromJSON; +exports.WmsResponseFormatFromJSONTyped = WmsResponseFormatFromJSONTyped; +exports.WmsResponseFormatToJSON = WmsResponseFormatToJSON; +exports.WmsResponseFormatToJSONTyped = WmsResponseFormatToJSONTyped; +/** + * + * @export + */ +exports.WmsResponseFormat = { + TextXml: 'text/xml', + ImagePng: 'image/png' +}; +function instanceOfWmsResponseFormat(value) { + for (const key in exports.WmsResponseFormat) { + if (Object.prototype.hasOwnProperty.call(exports.WmsResponseFormat, key)) { + if (exports.WmsResponseFormat[key] === value) { + return true; + } + } + } + return false; +} +function WmsResponseFormatFromJSON(json) { + return WmsResponseFormatFromJSONTyped(json, false); +} +function WmsResponseFormatFromJSONTyped(json, ignoreDiscriminator) { + return json; +} +function WmsResponseFormatToJSON(value) { + return value; +} +function WmsResponseFormatToJSONTyped(value, ignoreDiscriminator) { + return value; +} diff --git a/typescript/dist/models/index.d.ts b/typescript/dist/models/index.d.ts index 1edb6e28..39dc8306 100644 --- a/typescript/dist/models/index.d.ts +++ b/typescript/dist/models/index.d.ts @@ -61,11 +61,9 @@ export * from './GdalMultiBand'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; -export * from './GetCapabilitiesFormat'; export * from './GetCoverageFormat'; export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; -export * from './GetMapFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; @@ -243,6 +241,7 @@ export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; export * from './WmsRequest'; +export * from './WmsResponseFormat'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; diff --git a/typescript/dist/models/index.js b/typescript/dist/models/index.js index 81c52bbd..fc5df579 100644 --- a/typescript/dist/models/index.js +++ b/typescript/dist/models/index.js @@ -79,11 +79,9 @@ __exportStar(require("./GdalMultiBand"), exports); __exportStar(require("./GdalSourceTimePlaceholder"), exports); __exportStar(require("./GeoJson"), exports); __exportStar(require("./GeoTransform"), exports); -__exportStar(require("./GetCapabilitiesFormat"), exports); __exportStar(require("./GetCoverageFormat"), exports); __exportStar(require("./GetFeatureRequest"), exports); __exportStar(require("./GetMapExceptionFormat"), exports); -__exportStar(require("./GetMapFormat"), exports); __exportStar(require("./GfbioAbcdDataProviderDefinition"), exports); __exportStar(require("./GfbioCollectionsDataProviderDefinition"), exports); __exportStar(require("./GridBoundingBox2D"), exports); @@ -261,6 +259,7 @@ __exportStar(require("./WfsService"), exports); __exportStar(require("./WfsVersion"), exports); __exportStar(require("./WildliveDataConnectorDefinition"), exports); __exportStar(require("./WmsRequest"), exports); +__exportStar(require("./WmsResponseFormat"), exports); __exportStar(require("./WmsService"), exports); __exportStar(require("./WmsVersion"), exports); __exportStar(require("./Workflow"), exports); diff --git a/typescript/docs/OGCWMSApi.md b/typescript/docs/OGCWMSApi.md index e249aaad..d5112ef8 100644 --- a/typescript/docs/OGCWMSApi.md +++ b/typescript/docs/OGCWMSApi.md @@ -46,7 +46,7 @@ async function example() { elevation: elevation_example, // GetMapExceptionFormat (optional) exceptions: ..., - // GetCapabilitiesFormat (optional) + // WmsResponseFormat (optional) format: ..., // number (optional) height: 256, @@ -100,7 +100,7 @@ example().catch(console.error); | **crs** | `string` | | [Optional] [Defaults to `undefined`] | | **elevation** | `string` | | [Optional] [Defaults to `undefined`] | | **exceptions** | `GetMapExceptionFormat` | | [Optional] [Defaults to `undefined`] [Enum: XML, JSON] | -| **format** | `GetCapabilitiesFormat` | | [Optional] [Defaults to `undefined`] [Enum: text/xml] | +| **format** | `WmsResponseFormat` | | [Optional] [Defaults to `undefined`] [Enum: text/xml, image/png] | | **height** | `number` | | [Optional] [Defaults to `undefined`] | | **infoFormat** | `string` | | [Optional] [Defaults to `undefined`] | | **layer** | `string` | | [Optional] [Defaults to `undefined`] | diff --git a/typescript/docs/WmsResponseFormat.md b/typescript/docs/WmsResponseFormat.md new file mode 100644 index 00000000..b42583fb --- /dev/null +++ b/typescript/docs/WmsResponseFormat.md @@ -0,0 +1,32 @@ + +# WmsResponseFormat + + +## Properties + +Name | Type +------------ | ------------- + +## Example + +```typescript +import type { WmsResponseFormat } from '@geoengine/openapi-client' + +// TODO: Update the object below with actual values +const example = { +} satisfies WmsResponseFormat + +console.log(example) + +// Convert the instance to a JSON string +const exampleJSON: string = JSON.stringify(example) +console.log(exampleJSON) + +// Parse the JSON string back to an object +const exampleParsed = JSON.parse(exampleJSON) as WmsResponseFormat +console.log(exampleParsed) +``` + +[[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md) + + diff --git a/typescript/src/apis/OGCWMSApi.ts b/typescript/src/apis/OGCWMSApi.ts index a8f26bad..1f23b455 100644 --- a/typescript/src/apis/OGCWMSApi.ts +++ b/typescript/src/apis/OGCWMSApi.ts @@ -15,19 +15,19 @@ import * as runtime from '../runtime'; import type { - GetCapabilitiesFormat, GetMapExceptionFormat, WmsRequest, + WmsResponseFormat, WmsService, WmsVersion, } from '../models/index'; import { - GetCapabilitiesFormatFromJSON, - GetCapabilitiesFormatToJSON, GetMapExceptionFormatFromJSON, GetMapExceptionFormatToJSON, WmsRequestFromJSON, WmsRequestToJSON, + WmsResponseFormatFromJSON, + WmsResponseFormatToJSON, WmsServiceFromJSON, WmsServiceToJSON, WmsVersionFromJSON, @@ -42,7 +42,7 @@ export interface WmsHandlerRequest { crs?: string | null; elevation?: string | null; exceptions?: GetMapExceptionFormat | null; - format?: GetCapabilitiesFormat | null; + format?: WmsResponseFormat | null; height?: number; infoFormat?: string | null; layer?: string; diff --git a/typescript/src/models/GetCapabilitiesFormat.ts b/typescript/src/models/GetCapabilitiesFormat.ts deleted file mode 100644 index 09ab1286..00000000 --- a/typescript/src/models/GetCapabilitiesFormat.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const GetCapabilitiesFormat = { - TextXml: 'text/xml' -} as const; -export type GetCapabilitiesFormat = typeof GetCapabilitiesFormat[keyof typeof GetCapabilitiesFormat]; - - -export function instanceOfGetCapabilitiesFormat(value: any): boolean { - for (const key in GetCapabilitiesFormat) { - if (Object.prototype.hasOwnProperty.call(GetCapabilitiesFormat, key)) { - if (GetCapabilitiesFormat[key as keyof typeof GetCapabilitiesFormat] === value) { - return true; - } - } - } - return false; -} - -export function GetCapabilitiesFormatFromJSON(json: any): GetCapabilitiesFormat { - return GetCapabilitiesFormatFromJSONTyped(json, false); -} - -export function GetCapabilitiesFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetCapabilitiesFormat { - return json as GetCapabilitiesFormat; -} - -export function GetCapabilitiesFormatToJSON(value?: GetCapabilitiesFormat | null): any { - return value as any; -} - -export function GetCapabilitiesFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): GetCapabilitiesFormat { - return value as GetCapabilitiesFormat; -} - diff --git a/typescript/src/models/GetMapFormat.ts b/typescript/src/models/GetMapFormat.ts deleted file mode 100644 index af93727a..00000000 --- a/typescript/src/models/GetMapFormat.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const GetMapFormat = { - ImagePng: 'image/png' -} as const; -export type GetMapFormat = typeof GetMapFormat[keyof typeof GetMapFormat]; - - -export function instanceOfGetMapFormat(value: any): boolean { - for (const key in GetMapFormat) { - if (Object.prototype.hasOwnProperty.call(GetMapFormat, key)) { - if (GetMapFormat[key as keyof typeof GetMapFormat] === value) { - return true; - } - } - } - return false; -} - -export function GetMapFormatFromJSON(json: any): GetMapFormat { - return GetMapFormatFromJSONTyped(json, false); -} - -export function GetMapFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMapFormat { - return json as GetMapFormat; -} - -export function GetMapFormatToJSON(value?: GetMapFormat | null): any { - return value as any; -} - -export function GetMapFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): GetMapFormat { - return value as GetMapFormat; -} - diff --git a/typescript/src/models/WmsResponseFormat.ts b/typescript/src/models/WmsResponseFormat.ts new file mode 100644 index 00000000..71cd53b6 --- /dev/null +++ b/typescript/src/models/WmsResponseFormat.ts @@ -0,0 +1,53 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Geo Engine API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 0.9.0 + * Contact: dev@geoengine.de + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const WmsResponseFormat = { + TextXml: 'text/xml', + ImagePng: 'image/png' +} as const; +export type WmsResponseFormat = typeof WmsResponseFormat[keyof typeof WmsResponseFormat]; + + +export function instanceOfWmsResponseFormat(value: any): boolean { + for (const key in WmsResponseFormat) { + if (Object.prototype.hasOwnProperty.call(WmsResponseFormat, key)) { + if (WmsResponseFormat[key as keyof typeof WmsResponseFormat] === value) { + return true; + } + } + } + return false; +} + +export function WmsResponseFormatFromJSON(json: any): WmsResponseFormat { + return WmsResponseFormatFromJSONTyped(json, false); +} + +export function WmsResponseFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): WmsResponseFormat { + return json as WmsResponseFormat; +} + +export function WmsResponseFormatToJSON(value?: WmsResponseFormat | null): any { + return value as any; +} + +export function WmsResponseFormatToJSONTyped(value: any, ignoreDiscriminator: boolean): WmsResponseFormat { + return value as WmsResponseFormat; +} + diff --git a/typescript/src/models/index.ts b/typescript/src/models/index.ts index 007a0875..bcfc388d 100644 --- a/typescript/src/models/index.ts +++ b/typescript/src/models/index.ts @@ -63,11 +63,9 @@ export * from './GdalMultiBand'; export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; -export * from './GetCapabilitiesFormat'; export * from './GetCoverageFormat'; export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; -export * from './GetMapFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; export * from './GridBoundingBox2D'; @@ -245,6 +243,7 @@ export * from './WfsService'; export * from './WfsVersion'; export * from './WildliveDataConnectorDefinition'; export * from './WmsRequest'; +export * from './WmsResponseFormat'; export * from './WmsService'; export * from './WmsVersion'; export * from './Workflow'; From b8be79c60ccebf69b217b539f0808decd2a5eb77 Mon Sep 17 00:00:00 2001 From: Michael Mattig Date: Wed, 26 Nov 2025 16:50:15 +0100 Subject: [PATCH 15/15] update openapi-client --- .generation/input/openapi.json | 6 --- python/.openapi-generator/FILES | 3 -- python/README.md | 1 - python/geoengine_openapi_client/__init__.py | 2 - .../models/__init__.py | 1 - .../models/get_feature_request.py | 37 ------------- python/test/test_get_feature_request.py | 34 ------------ typescript/README.md | 1 - .../dist/esm/models/GetFeatureRequest.d.ts | 24 --------- .../dist/esm/models/GetFeatureRequest.js | 42 --------------- typescript/dist/esm/models/index.d.ts | 1 - typescript/dist/esm/models/index.js | 1 - typescript/dist/models/GetFeatureRequest.d.ts | 24 --------- typescript/dist/models/GetFeatureRequest.js | 50 ------------------ typescript/dist/models/index.d.ts | 1 - typescript/dist/models/index.js | 1 - typescript/src/models/GetFeatureRequest.ts | 52 ------------------- typescript/src/models/index.ts | 1 - util/{ui-dev-update.sh => dev-update.sh} | 0 19 files changed, 282 deletions(-) delete mode 100644 python/geoengine_openapi_client/models/get_feature_request.py delete mode 100644 python/test/test_get_feature_request.py delete mode 100644 typescript/dist/esm/models/GetFeatureRequest.d.ts delete mode 100644 typescript/dist/esm/models/GetFeatureRequest.js delete mode 100644 typescript/dist/models/GetFeatureRequest.d.ts delete mode 100644 typescript/dist/models/GetFeatureRequest.js delete mode 100644 typescript/src/models/GetFeatureRequest.ts rename util/{ui-dev-update.sh => dev-update.sh} (100%) diff --git a/.generation/input/openapi.json b/.generation/input/openapi.json index cd4f1390..c7e7a383 100644 --- a/.generation/input/openapi.json +++ b/.generation/input/openapi.json @@ -6918,12 +6918,6 @@ "image/tiff" ] }, - "GetFeatureRequest": { - "type": "string", - "enum": [ - "GetFeature" - ] - }, "GetMapExceptionFormat": { "type": "string", "enum": [ diff --git a/python/.openapi-generator/FILES b/python/.openapi-generator/FILES index d6d7f9d8..b26b705a 100644 --- a/python/.openapi-generator/FILES +++ b/python/.openapi-generator/FILES @@ -69,7 +69,6 @@ docs/GeneralApi.md docs/GeoJson.md docs/GeoTransform.md docs/GetCoverageFormat.md -docs/GetFeatureRequest.md docs/GetMapExceptionFormat.md docs/GfbioAbcdDataProviderDefinition.md docs/GfbioCollectionsDataProviderDefinition.md @@ -354,7 +353,6 @@ geoengine_openapi_client/models/gdal_source_time_placeholder.py geoengine_openapi_client/models/geo_json.py geoengine_openapi_client/models/geo_transform.py geoengine_openapi_client/models/get_coverage_format.py -geoengine_openapi_client/models/get_feature_request.py geoengine_openapi_client/models/get_map_exception_format.py geoengine_openapi_client/models/gfbio_abcd_data_provider_definition.py geoengine_openapi_client/models/gfbio_collections_data_provider_definition.py @@ -613,7 +611,6 @@ test/test_general_api.py test/test_geo_json.py test/test_geo_transform.py test/test_get_coverage_format.py -test/test_get_feature_request.py test/test_get_map_exception_format.py test/test_gfbio_abcd_data_provider_definition.py test/test_gfbio_collections_data_provider_definition.py diff --git a/python/README.md b/python/README.md index 50f15bcd..32c67c3e 100644 --- a/python/README.md +++ b/python/README.md @@ -253,7 +253,6 @@ Class | Method | HTTP request | Description - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) - [GetCoverageFormat](docs/GetCoverageFormat.md) - - [GetFeatureRequest](docs/GetFeatureRequest.md) - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) diff --git a/python/geoengine_openapi_client/__init__.py b/python/geoengine_openapi_client/__init__.py index 0cc655ea..0e27efe5 100644 --- a/python/geoengine_openapi_client/__init__.py +++ b/python/geoengine_openapi_client/__init__.py @@ -108,7 +108,6 @@ "GeoJson", "GeoTransform", "GetCoverageFormat", - "GetFeatureRequest", "GetMapExceptionFormat", "GfbioAbcdDataProviderDefinition", "GfbioCollectionsDataProviderDefinition", @@ -388,7 +387,6 @@ from geoengine_openapi_client.models.geo_json import GeoJson as GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform as GeoTransform from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat as GetCoverageFormat -from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest as GetFeatureRequest from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat as GetMapExceptionFormat from geoengine_openapi_client.models.gfbio_abcd_data_provider_definition import GfbioAbcdDataProviderDefinition as GfbioAbcdDataProviderDefinition from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition as GfbioCollectionsDataProviderDefinition diff --git a/python/geoengine_openapi_client/models/__init__.py b/python/geoengine_openapi_client/models/__init__.py index 08c7c65c..5eda45f6 100644 --- a/python/geoengine_openapi_client/models/__init__.py +++ b/python/geoengine_openapi_client/models/__init__.py @@ -78,7 +78,6 @@ from geoengine_openapi_client.models.geo_json import GeoJson from geoengine_openapi_client.models.geo_transform import GeoTransform from geoengine_openapi_client.models.get_coverage_format import GetCoverageFormat -from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest from geoengine_openapi_client.models.get_map_exception_format import GetMapExceptionFormat from geoengine_openapi_client.models.gfbio_abcd_data_provider_definition import GfbioAbcdDataProviderDefinition from geoengine_openapi_client.models.gfbio_collections_data_provider_definition import GfbioCollectionsDataProviderDefinition diff --git a/python/geoengine_openapi_client/models/get_feature_request.py b/python/geoengine_openapi_client/models/get_feature_request.py deleted file mode 100644 index 1f9a4a02..00000000 --- a/python/geoengine_openapi_client/models/get_feature_request.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -from __future__ import annotations -import json -from enum import Enum -from typing_extensions import Self - - -class GetFeatureRequest(str, Enum): - """ - GetFeatureRequest - """ - - """ - allowed enum values - """ - GETFEATURE = 'GetFeature' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of GetFeatureRequest from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/python/test/test_get_feature_request.py b/python/test/test_get_feature_request.py deleted file mode 100644 index 4a6ff56f..00000000 --- a/python/test/test_get_feature_request.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 - -""" - Geo Engine API - - No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - - The version of the OpenAPI document: 0.9.0 - Contact: dev@geoengine.de - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import unittest - -from geoengine_openapi_client.models.get_feature_request import GetFeatureRequest - -class TestGetFeatureRequest(unittest.TestCase): - """GetFeatureRequest unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testGetFeatureRequest(self): - """Test GetFeatureRequest""" - # inst = GetFeatureRequest() - -if __name__ == '__main__': - unittest.main() diff --git a/typescript/README.md b/typescript/README.md index b238f557..7bc5f3cc 100644 --- a/typescript/README.md +++ b/typescript/README.md @@ -216,7 +216,6 @@ All URIs are relative to *https://geoengine.io/api* - [GeoJson](docs/GeoJson.md) - [GeoTransform](docs/GeoTransform.md) - [GetCoverageFormat](docs/GetCoverageFormat.md) -- [GetFeatureRequest](docs/GetFeatureRequest.md) - [GetMapExceptionFormat](docs/GetMapExceptionFormat.md) - [GfbioAbcdDataProviderDefinition](docs/GfbioAbcdDataProviderDefinition.md) - [GfbioCollectionsDataProviderDefinition](docs/GfbioCollectionsDataProviderDefinition.md) diff --git a/typescript/dist/esm/models/GetFeatureRequest.d.ts b/typescript/dist/esm/models/GetFeatureRequest.d.ts deleted file mode 100644 index ed0b6064..00000000 --- a/typescript/dist/esm/models/GetFeatureRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetFeatureRequest: { - readonly GetFeature: "GetFeature"; -}; -export type GetFeatureRequest = typeof GetFeatureRequest[keyof typeof GetFeatureRequest]; -export declare function instanceOfGetFeatureRequest(value: any): boolean; -export declare function GetFeatureRequestFromJSON(json: any): GetFeatureRequest; -export declare function GetFeatureRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetFeatureRequest; -export declare function GetFeatureRequestToJSON(value?: GetFeatureRequest | null): any; -export declare function GetFeatureRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetFeatureRequest; diff --git a/typescript/dist/esm/models/GetFeatureRequest.js b/typescript/dist/esm/models/GetFeatureRequest.js deleted file mode 100644 index ec0c0012..00000000 --- a/typescript/dist/esm/models/GetFeatureRequest.js +++ /dev/null @@ -1,42 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export const GetFeatureRequest = { - GetFeature: 'GetFeature' -}; -export function instanceOfGetFeatureRequest(value) { - for (const key in GetFeatureRequest) { - if (Object.prototype.hasOwnProperty.call(GetFeatureRequest, key)) { - if (GetFeatureRequest[key] === value) { - return true; - } - } - } - return false; -} -export function GetFeatureRequestFromJSON(json) { - return GetFeatureRequestFromJSONTyped(json, false); -} -export function GetFeatureRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -export function GetFeatureRequestToJSON(value) { - return value; -} -export function GetFeatureRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/esm/models/index.d.ts b/typescript/dist/esm/models/index.d.ts index 39dc8306..de89bf9f 100644 --- a/typescript/dist/esm/models/index.d.ts +++ b/typescript/dist/esm/models/index.d.ts @@ -62,7 +62,6 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCoverageFormat'; -export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; diff --git a/typescript/dist/esm/models/index.js b/typescript/dist/esm/models/index.js index bcfc388d..81316b39 100644 --- a/typescript/dist/esm/models/index.js +++ b/typescript/dist/esm/models/index.js @@ -64,7 +64,6 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCoverageFormat'; -export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; diff --git a/typescript/dist/models/GetFeatureRequest.d.ts b/typescript/dist/models/GetFeatureRequest.d.ts deleted file mode 100644 index ed0b6064..00000000 --- a/typescript/dist/models/GetFeatureRequest.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -/** - * - * @export - */ -export declare const GetFeatureRequest: { - readonly GetFeature: "GetFeature"; -}; -export type GetFeatureRequest = typeof GetFeatureRequest[keyof typeof GetFeatureRequest]; -export declare function instanceOfGetFeatureRequest(value: any): boolean; -export declare function GetFeatureRequestFromJSON(json: any): GetFeatureRequest; -export declare function GetFeatureRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetFeatureRequest; -export declare function GetFeatureRequestToJSON(value?: GetFeatureRequest | null): any; -export declare function GetFeatureRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetFeatureRequest; diff --git a/typescript/dist/models/GetFeatureRequest.js b/typescript/dist/models/GetFeatureRequest.js deleted file mode 100644 index 9ea5649e..00000000 --- a/typescript/dist/models/GetFeatureRequest.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetFeatureRequest = void 0; -exports.instanceOfGetFeatureRequest = instanceOfGetFeatureRequest; -exports.GetFeatureRequestFromJSON = GetFeatureRequestFromJSON; -exports.GetFeatureRequestFromJSONTyped = GetFeatureRequestFromJSONTyped; -exports.GetFeatureRequestToJSON = GetFeatureRequestToJSON; -exports.GetFeatureRequestToJSONTyped = GetFeatureRequestToJSONTyped; -/** - * - * @export - */ -exports.GetFeatureRequest = { - GetFeature: 'GetFeature' -}; -function instanceOfGetFeatureRequest(value) { - for (const key in exports.GetFeatureRequest) { - if (Object.prototype.hasOwnProperty.call(exports.GetFeatureRequest, key)) { - if (exports.GetFeatureRequest[key] === value) { - return true; - } - } - } - return false; -} -function GetFeatureRequestFromJSON(json) { - return GetFeatureRequestFromJSONTyped(json, false); -} -function GetFeatureRequestFromJSONTyped(json, ignoreDiscriminator) { - return json; -} -function GetFeatureRequestToJSON(value) { - return value; -} -function GetFeatureRequestToJSONTyped(value, ignoreDiscriminator) { - return value; -} diff --git a/typescript/dist/models/index.d.ts b/typescript/dist/models/index.d.ts index 39dc8306..de89bf9f 100644 --- a/typescript/dist/models/index.d.ts +++ b/typescript/dist/models/index.d.ts @@ -62,7 +62,6 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCoverageFormat'; -export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; diff --git a/typescript/dist/models/index.js b/typescript/dist/models/index.js index fc5df579..b733c323 100644 --- a/typescript/dist/models/index.js +++ b/typescript/dist/models/index.js @@ -80,7 +80,6 @@ __exportStar(require("./GdalSourceTimePlaceholder"), exports); __exportStar(require("./GeoJson"), exports); __exportStar(require("./GeoTransform"), exports); __exportStar(require("./GetCoverageFormat"), exports); -__exportStar(require("./GetFeatureRequest"), exports); __exportStar(require("./GetMapExceptionFormat"), exports); __exportStar(require("./GfbioAbcdDataProviderDefinition"), exports); __exportStar(require("./GfbioCollectionsDataProviderDefinition"), exports); diff --git a/typescript/src/models/GetFeatureRequest.ts b/typescript/src/models/GetFeatureRequest.ts deleted file mode 100644 index 4c9463c5..00000000 --- a/typescript/src/models/GetFeatureRequest.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Geo Engine API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 0.9.0 - * Contact: dev@geoengine.de - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -/** - * - * @export - */ -export const GetFeatureRequest = { - GetFeature: 'GetFeature' -} as const; -export type GetFeatureRequest = typeof GetFeatureRequest[keyof typeof GetFeatureRequest]; - - -export function instanceOfGetFeatureRequest(value: any): boolean { - for (const key in GetFeatureRequest) { - if (Object.prototype.hasOwnProperty.call(GetFeatureRequest, key)) { - if (GetFeatureRequest[key as keyof typeof GetFeatureRequest] === value) { - return true; - } - } - } - return false; -} - -export function GetFeatureRequestFromJSON(json: any): GetFeatureRequest { - return GetFeatureRequestFromJSONTyped(json, false); -} - -export function GetFeatureRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetFeatureRequest { - return json as GetFeatureRequest; -} - -export function GetFeatureRequestToJSON(value?: GetFeatureRequest | null): any { - return value as any; -} - -export function GetFeatureRequestToJSONTyped(value: any, ignoreDiscriminator: boolean): GetFeatureRequest { - return value as GetFeatureRequest; -} - diff --git a/typescript/src/models/index.ts b/typescript/src/models/index.ts index bcfc388d..81316b39 100644 --- a/typescript/src/models/index.ts +++ b/typescript/src/models/index.ts @@ -64,7 +64,6 @@ export * from './GdalSourceTimePlaceholder'; export * from './GeoJson'; export * from './GeoTransform'; export * from './GetCoverageFormat'; -export * from './GetFeatureRequest'; export * from './GetMapExceptionFormat'; export * from './GfbioAbcdDataProviderDefinition'; export * from './GfbioCollectionsDataProviderDefinition'; diff --git a/util/ui-dev-update.sh b/util/dev-update.sh similarity index 100% rename from util/ui-dev-update.sh rename to util/dev-update.sh