Skip to content

Commit 6753baa

Browse files
committed
Merge remote-tracking branch 'origin/0.4.1'
2 parents c212d63 + 7e59d70 commit 6753baa

11 files changed

+140
-115
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ before_install:
1313
- pip install mkdocs-macros-plugin
1414
- pip install pymdown-extensions
1515
- pip install pygments
16-
- npm install -g asyncapi-generator
16+
- npm install -g asyncapi-generator@0.6.7 # 0.7 only supports AsyncAPI 2.0
1717
- npm install -g concat-json-files
1818
- npm install -g speccy
1919
- speccy lint openapi.json -r "speccy.yml"

CHANGELOG.md

+20-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,26 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.4.1] - 2019-05-29
8+
9+
### Changed
10+
- Updated the process catalog, see the separate changelog.
11+
12+
### Removed
13+
- The property `sar:absolute_orbit` in `GET /collections/{collection_id}` has been removed.
14+
- Sending a Bearer token to `GET /credentials/oidc` is not allowed any longer.
15+
16+
### Fixed
17+
- Improved and clarified the documentation and descriptions.
18+
- `GET /collections/{collection_id}`:
19+
- `properties` in `GET /collections/{collection_id}` doesn't require any of the integrated STAC extensions any longer.
20+
- The property `sci:publications` in `GET /collections/{collection_id}` was ported over incorrectly from STAC. The data type has been changed from object to array.
21+
- `GET /jobs/{job_id}/results` was expected to return HTTP status code 424 with an error message, but it was specified in `/jobs/{job_id}/estimate` instead. The definition was moved. [#177](https://github.com/Open-EO/openeo-api/issues/177)
22+
- `path` in `GET` and `PUT` `/files/{user_id}` is required again.
23+
- Fixed several issues in the client development guidelines.
24+
725
## [0.4.0] - 2019-03-07
26+
827
### Added
928
- `GET /jobs/{job_id}/estimate` can return the estimated required storage capacity. [#122](https://github.com/Open-EO/openeo-api/issues/122)
1029
- `GET /jobs/{job_id}` has two new properties:
@@ -23,7 +42,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2342
- Processes and parameters can be declared to be `experimental`.
2443
- `GET /output_formats` and `GET /service_types` can now provide links per entry.
2544
- `GET /udf_runtimes` provide a list of UDF runtime environments. [#87](https://github.com/Open-EO/openeo-api/issues/87)
26-
- `GET /service_types` allows to specify `variables` that can be used in process graphs. [#172](https://github.com/Open-EO/openeo-api/issues/172)
45+
- `GET /service_types` allows to specify `variables` that can be used in process graphs. [#172](https://github.com/Open-EO/openeo-api/issues/172)
2746

2847
### Changed
2948
- Completely new version of the processes.

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
openEO develops an open API to connect R, python and javascript clients to big Earth observation cloud back-ends in a simple and unified way. This repository contains this API, the openEO (core) API.
44

5-
* **[Documentation / Specification](https://open-eo.github.io/openeo-api/v/0.4.0/index.html)**
5+
* **[Documentation / Specification](https://open-eo.github.io/openeo-api/v/0.4.1/index.html)**
66

77
## Versions
88

9-
The openEO (core) API is currently released in version **0.4.0**.
9+
The openEO (core) API is currently released in version **0.4.1**.
1010

1111
**Note:** The specification is currently still an early version, with the potential for some major things to change. The core is now fleshed out, so implementors are encouraged to try it out and give feedback. But the goal is to actually be able to act on that feedback, which will mean changes are quite possible. A solid basis is specified right now, but best practices, extensions and specification details will emerge with implementation.
1212

@@ -16,8 +16,8 @@ The openEO (core) API is currently released in version **0.4.0**.
1616
| [0.0.2](https://github.com/Open-EO/openeo-api/tree/0.0.2) ([Spec](https://open-eo.github.io/openeo-api/v/0.0.2/index.html)) | legacy | Proof of concept, implemented. |
1717
| [0.3.0](https://github.com/Open-EO/openeo-api/tree/0.3.0) ([Spec](https://open-eo.github.io/openeo-api/v/0.3.0/index.html)) | legacy | Major rework. |
1818
| [0.3.1](https://github.com/Open-EO/openeo-api/tree/0.3.1) ([Spec](https://open-eo.github.io/openeo-api/v/0.3.1/index.html)) | legacy, supported | Fixing minor issues, see the [changelog](CHANGELOG.md#031---2018-11-06). |
19-
| [**0.4.0**](https://github.com/Open-EO/openeo-api/tree/0.4.0) ([Spec](https://open-eo.github.io/openeo-api/v/0.4.0/index.html)) | **current** | Improved discovery, added processes catalogue, new process graph structure and [more](CHANGELOG.md#040---2019-03-07). |
20-
| [0.4.1](https://github.com/Open-EO/openeo-api/tree/0.4.1) ([Spec](https://open-eo.github.io/openeo-api/v/0.4.1/index.html)) | draft | Bugfix release, see the [changelog](CHANGELOG.md). |
19+
| [0.4.0](https://github.com/Open-EO/openeo-api/tree/0.4.0) ([Spec](https://open-eo.github.io/openeo-api/v/0.4.0/index.html)) | legacy, supported | Improved discovery, added processes catalogue, new process graph structure and [more](CHANGELOG.md#040---2019-03-07). |
20+
| [**0.4.1**](https://github.com/Open-EO/openeo-api/tree/0.4.1) ([Spec](https://open-eo.github.io/openeo-api/v/0.4.1/index.html)) | **current** | Bugfix release, see the [changelog](CHANGELOG.md#041---2019-05-29). |
2121
| [0.5.0](https://github.com/Open-EO/openeo-api/tree/0.5.0) ([Spec](https://open-eo.github.io/openeo-api/v/0.5.0/index.html)) | planned | Improvements based on implementer feedback, introduce extension concept. |
2222

2323
See also the [changelog](CHANGELOG.md) and the [milestones](https://github.com/Open-EO/openeo-api/milestones) for a rough roadmap based on GitHub issues.
@@ -26,8 +26,8 @@ See also the [changelog](CHANGELOG.md) and the [milestones](https://github.com/O
2626

2727
This repository contains a set of files formally and technically describing the openEO API, each with a human-readable and easily browseable version:
2828

29-
* [docs/](docs/) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.0/)) contains all additional written documentation, including 'getting started' guides, the architecture, feature descriptions, development guidelines and more.
30-
* [processes/](processes/) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.0/processreference/)) defines pre-defined core processes back-ends may implement for best interoperability.
31-
* [openapi.json](openapi.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.0/apireference/)) provides the [openAPI](https://www.openapis.org/) 3.0 definition of the openEO API.
32-
* [subscriptions.json](subscriptions.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.0/apireference-subscriptions/)) provides the [AsyncAPI](https://www.asyncapi.com/) 1.2 definitions for the WebSocket-based subscriptions and notifications API for openEO.
33-
* [errors.json](errors.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.0/errors/#openeo-error-codes)) is a list of potential global error codes and messages, excluding specific exceptions separately available for each process.
29+
* [docs/](docs/) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.1/)) contains all additional written documentation, including 'getting started' guides, the architecture, feature descriptions, development guidelines and more.
30+
* [processes/](processes/) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.1/processreference/)) defines pre-defined core processes back-ends may implement for best interoperability.
31+
* [openapi.json](openapi.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.1/apireference/)) provides the [openAPI](https://www.openapis.org/) 3.0 definition of the openEO API.
32+
* [subscriptions.json](subscriptions.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.1/apireference-subscriptions/)) provides the [AsyncAPI](https://www.asyncapi.com/) 1.2 definitions for the WebSocket-based subscriptions and notifications API for openEO.
33+
* [errors.json](errors.json) ([browseable version](https://open-eo.github.io/openeo-api/v/0.4.1/errors/#openeo-error-codes)) is a list of potential global error codes and messages, excluding specific exceptions separately available for each process.

docs/guidelines-clients.md

+8-7
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Parameters with a leading `?` are optional.
9191

9292
| Description | Client method |
9393
| ------------------------------------------------------------ | ------------- |
94-
| Connect to a back-end, including authentication. Returns `Connection`. | `connect(url, ?authType, ?authOptions)` |
94+
| Connect to a back-end, includes version discovery (`GET /well-known/openeo`), requesting capabilities and authentication where required. Returns `Connection`. | `connect(url, ?authType, ?authOptions)` |
9595
| Get client library version. | `clientVersion()` |
9696

9797
#### Parameters
@@ -106,6 +106,7 @@ Parameters with a leading `?` are optional.
106106
| Get the capabilities of the back-end. Returns `Capabilities`. | `GET /` | `capabilities()` |
107107
| List the supported output file formats. | `GET /output_formats` | `listFileTypes()` |
108108
| List the supported secondary service types. | `GET /service_types` | `listServiceTypes()` |
109+
| List the supported UDF runtimes. | `GET /udf_runtimes` | `listUdfRuntimes()` |
109110
| List all collections available on the back-end. | `GET /collections` | `listCollections()` |
110111
| Get information about a single collection. | `GET /collections/{collection_id}` | `describeCollection(collection_id)` |
111112
| List all processes available on the back-end. | `GET /processes` | `listProcesses()` |
@@ -114,13 +115,13 @@ Parameters with a leading `?` are optional.
114115
| Get information about the authenticated user. | `GET /me` | `describeAccount()` |
115116
| Lists all files from a user. Returns a list of `File`. | `GET /files/{user_id}` | `listFiles(?userId)` |
116117
| Opens a (existing or non-existing) file without reading any information. Returns a `File`. | *None* | `openFile(path, ?userId)` |
117-
| Validates a process graph. | `POST /validate` | `validateProcessGraph(processGraph)` |
118+
| Validates a process graph. | `POST /validation` | `validateProcessGraph(processGraph)` |
118119
| Lists all process graphs of the authenticated user. Returns a list of `ProcessGraph`. | `GET /process_graphs` | `listProcessGraphs()` |
119120
| Creates a new stored process graph. Returns a `ProcessGraph`. | `POST /process_graphs` | `createProcessGraph(processGraph, ?title, ?description)` |
120-
| Get all information about a stored process graph. Returns a `ProcessGraph`. | `GET /process_graphs/{process_graph_id}` | `getJobById(id)` |
121-
| Executes a process graph synchronously. | `POST /result` | `computeResult(processGraph, ?outputFormat, ?outputParameters, ?budget)` |
121+
| Get all information about a stored process graph. Returns a `ProcessGraph`. | `GET /process_graphs/{process_graph_id}` | `getProcessGraphById(id)` |
122+
| Executes a process graph synchronously. | `POST /result` | `computeResult(processGraph, ?plan, ?budget)` |
122123
| Lists all jobs of the authenticated user. Returns a list of `Job`. | `GET /jobs` | `listJobs()` |
123-
| Creates a new job. Returns a `Job`. | `POST /jobs` | `createJob(processGraph, ?outputFormat, ?outputParameters, ?title, ?description, ?plan, ?budget, ?additional)` |
124+
| Creates a new job. Returns a `Job`. | `POST /jobs` | `createJob(processGraph, ?title, ?description, ?plan, ?budget, ?additional)` |
124125
| Get all information about a job. Returns a `Job`. | `GET /jobs/{job_id}` | `getJobById(id)` |
125126
| Lists all secondary services of the authenticated user. Returns a list of `Service`. | `GET /services` | `listServices()` |
126127
| Creates a new secondary service. Returns a `Service`. | `POST /services` | `createService(processGraph, type, ?title, ?description, ?enabled, ?parameters, ?plan, ?budget)` |
@@ -143,7 +144,7 @@ Should be prefixed with `Capabilities` if collisions of names between different
143144
| Get the description of the back-end. | `description` | `description()` |
144145
| List all supported features / endpoints. | `endpoints` | `listFeatures()` |
145146
| Check whether a feature / endpoint is supported. | `endpoints` > ... | `hasFeature(methodName)` |
146-
| Get default billing currency. | `billing` > `currency` | `currency()` |
147+
| Get the default billing currency. | `billing` > `currency` | `currency()` |
147148
| List all billing plans. | `billing` > `plans` | `listPlans()` |
148149

149150
#### Parameters
@@ -171,7 +172,7 @@ The `Job` scope internally knows the `job_id`.
171172
| Description | API Request | Client method |
172173
| ------------------------------------------ | ---------------------------------- | ------------- |
173174
| Get (and update on client-side) all job information. | `GET /jobs/{job_id}` | `describeJob()` |
174-
| Modify a job at the back-end. | `PATCH /jobs/{job_id}` | `updateJob(?processGraph, ?outputFormat, ?outputParameters, ?title, ?description, ?plan, ?budget, ?additional)` |
175+
| Modify a job at the back-end. | `PATCH /jobs/{job_id}` | `updateJob(?processGraph, ?title, ?description, ?plan, ?budget, ?additional)` |
175176
| Delete a job | `DELETE /jobs/{job_id}` | `deleteJob()` |
176177
| Calculate an time/cost estimate for a job. | `GET /jobs/{job_id}/estimate` | `estimateJob()` |
177178
| Start / queue a job for processing. | `POST /jobs/{job_id}/results` | `startJob()` |

docs/processes.md

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ In addition to the native data formats specified by JSON schema, openEO defines
2626

2727
| Format Name | Data type | Description |
2828
| ------------------------- | --------- | ----------- |
29+
| `band-name` | string | A band name available in the data cube. |
2930
| `bounding-box` | object | A bounding box with the required fields `west`, `south`, `east`, `north` and optionally `base`, `height`, `crs`. The `crs` is a EPSG code or PROJ definition. |
3031
| `callback` | object | An openEO process graph that is passed as an argument and is expected to be executed by the process. Callback parameters are specified in a `parameters` property (see chapter "Callbacks" below). |
3132
| `collection-id` | string | A collection id from the list of supported collections. Pattern: `^[A-Za-z0-9_\-\.~/]+$` |

docs/processgraphs.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ The process graph representing the algorithm:
174174
}
175175
},
176176
"sub": {
177-
"process_id": "substract",
177+
"process_id": "subtract",
178178
"arguments": {
179179
"data": [{"from_node": "nir"}, {"from_node": "red"}]
180180
}

errors.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@
6565
]
6666
},
6767
"BudgetInvalid": {
68-
"description": "The specified budget is too low as it is either smaller than or equal to 0 or below the costs.",
69-
"message": "The specified budget is too low.",
68+
"description": "The budget is too low as it is either smaller than or equal to 0 or below the costs.",
69+
"message": "The budget is too low.",
7070
"http": 400,
7171
"tags": [
7272
"Job Management",
@@ -85,7 +85,7 @@
8585
},
8686
"PropertyNotEditable": {
8787
"description": "For PATCH requests: The specified parameter can't be updated. It is read-only.",
88-
"message": "Specified property '{property}' is read-only.",
88+
"message": "Property '{property}' is read-only.",
8989
"http": 400,
9090
"tags": [
9191
"Job Management",
@@ -155,7 +155,7 @@
155155
},
156156
"ContentTypeInvalid": {
157157
"description": "The specified media (MIME) type used in the Content-Type header is not allowed.",
158-
"message": "Media type specified in the request is not supported. Supported media types: {types}",
158+
"message": "The media type is not supported. Allowed: {types}",
159159
"http": 400,
160160
"tags": [
161161
"File Management",
@@ -225,7 +225,7 @@
225225
},
226226
"VariableDefaultValueTypeInvalid": {
227227
"description": null,
228-
"message": "The default value specified for the process graph variable '{variable_id}' is not of type '{type}'.",
228+
"message": "The default value for the process graph variable '{variable_id}' is not of type '{type}'.",
229229
"http": 400,
230230
"tags": [
231231
"Process Graph Management",
@@ -243,7 +243,7 @@
243243
},
244244
"VariableTypeInvalid": {
245245
"description": null,
246-
"message": "The data type specified for the process graph variable '{variable_id}' is invalid. Must be one of: string, boolean, number, array or object.",
246+
"message": "The data type for the process graph variable '{variable_id}' is invalid. Must be one of: string, boolean, number, array or object.",
247247
"http": 400,
248248
"tags": [
249249
"Process Graph Management",
@@ -268,7 +268,7 @@
268268
},
269269
"ProcessArgumentInvalid": {
270270
"description": null,
271-
"message": "The value specified for the process argument '{argument}' in process '{process}' is invalid: {reason}",
271+
"message": "The argument '{argument}' in process '{process}' is invalid: {reason}",
272272
"http": 400,
273273
"tags": [
274274
"Processes"
@@ -284,7 +284,7 @@
284284
},
285285
"ProcessArgumentsMissing": {
286286
"description": null,
287-
"message": "Process '{process}' requires at least '{min_parameters}' parameters.",
287+
"message": "Process '{process}' requires at least {min_parameters} parameters.",
288288
"http": 400,
289289
"tags": [
290290
"Processes"
@@ -317,7 +317,7 @@
317317
},
318318
"FormatArgumentInvalid": {
319319
"description": null,
320-
"message": "The value specified for the output format argument '{argument}' is invalid: {reason}",
320+
"message": "The output format argument '{argument}' is invalid: {reason}",
321321
"http": 400,
322322
"tags": [
323323
"Job Management"
@@ -365,8 +365,8 @@
365365
]
366366
},
367367
"BillingPlanInvalid": {
368-
"description": "The specified billing plan is not on the list of available plans.",
369-
"message": "The specified billing plan is not valid.",
368+
"description": "The billing plan is not on the list of available plans.",
369+
"message": "The billing plan is not valid.",
370370
"http": 400,
371371
"tags": [
372372
"Job Management",
@@ -431,7 +431,7 @@
431431
},
432432
"ServiceArgumentInvalid": {
433433
"description": null,
434-
"message": "The value specified for the secondary service argument '{argument}' is invalid: {reason}",
434+
"message": "The secondary service argument '{argument}' is invalid: {reason}",
435435
"http": 400,
436436
"tags": [
437437
"Secondary Services Management"

mkdocs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
site_name: openEO API 0.4.0
1+
site_name: openEO API 0.4.1
22
nav:
33
- Prologue:
44
- Introduction: index.md

0 commit comments

Comments
 (0)