diff --git a/CHANGELOG.md b/CHANGELOG.md index b53ef23d..a87b4930 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,6 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - ## [v1.0.0-beta5 - Unreleased] - TBD ### Added @@ -19,7 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -## [v1.0.0-beta4] - 2020-10-05 +## [v1.0.0-beta.4] - 2020-10-05 ### Added diff --git a/README.md b/README.md index dd274503..c6393d7b 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ to search STAC catalogs, where the features returned are STAC [Item](stac-spec/i that have common properties, links to their assets and geometries that represent the footprints of the geospatial assets. The specification for STAC API is provided as files that follow the [OpenAPI](http://openapis.org/) 3.0 specification, -rendered online into HTML at , in addition to human-readable documentation. +rendered online into HTML at , in addition to human-readable documentation. ## Stability Note diff --git a/build/swagger-config.yaml b/build/swagger-config.yaml index 86256693..efe60fb9 100644 --- a/build/swagger-config.yaml +++ b/build/swagger-config.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: STAC API - Complete - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 apis: - url: 'build/core/openapi.yaml' paths: diff --git a/collections/README.md b/collections/README.md index 2fafff84..04254e74 100644 --- a/collections/README.md +++ b/collections/README.md @@ -5,8 +5,8 @@ - [Endpoints](#endpoints) - [Example](#example) -- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.4/collections)) -- **Conformance URI:** +- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.5/collections)) +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Dependencies**: [STAC API - Core](../core) @@ -24,24 +24,24 @@ aim to align with it. But it still seems to be in flux.* The following Link relations shall exist in the Landing Page (root). -| **rel** | **href** | **From** | **Description** | -| -------------- | -------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `root` | `/` | STAC Core | The root URI | -| `self` | `/` | OAFeat | Self reference, same as root URI | -| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | -| `data` | `/collections` | OAFeat | List of Collections | +| **rel** | **href** | **From** | **Description** | +| -------------- | -------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `root` | `/` | STAC Core | The root URI | +| `self` | `/` | OAFeat | Self reference, same as root URI | +| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | +| `data` | `/collections` | OAFeat | List of Collections | A `service-doc` endpoint is recommended, but not required. -| **rel** | **href** | **From** | **Description** | -| ------------- | ------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- | +| **rel** | **href** | **From** | **Description** | +| ------------- | ----------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `service-doc` | `/api.html` | OAFeat OpenAPI | An HTML service description. Uses the `text/html` media type to refer to a human-consumable description of the service. The path for this endpoint is only recommended to be `/api.html`, but may be another path. | Additionally, `child` relations may exist to individual catalogs and collections. -| **rel** | **href** | **From** | **Description** | -| -------------- | -------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `child` | various | STAC Core | The child STAC Catalogs & Collections. Provides curated paths to get to STAC Collection and Item objects | +| **rel** | **href** | **From** | **Description** | +| ------- | -------- | --------- | -------------------------------------------------------------------------------------------------------- | +| `child` | various | STAC Core | The child STAC Catalogs & Collections. Provides curated paths to get to STAC Collection and Item objects | `child` relations are useful for supporting browsing a STAC API as if it were a static catalog. @@ -54,17 +54,17 @@ The following Link relations shall exist in the `/collections` endpoint response The following Link relations shall exist in the Collection object returned from the `/collections/{collectionId}` endpoint. -| **rel** | **href** | **From** | **Description** | -| -------- | ----------------------------------- | --------- | ------------------------------------------ | -| `root` | `/` | STAC Core | The root URI | -| `parent` | `/` | OAFeat | Parent reference, usually the root Catalog | -| `self` | `/collections/{collectionId}` | OAFeat | Self reference | +| **rel** | **href** | **From** | **Description** | +| -------- | ----------------------------- | --------- | ------------------------------------------ | +| `root` | `/` | STAC Core | The root URI | +| `parent` | `/` | OAFeat | Parent reference, usually the root Catalog | +| `self` | `/collections/{collectionId}` | OAFeat | Self reference | Additionally, these relations may exist for the `/collections/{collectionId}` endpoint: -| **rel** | **href** | **From** | **Description** | -| -------- | ----------------------------------- | --------- | ------------------------------------------ | -| `canonical` | various | STAC Core | Provides the preferred paths to get to STAC Collection and Item objects, if they differ from the URL that was used to retrieve the STAC object and thus duplicate other content. This can be useful in federated catalogs that present metadata that has a different location than the source metadata. | +| **rel** | **href** | **From** | **Description** | +| ----------- | -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `canonical` | various | STAC Core | Provides the preferred paths to get to STAC Collection and Item objects, if they differ from the URL that was used to retrieve the STAC object and thus duplicate other content. This can be useful in federated catalogs that present metadata that has a different location than the source metadata. | Usually, the `self` link in a Collection must link to the same URL that was used to request it. However, implementations may choose to have the canonical location of the Collection be @@ -72,12 +72,12 @@ elsewhere. If this is done, it is recommended to include a `rel` of `canonical` ## Endpoints -| Endpoint | Returns | Description | -| -------- | ------- | ----------- | -| `/` | Catalog | Landing Page and root Catalog | +| Endpoint | Returns | Description | +| ----------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `/` | Catalog | Landing Page and root Catalog | | `/api` | OAFeat OpenAPI | The OpenAPI service description. The path for this endpoint is only recommended to be `/api`, but may be another path. | -| `/collections` | JSON | Object with a list of Collections contained in the catalog and links | -| `/collections/{collectionId}` | Collection | Returns single Collection JSON | +| `/collections` | JSON | Object with a list of Collections contained in the catalog and links | +| `/collections/{collectionId}` | Collection | Returns single Collection JSON | STAC API's implementing the Collections class must support HTTP GET operation at `/collections`, with the return JSON document consisting of an array of all STAC Collections and an array of Links. diff --git a/collections/openapi.yaml b/collections/openapi.yaml index edd40ae3..309cae4f 100644 --- a/collections/openapi.yaml +++ b/collections/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: STAC API - Collections - version: '1.0.0-beta.4' + version: '1.0.0-beta.5' description: >- This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Core specification. This is a subset of the STAC API - Collections specification. @@ -38,13 +38,13 @@ paths: schema: $ref: '../core/openapi.yaml#/components/schemas/landingPage' example: - stac_version: 1.0.0-beta.4 + stac_version: 1.0.0-beta.5 type: Catalog id: sentinel title: Copernicus Sentinel Imagery description: Catalog of Copernicus Sentinel 1 and 2 imagery. conformsTo: - - 'https://api.stacspec.org/v1.0.0-beta.4/core' + - 'https://api.stacspec.org/v1.0.0-beta.5/core' - 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core' - 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30' - 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson' diff --git a/core/README.md b/core/README.md index e23a853f..17375521 100644 --- a/core/README.md +++ b/core/README.md @@ -5,9 +5,9 @@ - [Example Landing Page for STAC API - Core](#example-landing-page-for-stac-api---core) - [Extensions](#extensions) -- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.4/core)), +- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.5/core)), and [commons.yaml](commons.yaml) is the OpenAPI version of the core [STAC spec](../stac-spec) JSON Schemas. -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Dependencies**: None @@ -50,23 +50,23 @@ API endpoints from OAFeat or STAC API to be implemented, so the following links The following Link relations shall exist in the Landing Page (root). -| **rel** | **href** | **From** | **Description** | -| -------------- | -------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `root` | `/` | STAC Core | The root URI | -| `self` | `/` | OAFeat | Self reference, same as root URI | -| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | +| **rel** | **href** | **From** | **Description** | +| -------------- | -------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `root` | `/` | STAC Core | The root URI | +| `self` | `/` | OAFeat | Self reference, same as root URI | +| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | A `service-doc` endpoint is recommended, but not required. -| **rel** | **href** | **From** | **Description** | -| ------------- | ------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- | +| **rel** | **href** | **From** | **Description** | +| ------------- | ----------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `service-doc` | `/api.html` | OAFeat OpenAPI | An HTML service description. Uses the `text/html` media type to refer to a human-consumable description of the service. The path for this endpoint is only recommended to be `/api.html`, but may be another path. | Additionally, `child` relations may exist to individual catalogs and collections. -| **rel** | **href** | **From** | **Description** | -| -------------- | -------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `child` | various | STAC Core | The child STAC Catalogs & Collections. Provides curated paths to get to STAC Collection and Item objects | +| **rel** | **href** | **From** | **Description** | +| ------- | -------- | --------- | -------------------------------------------------------------------------------------------------------- | +| `child` | various | STAC Core | The child STAC Catalogs & Collections. Provides curated paths to get to STAC Collection and Item objects | It is also valid to have `item` links from the landing page, but most STAC API services are used to serve up a large number of features, so they typically @@ -88,7 +88,7 @@ the [overview](../overview.md#example-landing-page) document. "description": "This Catalog aims to demonstrate the a simple landing page", "type": "Catalog", "conformsTo" : [ - "https://api.stacspec.org/v1.0.0-beta.4/core" + "https://api.stacspec.org/v1.0.0-beta.5/core" ], "links": [ { diff --git a/core/commons.yaml b/core/commons.yaml index e42fe618..73aad6b3 100644 --- a/core/commons.yaml +++ b/core/commons.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Commons description: This is the OpenAPI version of the core STAC spec JSON Schemas. - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 paths: {} components: responses: diff --git a/core/openapi.yaml b/core/openapi.yaml index 4d15443a..b55ba28f 100644 --- a/core/openapi.yaml +++ b/core/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: STAC API - Core - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 description: >- This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Core specification. Any service that implements this endpoint to allow discovery of @@ -63,7 +63,7 @@ components: title: Copernicus Sentinel Imagery description: Catalog of Copernicus Sentinel 1 and 2 imagery. conformsTo: - - 'https://api.stacspec.org/v1.0.0-beta.4/core' + - 'https://api.stacspec.org/v1.0.0-beta.5/core' links: - href: 'http://data.example.org/' rel: self diff --git a/extensions.md b/extensions.md index 3e6f65c4..59765d4e 100644 --- a/extensions.md +++ b/extensions.md @@ -66,12 +66,12 @@ Each extension has its own conformance URI, which is used in the `conformsTo` re the service supports. This are listed at the top of each extension description, but the full table is given here for ease of reference. - [Fields](item-search/README.md#fields) - - - - + - + - - [Filter](item-search/README.md#filter) - - - - + - - - - @@ -83,17 +83,17 @@ the service supports. This are listed at the top of each extension description, - - - [Context](item-search/README.md#context) - - - - + - + - - [Sort](item-search/README.md#sort) - - - - + - + - - [Transaction](ogcapi-features/extensions/transaction/README.md) - - + - - [Items and Collections API Version](ogcapi-features/extensions/version/README.md) - - + - - [Query](item-search/README.md#query) - - + - ## Third-party / vendor extensions @@ -103,9 +103,9 @@ parties, extensions may be made official and incorporated in the STAC repository Please contact a STAC maintainer or open a Pull Request to add your extension to this table. -| Name | Scope | Description | Vendor | -| ------------------------------------------------------------------- | ----------------------------------- | --------------------------------------------------------------- | ---------------------------------------------- | -| [Free-text Search](https://github.com/cedadev/stac-freetext-search) | [Item Search](item-search/) request | Adds `q` parameter and free-text search against item properties | [CEDA, STFC, UKRI](https://github.com/cedadev) | +| Name | Scope | Description | Vendor | +| -------------------------------------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------- | +| [Free-text Search](https://github.com/cedadev/stac-freetext-search) | [Item Search](item-search/) request | Adds `q` parameter and free-text search against item properties | [CEDA, STFC, UKRI](https://github.com/cedadev) | | [Context Collections](https://github.com/cedadev/stac-context-collections) | [Item Search](item-search/) request | Adds a `collections` keyword to the [context](https://github.com/radiantearth/stac-api-spec/tree/master/fragments/context) extension response. | [CEDA, STFC, UKRI](https://github.com/cedadev) | ## Creating new extensions diff --git a/fragments/context/README.md b/fragments/context/README.md index 1564f82c..6cc6d7c4 100644 --- a/fragments/context/README.md +++ b/fragments/context/README.md @@ -2,8 +2,8 @@ - **OpenAPI specification:** [openapi.yaml](openapi.yaml) - **Conformance Classes:** - - Item Search binding: - - STAC Features binding: + - Item Search binding: + - STAC Features binding: - **Fragment [Maturity Classification](../../extensions.md#extension-maturity):** Pilot - **Dependents:** - [Item Search](../../item-search) diff --git a/fragments/context/openapi.yaml b/fragments/context/openapi.yaml index c8f8d1fe..06d34f6b 100644 --- a/fragments/context/openapi.yaml +++ b/fragments/context/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Context description: Adds search related metadata (context) to GeoJSON Responses. - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 paths: {} components: schemas: diff --git a/fragments/fields/README.md b/fragments/fields/README.md index 5912602e..e03ce041 100644 --- a/fragments/fields/README.md +++ b/fragments/fields/README.md @@ -2,8 +2,8 @@ - **OpenAPI specification:** [openapi.yaml](openapi.yaml) - **Conformance Classes:** - - Item Search binding: - - STAC Features binding: + - Item Search binding: + - STAC Features binding: - **Fragment [Maturity Classification](../../extensions.md#extension-maturity):** Pilot - **Dependents:** - [Item Search](../../item-search) diff --git a/fragments/fields/openapi.yaml b/fragments/fields/openapi.yaml index 94c260cb..87fd5520 100644 --- a/fragments/fields/openapi.yaml +++ b/fragments/fields/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Fields description: Adds parameter to control which fields are returned in the response. - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 paths: {} components: parameters: diff --git a/fragments/filter/README.md b/fragments/filter/README.md index 5fb7d386..8c725447 100644 --- a/fragments/filter/README.md +++ b/fragments/filter/README.md @@ -3,7 +3,7 @@ - **OpenAPI specification:** [openapi.yaml](openapi.yaml) - **Conformance Classes:** - Filter: - - Item Search Filter: + - Item Search Filter: - CQL Text: - CQL JSON: - Basic CQL: @@ -129,7 +129,7 @@ The precise decomposition of the OAFeat conformance classes is still a work in p rapidly (see [ogcapi-features/issues/579](https://github.com/opengeospatial/ogcapi-features/issues/579)). The STAC API Filter Extension reuses the definitions and conformance classes in OAFeat CQL, adding only the Item Search Filter conformance class -(`https://api.stacspec.org/v1.0.0-beta.4/item-search#filter:item-search-filter`) to bind +(`https://api.stacspec.org/v1.0.0-beta.5/item-search#filter:item-search-filter`) to bind the CQL filter behavior to the Item Search resource. The implementation **must** support these conformance classes: @@ -140,7 +140,7 @@ The implementation **must** support these conformance classes: the query language used for the `filter` parameter defined by Filter. This includes logical operators (`AND`, `OR`, `NOT`), comparison operators (`=`, `<>`, `<`, `<=`, `>`, `>=`), and `IS NULL`. The comparison operators are allowed against string, numeric, boolean, and datetime types. -- Item Search Filter (`https://api.stacspec.org/v1.0.0-beta.4/item-search#filter:item-search-filter`) binds the Filter and +- Item Search Filter (`https://api.stacspec.org/v1.0.0-beta.5/item-search#filter:item-search-filter`) binds the Filter and Basic CQL conformance classes to apply to the Item Search endpoint (`/search`). This class is the correlate of the OAFeat CQL Features Filter class that binds Filter and Basic CQL to the Features resource (`/collections/{cid}/items`). @@ -349,9 +349,9 @@ at least these values: "http://www.opengis.net/spec/ogcapi_common-2/1.0/conf/collections", - "http://api.stacspec.org/v1.0.0-beta.4/core", - "http://api.stacspec.org/v1.0.0-beta.4/stac-search", - "http://api.stacspec.org/v1.0.0-beta.4/stac-response", + "http://api.stacspec.org/v1.0.0-beta.5/core", + "http://api.stacspec.org/v1.0.0-beta.5/stac-search", + "http://api.stacspec.org/v1.0.0-beta.5/stac-response", "http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter", "http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter", diff --git a/fragments/filter/openapi.yaml b/fragments/filter/openapi.yaml index fc056212..48a2088a 100644 --- a/fragments/filter/openapi.yaml +++ b/fragments/filter/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Filter description: Adds parameters to compare properties and only return the items that match - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 tags: - name: STAC API - Core diff --git a/fragments/itemcollection/openapi.yaml b/fragments/itemcollection/openapi.yaml index b2295e4d..9b22f3c6 100644 --- a/fragments/itemcollection/openapi.yaml +++ b/fragments/itemcollection/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Item Collection description: The specification for a set of items, e.g. returned by a search. - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 paths: {} components: schemas: diff --git a/fragments/query/README.md b/fragments/query/README.md index 38a3cfb1..bbbad426 100644 --- a/fragments/query/README.md +++ b/fragments/query/README.md @@ -1,7 +1,7 @@ # STAC API - Query Fragment - **OpenAPI specification:** [openapi.yaml](openapi.yaml) -- **Conformance Class:** +- **Conformance Class:** - **Extension [Maturity Classification](../../extensions.md#extension-maturity):** Pilot, scheduled to be Deprecated in favor of the [Filter Extension](../filter/README.md) using [CQL](http://docs.opengeospatial.org/DRAFTS/19-079.html). - **Dependents:** - [Item Search](../../item-search) diff --git a/fragments/query/openapi.yaml b/fragments/query/openapi.yaml index 933bbf2d..7739905b 100644 --- a/fragments/query/openapi.yaml +++ b/fragments/query/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Query description: Adds parameter to compare properties and only return the items that match - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 paths: {} components: parameters: diff --git a/fragments/sort/README.md b/fragments/sort/README.md index 7caca4d8..ab6e6369 100644 --- a/fragments/sort/README.md +++ b/fragments/sort/README.md @@ -2,8 +2,8 @@ - **OpenAPI specification:** [openapi.yaml](openapi.yaml) - **Conformance Class:** - - Item Search binding: - - STAC Features binding: + - Item Search binding: + - STAC Features binding: - **Fragment [Maturity Classification](../../extensions.md#extension-maturity):** Pilot - **Dependents:** - [Item Search](../../item-search) diff --git a/fragments/sort/openapi.yaml b/fragments/sort/openapi.yaml index 3156490a..2b8534de 100644 --- a/fragments/sort/openapi.yaml +++ b/fragments/sort/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Sort description: Adds Parameter to control sorting of returns results. - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 paths: {} components: parameters: diff --git a/item-search/README.md b/item-search/README.md index 2250aebd..1fdb9de9 100644 --- a/item-search/README.md +++ b/item-search/README.md @@ -21,8 +21,8 @@ - [Context](#context) - [Query](#query) -- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.4/item-search)) -- **Conformance URI:** +- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.5/item-search)) +- **Conformance URI:** - **Dependencies**: [STAC API - Core](../core) - **Examples**: [examples.md](examples.md) @@ -47,18 +47,18 @@ Implementing `GET /search` is **required**, `POST /search` is optional, but reco The following Link relations shall exist in the Landing Page (root). -| **rel** | **href** | **From** | **Description** | -| -------------- | -------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `root` | `/` | STAC Core | The root URI | -| `self` | `/` | OAFeat | Self reference, same as root URI | -| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | -| search | `/search` | STAC Item Search | URI for the Search endpoint | +| **rel** | **href** | **From** | **Description** | +| -------------- | --------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `root` | `/` | STAC Core | The root URI | +| `self` | `/` | OAFeat | Self reference, same as root URI | +| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | +| search | `/search` | STAC Item Search | URI for the Search endpoint | A `service-doc` endpoint is recommended, but not required. -| **rel** | **href** | **From** | **Description** | -| ------------- | ------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- | -| `service-doc` | `/api.html` | OAFeat OpenAPI | An HTML service description. Uses the `text/html` media type to refer to a human-consumable description of the service. The path for this endpoint is only recommended to be `/api.html`, but may be another path. | +| **rel** | **href** | **From** | **Description** | +| ------------- | ----------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `service-doc` | `/api.html` | OAFeat OpenAPI | An HTML service description. Uses the `text/html` media type to refer to a human-consumable description of the service. The path for this endpoint is only recommended to be `/api.html`, but may be another path. | It is **required** to add a Link to the root endpoint (`/`) with the `rel` type set to `search` that refers to the search endpoint in the `href` property, @@ -79,11 +79,11 @@ Implementations that support `POST` should add a second link with the same struc ## Endpoints -| Endpoint | Returns | Description | -| -------- | ------- | ----------- | -| `/` | Catalog | Landing Page and root Catalog | -| `/api` | OAFeat OpenAPI | The OpenAPI service description. The path for this endpoint is only recommended to be `/api`, but may be another path. | -| `/search` | Item Collection | Search endpoint | +| Endpoint | Returns | Description | +| --------- | --------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `/` | Catalog | Landing Page and root Catalog | +| `/api` | OAFeat OpenAPI | The OpenAPI service description. The path for this endpoint is only recommended to be `/api`, but may be another path. | +| `/search` | Item Collection | Search endpoint | ## Query Parameters and Fields @@ -190,9 +190,9 @@ execute a subsequent request for the next page of results. The following fields have been added to the `link` object specification for the API spec: -| Parameter | Type | Description | -| --------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| method | string | The HTTP method of the request, usually `GET` or `POST`. Defaults to `GET` | +| Parameter | Type | Description | +| --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| method | string | The HTTP method of the request, usually `GET` or `POST`. Defaults to `GET` | | headers | object | A dictionary of header values that must be included in the next request | | body | object | A JSON object containing fields/values that must be included in the body of the next request | | merge | boolean | If `true`, the headers/body fields in the `next` link must be merged into the original request and be sent combined in the next request. Defaults to `false` | @@ -274,8 +274,8 @@ the [overview](../overview.md#example-landing-page) document. "description": "This Catalog aims to demonstrate the a simple landing page", "type": "Catalog", "conformsTo" : [ - "https://api.stacspec.org/v1.0.0-beta.4/core", - "https://api.stacspec.org/v1.0.0-beta.4/item-search" + "https://api.stacspec.org/v1.0.0-beta.5/core", + "https://api.stacspec.org/v1.0.0-beta.5/item-search" ], "links": [ { @@ -316,7 +316,7 @@ the root (`/`) landing page, to indicate to clients that they will respond prope ### Fields -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Fields Fragment](../fragments/fields/) @@ -328,7 +328,7 @@ through the use of a `fields` parameter. The full description of how this extens ### Filter -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Filter Fragment](../fragments/filter/) @@ -340,7 +340,7 @@ fragment](../fragments/filter/). ### Sort -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Sort Fragment](../fragments/sort/) @@ -353,7 +353,7 @@ of this extension can be found in the [sort fragment](../fragments/sort). ### Context -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Context Fragment](../fragments/context/) @@ -363,7 +363,7 @@ The full description and examples of this are found in the [context fragment](.. ### Query -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot, scheduled to be Deprecated - **Definition**: [STAC API - Query Fragment](../fragments/query/) diff --git a/item-search/openapi.yaml b/item-search/openapi.yaml index 606ccc9f..846e273b 100644 --- a/item-search/openapi.yaml +++ b/item-search/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: STAC API - Item Search - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 description: >- This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Item Search specification. diff --git a/ogcapi-features/README.md b/ogcapi-features/README.md index 9e5349df..0088dfc1 100644 --- a/ogcapi-features/README.md +++ b/ogcapi-features/README.md @@ -15,10 +15,10 @@ *based on [**OGC API - Features - Part 1: Core**](https://www.ogc.org/standards/ogcapi-features)* -- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.4/ogcapi-features)) +- **OpenAPI specification:** [openapi.yaml](openapi.yaml) ([rendered version](https://api.stacspec.org/v1.0.0-beta.5/ogcapi-features)) uses all the OGC API - Features openapi fragments to describe returning STAC Item objects. - **Conformance URIs:** - - + - - - [Requirements Class Core](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#rc_core)) - - [Requirements Class OpenAPI 3.0](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#rc_oas30)) - - [Requirements Class GeoJSON](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#_requirements_class_geojson)) @@ -40,18 +40,18 @@ with OAFeat clients. But specialized STAC clients will likely display results be The following Link relations shall exist in the Landing Page (root). -| **rel** | **href** | **From** | **Description** | -| -------------- | -------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `root` | `/` | STAC Core | The root URI | -| `self` | `/` | OAFeat | Self reference, same as root URI | -| `conformance` | `/conformance` | OAFeat | Conformance URI | -| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | -| `data` | `/collections` | OAFeat | List of Collections | +| **rel** | **href** | **From** | **Description** | +| -------------- | -------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `root` | `/` | STAC Core | The root URI | +| `self` | `/` | OAFeat | Self reference, same as root URI | +| `conformance` | `/conformance` | OAFeat | Conformance URI | +| `service-desc` | `/api` | OAFeat OpenAPI | The OpenAPI service description. Uses the `application/vnd.oai.openapi+json;version=3.0` media type to refer to the OpenAPI 3.0 document that defines the service's API. The path for this endpoint is only recommended to be `/api`, but may be another path. | +| `data` | `/collections` | OAFeat | List of Collections | Additionally, a `service-doc` endpoint is recommended, but not required. -| **rel** | **href** | **From** | **Description** | -| ------------- | ------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- | +| **rel** | **href** | **From** | **Description** | +| ------------- | ----------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `service-doc` | `/api.html` | OAFeat OpenAPI | An HTML service description. Uses the `text/html` media type to refer to a human-consumable description of the service. The path for this endpoint is only recommended to be `/api`, but may be another path. | ## Endpoints @@ -59,15 +59,15 @@ Additionally, a `service-doc` endpoint is recommended, but not required. The core OGC API - Features endpoints are shown below, with details provided in an [OpenAPI specification document](openapi.yaml). -| Endpoint | Returns | Description | -| ----------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `/` | [Catalog](../stac-spec/catalog-spec/README.md) | Landing page, links to API capabilities | +| Endpoint | Returns | Description | +| ----------------------------------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `/` | [Catalog](../stac-spec/catalog-spec/README.md) | Landing page, links to API capabilities | | `/api` | OpenAPI 3.0 JSON | Returns an OpenAPI description of the service from the `service-desc` link `rel`. The path for this endpoint is only recommended to be `/api`, but may be another path. | -| `/conformance` | JSON | Info about standards to which the API conforms | -| `/collections` | JSON | Object containing an array of Collection objects in the Catalog, and Link relations | -| `/collections/{collectionId}` | [Collection](../stac-spec/collection-spec/README.md) | Returns single Collection JSON | -| `/collections/{collectionId}/items` | [ItemCollection](../fragments/itemcollection/README.md) | GeoJSON FeatureCollection-conformant entity of Item objects in collection | -| `/collections/{collectionId}/items/{featureId}` | [Item](../stac-spec/item-spec/README.md) | Returns single Item (GeoJSON Feature) | +| `/conformance` | JSON | Info about standards to which the API conforms | +| `/collections` | JSON | Object containing an array of Collection objects in the Catalog, and Link relations | +| `/collections/{collectionId}` | [Collection](../stac-spec/collection-spec/README.md) | Returns single Collection JSON | +| `/collections/{collectionId}/items` | [ItemCollection](../fragments/itemcollection/README.md) | GeoJSON FeatureCollection-conformant entity of Item objects in collection | +| `/collections/{collectionId}/items/{featureId}` | [Item](../stac-spec/item-spec/README.md) | Returns single Item (GeoJSON Feature) | The OGC API - Features is a standard API that represents collections of geospatial data. It defines a RESTful interface to query geospatial data, with GeoJSON as a main return type. With OAFeat you can return any `Feature`, which is a geometry @@ -155,8 +155,8 @@ the [overview](../overview.md#example-landing-page) document. "description": "This Catalog aims to demonstrate the a simple landing page", "type": "Catalog", "conformsTo" : [ - "https://api.stacspec.org/v1.0.0-beta.4/core", - "https://api.stacspec.org/v1.0.0-beta.4/ogcapi-features", + "https://api.stacspec.org/v1.0.0-beta.5/core", + "https://api.stacspec.org/v1.0.0-beta.5/ogcapi-features", "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core", "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30", "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson" @@ -245,7 +245,7 @@ to requests from clients. ### Transaction - **Conformance URIs:** - - + - - - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Transaction Fragment](extensions/transaction/) @@ -257,7 +257,7 @@ POST, PUT, PATCH, and DELETE methods. The full description of how this extension ### Items and Collections API Version Extension -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Version](extensions/version/) @@ -267,7 +267,7 @@ It is the STAC API equivalent of [OGC API - Features - Part 4: Create, Replace, ### Fields -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Fields Fragment](../fragments/fields/) @@ -280,7 +280,7 @@ through the use of a `fields` parameter. The full description of how this extens ### Sort -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Sort Fragment](../fragments/sort/) @@ -293,7 +293,7 @@ of this extension can be found in the [sort fragment](../fragments/sort). ### Context -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../extensions.md#extension-maturity):** Pilot - **Definition**: [STAC API - Context Fragment](../fragments/context/) diff --git a/ogcapi-features/extensions/transaction/README.md b/ogcapi-features/extensions/transaction/README.md index 35629c5d..a8f74cfc 100644 --- a/ogcapi-features/extensions/transaction/README.md +++ b/ogcapi-features/extensions/transaction/README.md @@ -4,7 +4,7 @@ - **OpenAPI specification:** [openapi.yaml](openapi.yaml) - **Conformance URIs:** - - + - - - **Extension [Maturity Classification](../../../extensions.md#extension-maturity):** Pilot - **Dependencies**: [STAC API - Features](../../README.md) diff --git a/ogcapi-features/extensions/transaction/openapi.yaml b/ogcapi-features/extensions/transaction/openapi.yaml index f98fb612..31f8aa4d 100644 --- a/ogcapi-features/extensions/transaction/openapi.yaml +++ b/ogcapi-features/extensions/transaction/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.1 info: title: The SpatioTemporal Asset Catalog API - Transaction - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 description: >- This is an OpenAPI definition of the SpatioTemporal Asset Catalog API Transaction specification. diff --git a/ogcapi-features/extensions/version/README.md b/ogcapi-features/extensions/version/README.md index aaf549fb..166dec79 100644 --- a/ogcapi-features/extensions/version/README.md +++ b/ogcapi-features/extensions/version/README.md @@ -1,7 +1,7 @@ # Items and Collections API Version Extension - **OpenAPI specification:** [openapi.yaml](openapi.yaml) -- **Conformance URI:** +- **Conformance URI:** - **Extension [Maturity Classification](../../../extensions.md#extension-maturity):** Proposal - **Dependencies**: [STAC API - Features](../../README.md) diff --git a/ogcapi-features/extensions/version/openapi.yaml b/ogcapi-features/extensions/version/openapi.yaml index 79a1e1f6..16e0176c 100644 --- a/ogcapi-features/extensions/version/openapi.yaml +++ b/ogcapi-features/extensions/version/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: The SpatioTemporal Asset Catalog API - Item Search - version: 1.0.0-beta.4 + version: 1.0.0-beta.5 description: >- This is an OpenAPI definition of the SpatioTemporal Asset Catalog API Item Search specification. diff --git a/ogcapi-features/openapi.yaml b/ogcapi-features/openapi.yaml index 4770ab9e..02378bc5 100644 --- a/ogcapi-features/openapi.yaml +++ b/ogcapi-features/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: STAC API - Features - version: '1.0.0-beta.4' + version: '1.0.0-beta.5' description: >- This is an OpenAPI definition of the SpatioTemporal Asset Catalog API - Features specification. This extends OGC API - Features - Part 1: Core. @@ -38,13 +38,13 @@ paths: schema: $ref: '../core/openapi.yaml#/components/schemas/landingPage' example: - stac_version: 1.0.0-beta.4 + stac_version: 1.0.0-beta.5 type: Catalog id: sentinel title: Copernicus Sentinel Imagery description: Catalog of Copernicus Sentinel 1 and 2 imagery. conformsTo: - - 'https://api.stacspec.org/v1.0.0-beta.4/core' + - 'https://api.stacspec.org/v1.0.0-beta.5/core' - 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core' - 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30' - 'http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson' diff --git a/overview.md b/overview.md index c1a892e5..a1a97dba 100644 --- a/overview.md +++ b/overview.md @@ -20,7 +20,7 @@ off point for the more powerful capabilities - it contains a list of URL's, each 'relationships' (`rel`) to indicate their functionality. Note that the [STAC Core specification](stac-spec) provides most all the content of API responses - the STAC API is primarily concerned with the return of STAC [Item](stac-spec/item-spec/README.md) and [Collection](stac-spec/collection-spec/README.md) objects via a -RESTful web API. See the [rendered OpenAPI document](https://api.stacspec.org/v1.0.0-beta.4/core) for more details. +RESTful web API. See the [rendered OpenAPI document](https://api.stacspec.org/v1.0.0-beta.5/core) for more details. There are then two major sets of functionality that build on the core, which are designed to be complementary, letting implementations choose which parts they want to utilize. Most every STAC API implements at least one, and many follow @@ -33,7 +33,7 @@ located at a `/search` endpoint. It re-uses all of the OAFeat [query parameters](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#_items_) specified in their 'core', and adds a couple more. It does not require a full implementation of OAFeat, it is instead a simplified construct that can run a search across any set of indexed STAC [`Item`](stac-spec/item-spec/README.md) objects. See the [rendered OpenAPI -document](https://api.stacspec.org/v1.0.0-beta.4/item-spec) for more details. +document](https://api.stacspec.org/v1.0.0-beta.5/item-spec) for more details. ### Collections @@ -65,7 +65,7 @@ is always in GeoJSON and OpenAPI is used to specify STAC API. Full compliance in individual `/collections/{collectionId}/items` endpoints that expose querying single collections, as OAFeat does not currently allow cross-collection search. And it adds a few other requirements, which are highlighted in the [features description](ogcapi-features/), in order to help STAC implementors understand OAFeat without having to -read the full spec from scratch. See the [rendered OpenAPI document](https://api.stacspec.org/v1.0.0-beta.4/ogcapi-features) +read the full spec from scratch. See the [rendered OpenAPI document](https://api.stacspec.org/v1.0.0-beta.5/ogcapi-features) for more details. ### Extensions & Fragments @@ -122,7 +122,7 @@ column is more of an example in some cases. OGC API makes some endpoint location STAC API is evolving to utilize OAFeat's '[Conformance](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html#_declaration_of_conformance_classes)' JSON structure. For -STAC API 1.0.0-beta.4 we declare new STAC Conformance classes, with the core ones detailed in the table below. [STAC +STAC API 1.0.0-beta.5 we declare new STAC Conformance classes, with the core ones detailed in the table below. [STAC Features](ogcapi-features) requires the core OAFeat conformance classes, and declares that those endpoints return STAC Collection and Feature objects. The core STAC conformance classes communicate the conformance JSON only in the root (`/`) document, while OGC API @@ -138,10 +138,10 @@ have the URI's for conformance to actually resolve to machine-readable informati | **Name** | **Specified in** | **Conformance URI** | **Description** | | ------------- | -------------------------------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | -| STAC Core | [Core](core) | | Specifies the STAC Landing page `/`, communicating conformance and available endpoints. | -| Item Search | [Item Search](item-search) | | Enables search of all STAC Item objects on the server, with the STAC `[/search](#stac-api-endpoints)` endpoint. | -| STAC Features | [STAC API - Features](ogcapi-features) | | Specifies the use of OGC API - Features to serve STAC Item and Collection objects | -| Collections | [Collections](collections) | | Specifies the use of a subset of OGC API - Features to serve Collection objects | +| STAC Core | [Core](core) | | Specifies the STAC Landing page `/`, communicating conformance and available endpoints. | +| Item Search | [Item Search](item-search) | | Enables search of all STAC Item objects on the server, with the STAC `[/search](#stac-api-endpoints)` endpoint. | +| STAC Features | [STAC API - Features](ogcapi-features) | | Specifies the use of OGC API - Features to serve STAC Item and Collection objects | +| Collections | [Collections](collections) | | Specifies the use of a subset of OGC API - Features to serve Collection objects | Additional conformance classes are specified in the [STAC Extensions](extensions.md#Conformance-classes-of-extensions). @@ -163,10 +163,10 @@ The Landing Page will at least have the following `conformsTo` and `links`: "description": "This Catalog aims to demonstrate the a simple landing page", "type": "Catalog", "conformsTo" : [ - "https://api.stacspec.org/v1.0.0-beta.4/core", - "https://api.stacspec.org/v1.0.0-beta.4/item-search", - "https://api.stacspec.org/v1.0.0-beta.4/ogcapi-features", - "https://api.stacspec.org/v1.0.0-beta.4/collections", + "https://api.stacspec.org/v1.0.0-beta.5/core", + "https://api.stacspec.org/v1.0.0-beta.5/item-search", + "https://api.stacspec.org/v1.0.0-beta.5/ogcapi-features", + "https://api.stacspec.org/v1.0.0-beta.5/collections", "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core", "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30", "http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson" diff --git a/package.json b/package.json index bd3ec017..0072d0be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "api-spec", - "version": "1.0.0-beta.4", + "version": "1.0.0-beta.5", "description": "STAC API helpers to generate, serve and check the API spec.", "repository": "https://github.com/radiantearth/stac-api-spec", "license": "Apache-2.0",