You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`GET /`: New Relation types: [#404](https://github.com/Open-EO/openeo-api/issues/404)
17
+
-`create-form` to link to the registration page
18
+
-`recovery-form` to link to the credentials recovery page.
19
+
-`GET /file_formats`: Add `pointcloud` to the `gis_data_types`. [#475](https://github.com/Open-EO/openeo-api/issues/475)
20
+
-`GET /me`: New Relation types `alternate` and `related` for user-specific external pages. [#404](https://github.com/Open-EO/openeo-api/issues/404)
21
+
-`GET /credentials/oidc`: Allow `authorization_code` and `urn:ietf:params:oauth:grant-type:device_code` (both without PKCE) as grants for `default_clients`. [#410](https://github.com/Open-EO/openeo-api/issues/410)
22
+
-`GET /jobs` and `GET /jobs/{job_id}`: Added a links property that can for example link to results and logs. [#453](https://github.com/Open-EO/openeo-api/issues/453)
23
+
-`GET /jobs/{job_id}/results`:
24
+
- Recommendation to add a link with relation type `canonical` which points to a signed URL with the same content as the response. [#397](https://github.com/Open-EO/openeo-api/issues/397)
25
+
- Added metadata field `openeo:status` to indicate the job status (and whether the result is complete or not).
26
+
- Added parameter `partial` to allow retrieving incomplete results, which must also add the new property `openeo:status` to the metadata. [#430](https://github.com/Open-EO/openeo-api/issues/430)
27
+
-`GET /jobs/{job_id}/logs`, `GET /services/{service_id}/logs`: Added `level` parameter to requests to set the minimum log level returned by the response. [#485](https://github.com/Open-EO/openeo-api/issues/485)
28
+
- Added property `log_level` to secondary web service, batch job and synchronous processing endpoints to indicate the minimum severity level that should be stored for logs. [#329](https://github.com/Open-EO/openeo-api/issues/329)
29
+
-`GET /jobs/{job_id}/logs`, `GET /services/{service_id}/logs` and `POST /result`: Added `level` property in responses to reflect the minimum log level that may appear in the response. [#329](https://github.com/Open-EO/openeo-api/issues/329)
30
+
- Recommendation to add media types and titles to links for a better user experience.
31
+
- Allow the relation type `canonical` to be used generally for (shared) resources (e.g. UDPs or batch jobs) without requiring Bearer authentication. [#405](https://github.com/Open-EO/openeo-api/issues/405)
32
+
- Recommendation for UDF runtime names. [#409](https://github.com/Open-EO/openeo-api/issues/409)
33
+
- Processes: Added `dimensions` schema for subtype `datacube`
34
+
- Collections: Added `geometry` dimension type to `cube:dimensions`
35
+
- New endpoint for metadata filters (queryables): `/collections/{collection_id}/queryables`. Also adds a new rel type to the collection links. [#396](https://github.com/Open-EO/openeo-api/issues/396)
36
+
37
+
### Changed
38
+
39
+
- Updated STAC specification examples and references to v1.0.0, please see the [STAC changelog](https://github.com/radiantearth/stac-spec/blob/master/CHANGELOG.md) for all changes between 0.9 and 1.0.
40
+
-`cube:dimensions`: `reference_system` is allowed to be PROJJSON, too.
41
+
- Relaxed requirement that unsupported endpoints must return HTTP status code 501. Instead also HTTP status code 404 can be used (and is regularly used in practice). [#415](https://github.com/Open-EO/openeo-api/issues/415)
42
+
- Minimum value for `costs` and `budget` is 0.
43
+
-`GET /jobs/{job_id}/estimate`: If a batch job can't be estimated reliably, a `EstimateComplexity` error should be returned. [#443](https://github.com/Open-EO/openeo-api/issues/443)
44
+
- The `/conformance` endpoint is now generally used for OGC APIs, STAC API and openEO. `conformsTo` is also exposed in `GET /` for STAC APIs. The openEO API and all extensions got individual conformance classes. [#186](https://github.com/Open-EO/openeo-api/issues/186)
45
+
46
+
### Fixed
47
+
48
+
- Explicitly mention the use of HTTP content negotiation
49
+
- Clarify that the default charset is UTF-8 [#462](https://github.com/Open-EO/openeo-api/issues/462)
50
+
- Fixed inconsistencies in errors.json: removed `ProcessGraphIdDoesntMatch`, clarified `ProcessGraphMissing`, added `ProcessInvalid` and `ProcessGraphInvalid`. [#394](https://github.com/Open-EO/openeo-api/issues/394), [#395](https://github.com/Open-EO/openeo-api/issues/395), [#401](https://github.com/Open-EO/openeo-api/issues/401)
51
+
- Fixed the default value for the version number in the API url (`v1.0` -> `v1`) and improved the description for API versioning. [#393](https://github.com/Open-EO/openeo-api/issues/393)
52
+
- Fixed the Collection example to use `gsd` instead of `eo:gsd`. [#399](https://github.com/Open-EO/openeo-api/issues/399)
53
+
- Clarify use of `user_id`. [#404](https://github.com/Open-EO/openeo-api/issues/404)
54
+
- Clarify that the relation type `version-history` should include `/.well-known/openeo` in the URL.
55
+
- Clarify that clients should (re-)request capabilities and discovery endpoints with token if available and supported. [#416](https://github.com/Open-EO/openeo-api/issues/416)
56
+
- Clarify the fields `plan` (for processing requests) and `billing_plan` (in `GET /` and `GET /me`). [#425](https://github.com/Open-EO/openeo-api/issues/425)[#426](https://github.com/Open-EO/openeo-api/issues/426)
57
+
- Clarified ambiguous batch job status changes.
58
+
- Reflect that the `debug` process has been renamed to `inspect`.
59
+
- Clarified uniqueness constraints for identifiers. [#449](https://github.com/Open-EO/openeo-api/issues/449)[#454](https://github.com/Open-EO/openeo-api/issues/454)
60
+
- Clarified schematically the applicability of JSON Schema extensions (`parameters`, `returns`, `dimensions`) and their relation to the subtypes
61
+
-`GET /`: Removed the superfluous default value for `currency`. [#423](https://github.com/Open-EO/openeo-api/issues/423)
62
+
-`GET /credentials/oidc`: Clarify that clients may add additional scopes
63
+
-`GET /me`: Clarify the behavior of the field `budget`.
64
+
-`GET /jobs/{job_id}/logs`, `GET /services/{service_id}/logs` and `POST /result`: Clarified the formatting of the `message` property. [#455](https://github.com/Open-EO/openeo-api/issues/455)
65
+
-`GET /jobs/{job_id}/estimate`: Don't require that the costs are the upper limit. Services may specify the costs more freely depending on their terms of service.
66
+
-`GET /services` and `GET /services/{service_id}`: Clarify that `enabled` is required by removing the default value. [#473](https://github.com/Open-EO/openeo-api/issues/473)
67
+
- Several appearances of `nullable` were clarified according to the lint report by Spectral
68
+
- Clarify how the well-known document works [#460](https://github.com/Open-EO/openeo-api/issues/460)
69
+
- Clarify handling of JSON Schema versions
70
+
9
71
## [1.1.0] - 2021-05-17
10
72
11
73
### Added
@@ -34,7 +96,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
34
96
- Clarified that job results require the property `datetime` and allow for additional properties. [#362](https://github.com/Open-EO/openeo-api/issues/362)
35
97
- Clarified that billing plans, service names and file formats must be accepted case-insensitive. [#371](https://github.com/Open-EO/openeo-api/issues/371)
36
98
- Clarified that the first provider listed at `GET /credentials/oidc` is the default provider for OpenID Connect.
37
-
- Clarified that `GET/jobs/{job_id}/results`should always return valid signed URLs and the endpoint can be used to renew the signed URLs. [#379](https://github.com/Open-EO/openeo-api/issues/379)
99
+
- Clarified that `GET/jobs/{job_id}/results`should always return valid signed URLs and the endpoint can be used to renew the signed URLs. [#379](https://github.com/Open-EO/openeo-api/issues/379)
38
100
- Fixed casing of potential endpoints `GET /collections/{collection_id}/items` and `GET /collections/{collection_id}/items/{feature_id}`.
39
101
- Clarified allowed characters in the `path` for uploaded user files.
40
102
@@ -83,9 +145,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
83
145
- Additional dimensions in `cube:dimensions` can only be of type `other`.
84
146
- The extents `interval` and `bbox` can have multiple entries.
85
147
- Allow all STAC versions that are compatible to STAC 0.9.0.
86
-
- Process graph nodes have an additional field `namespace` to distinguish pre-defined and user-defined processes. The default behavior has not changed. [#305](https://github.com/Open-EO/openeo-api/issues/305)
148
+
- Process graph nodes have an additional field `namespace` to distinguish predefined and user-defined processes. The default behavior has not changed. [#305](https://github.com/Open-EO/openeo-api/issues/305)
87
149
- Added `format: commonmark` to all properties supporting CommonMark formatting.
88
-
-`errors.json`: The pre-defined error messages have been reworked. [#272](https://github.com/Open-EO/openeo-api/issues/272), [#273](https://github.com/Open-EO/openeo-api/issues/273)
150
+
-`errors.json`: The predefined error messages have been reworked. [#272](https://github.com/Open-EO/openeo-api/issues/272), [#273](https://github.com/Open-EO/openeo-api/issues/273)
89
151
- Added `FolderOperationUnsupported`, `UnsupportedApiVersion`, `PermissionsInsufficient`, `ProcessGraphIdDoesntMatch` and `PredefinedProcessExists`.
90
152
- Added variable `reason` to error `FilePathInvalid` and `type` to `FileTypeInvalid` and`ServiceUnsupported`.
91
153
- Replaced the following error messages. The variables in the messages may have changed, too.
@@ -272,7 +334,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
272
334
-`GET /jobs/{job_id}/estimate` can return the estimated required storage capacity. [#122](https://github.com/Open-EO/openeo-api/issues/122)
273
335
-`GET /jobs/{job_id}` has two new properties:
274
336
-`progress` indicates the batch job progress when running. [#82](https://github.com/Open-EO/openeo-api/issues/82)
275
-
-`error` states the error message when a job errored out.
337
+
-`error` states the error message when a job stopped due to an error.
276
338
`GET /jobs/{job_id}/result` mirrors this error message in a response with HTTP status code 424. [#165](https://github.com/Open-EO/openeo-api/issues/165)
277
339
-`GET /.well-known/openeo` allows clients to choose between versions. [#148](https://github.com/Open-EO/openeo-api/issues/148)
Copy file name to clipboardExpand all lines: README.md
+23-2Lines changed: 23 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,13 @@ openEO develops an open API to connect R, Python and JavaScript clients to big E
6
6
7
7
## Versions / Branches
8
8
9
-
The [master branch](https://github.com/Open-EO/openeo-api/tree/master) is the 'stable' version of the openEO API specification. It is currently version **1.1.0** of the specification. The [draft branch](https://github.com/Open-EO/openeo-api/tree/draft) is where active development takes place.
9
+
The [master branch](https://github.com/Open-EO/openeo-api/tree/master) is the 'stable' version of the openEO API specification. It is currently version **1.2.0** of the specification. The [draft branch](https://github.com/Open-EO/openeo-api/tree/draft) is where active development takes place.
|[draft](https://api.openeo.org/draft)| planned |*Unstable* - Next version. |
14
-
|[**1.1.0**](https://api.openeo.org)|**current**| Clarifications, STAC updates, return value for child processes, more details for logs and jobs, default clients for OIDC. [Changelog](CHANGELOG.md#110---2021-06-15). |
14
+
|[**1.2.0**](https://api.openeo.org)|**current**| Clarifications, new extensions, vector data cubes, STAC (API) updates, more link relation types, improved batch job results and logs. [Changelog](CHANGELOG.md#120---2023-05-31). |
15
+
|[1.1.0](https://api.openeo.org/1.1.0)| legacy | Clarifications, STAC updates, return value for child processes, more details for logs and jobs, default clients for OIDC. [Changelog](CHANGELOG.md#110---2021-06-15). |
15
16
|[1.0.1](https://api.openeo.org/1.0.1)| legacy | Clarifications, bugfixes and CORS improvements. [Changelog](CHANGELOG.md#101---2020-12-07). |
16
17
|[1.0.0](https://api.openeo.org/1.0.0)| legacy | First stable version of openEO. [Changelog](CHANGELOG.md#100---2020-07-17). |
@@ -26,10 +27,30 @@ The [master branch](https://github.com/Open-EO/openeo-api/tree/master) is the 's
26
27
27
28
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.
|[Commercial Data](extensions/commercial-data/)| 0.1.0 | experimental | Provides an interface for discovering, ordering and using commercial data. |
35
+
|[Federation](extensions/federation/)| 0.1.0 | experimental | Covers federation aspects, i.e. where multiple back-ends are exposed as a single API. |
36
+
29
37
## Repository
30
38
31
39
This repository contains a set of files formally describing the openEO API, each with a human-readable and easily browseable version:
32
40
33
41
*[openapi.yaml](openapi.yaml) provides the [OpenAPI](https://www.openapis.org/) 3.0 definition of the openEO API. See the table above for human-readable versions of the OpenAPI definition.
34
42
*[errors.json](errors.json) is a list of potential global error codes and messages, excluding specific exceptions separately available for each process.
35
43
* The [assets](assets/) folder contains some useful additional files such as examples or schemas. All of these are non-binding additions. The source of truth are the top-level specification files.
44
+
* The [extensions](extensions/) folder contains extensions to the openEO API.
45
+
46
+
# Development
47
+
48
+
The `draft` branch is the latest version and is the one to create Pull Requests against.
49
+
50
+
For development some tools can be used:
51
+
52
+
1. Install [node and npm](https://nodejs.org) - should run with any recent version
53
+
2. Run `npm install` in this folder to install the dependencies
54
+
3. Run the linter for the OpenAPI file with `npm test`. This will lint the files and check against some best-practices. It uses `spectral` in the background.
55
+
4. To show the files nicely formatted in a web browser, run `npm start`. It starts a server and opens the API specification rendered with ReDoc in a web browser.
56
+
5. To create a static HTML page (e.g. for hosting it on GitHub Pages), you can run `npm run build` and it will create a `redoc.html` in this folder.
0 commit comments