openapi: 3.0.2
info:
title: HERE XYZ Hub
description: |-
HERE XYZ Hub is a REST API for simple access to geo data.
contact: {}
version: 1.0.0
servers:
- url: /hub
security:
- AccessToken: []
- Bearer: []
tags:
- name: Manage Spaces
description: Space management endpoints.
- name: Read Features
description: Read only endpoints for features.
- name: Write Features
description: Read and write endpoints for features.
- name: Manage Connectors
description: Read and write endpoints for connectors.
- name: Manage Subscriptions
description: Read and write endpoints for subscriptions.
- name: Manage Jobs
description: Read and write endpoints for jobs.
- name: Manage Changesets
description: Read and write endpoints for changesets.
- name: Manage Tags
description: Read and write endpoints for tags.
paths:
'/spaces':
get:
tags:
- Manage Spaces
summary: List spaces
description: >-
Lists the spaces, which the current authenticated user has access to.
operationId: getSpaces
parameters:
- name: contentUpdatedAt
in: query
description: >
Additional space filter which compares the space's contentUpdatedAt timestamp with the one
specified in the query, resulting in a subset of spaces.
The format should follow the specification below
* ?contentUpdatedAt=timestamp
The available operators are:
- ">=" or "=gte=" - greater than or equals
- "<=" or "=lte=" - less than or equals
- ">" or "=gt=" - greater than
- "<" or "=lt=" - less than
required: false
schema:
type: string
example: 1597092085740
- name: includeConnectors
in: query
description: >-
If set to _true_, the connectors for each space are included in
the response.
required: false
schema:
type: boolean
default: false
- name: includeRights
in: query
description: >-
If set to _true_, the access rights for each space are included in
the response.
required: false
schema:
type: boolean
default: false
- name: owner
in: query
description: >
Define the owner(s) of spaces to be shown in the response.
Possible values are:
* __me__ (_The default value;_ Show only the spaces being owned by
the current user),
* __(someOwnerId)__ (_Only for shared spaces:_ Explicitly only show
spaces belonging to the specified user),
* __others__ (Show only the spaces having been shared _excluding the
own ones_),
* __*__ (Show all spaces the current user has access to)
required: false
schema:
type: string
default: me
- name: tag
in: query
description: >
Filter for spaces with the given tag.
required: false
schema:
type: string
- name: region
in: query
description: >
Filter for spaces with the given region.
required: false
schema:
type: string
responses:
'200':
$ref: '#/components/responses/SpacesResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
post:
tags:
- Manage Spaces
summary: Create a space
description: Creates a new space.
operationId: postSpace
requestBody:
$ref: '#/components/requestBodies/SpaceRequest'
responses:
'200':
$ref: '#/components/responses/SpaceResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'409':
$ref: '#/components/responses/ErrorResponse409'
'413':
$ref: '#/components/responses/ErrorResponse413'
'/spaces/{spaceId}':
get:
tags:
- Manage Spaces
summary: Get a space by ID
description: Returns the space definition.
operationId: getSpace
parameters:
- $ref: '#/components/parameters/SpaceId'
responses:
'200':
$ref: '#/components/responses/SpaceResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
patch:
tags:
- Manage Spaces
summary: Update a space
description: Updates a space.
operationId: patchSpace
parameters:
- $ref: '#/components/parameters/SpaceId'
requestBody:
$ref: '#/components/requestBodies/SpaceRequest'
responses:
'200':
$ref: '#/components/responses/SpaceResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'409':
$ref: '#/components/responses/ErrorResponse409'
'413':
$ref: '#/components/responses/ErrorResponse413'
delete:
tags:
- Manage Spaces
summary: Delete a space
description: >-
Deletes a space configuration. The data of the space may or may not be
deleted, depending on the underlying storage provider.
operationId: deleteSpace
parameters:
- $ref: '#/components/parameters/SpaceId'
responses:
'200':
$ref: '#/components/responses/SpaceResponse'
'204':
$ref: '#/components/responses/EmptyResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/changesets':
get:
tags:
- Manage Changesets
summary: Get Changesets
description: >-
Retrieves a subset of existing Changesets from the space's history.
The subset is defined by a "startVersion" and an "endVersion".
Each successful write transaction to the space is stored as one single Changeset,
which can contain modifications applied to one or more features.
The response payload may be split in multiple pages. The next page token is written in the
property 'nextPageToken', which then can be used to retrieve the next page using the
'pageToken' parameter on the next call.
operationId: getChangesets
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/StartVersion'
- $ref: '#/components/parameters/EndVersion'
- $ref: '#/components/parameters/PageToken'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/ChangesetCollectionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
delete:
tags:
- Manage Changesets
summary: Delete Changesets
description: >-
Deletes one or more Changesets which are older than the specified version. The query
parameter "version" must be an integer, bigger than 0 and the comparator must be one of the
below list:
- <
- =lt=
Example: To remove changesets older than version number 10,
a DELETE /spaces/{spaceId}/changesets?version=lt=10 could be executed.
The service will begin the process to remove the versions from version 9 until the version 0.
During the deletion process, newer versions can be created and won't be affected.
operationId: deleteChangesets
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/VersionLowerThan'
responses:
'204':
$ref: '#/components/responses/EmptyResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/changesets/{version}':
get:
tags:
- Manage Changesets
summary: Get Changeset
description: >-
Retrieves one Changeset from the space by version.
Each successful write transaction to the space is stored as one single Changeset,
which can contain modifications applied to one or more features.
The response payload may be split in multiple pages, next page is written in the property
'nextPageToken', which then, can be retrieved by using the 'pageToken' parameter.
operationId: getChangeset
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/VersionPath'
- $ref: '#/components/parameters/PageToken'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/ChangesetResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
'/spaces/{spaceId}/changesets/statistics':
get:
tags:
- Manage Changesets
summary: Get ChangesetStatistics (deprecated)
description: >-
NOTE: This endpoint is deprecated. Use /spaces/{spaceId}/statistics instead to gather information about the min / max version of a space.
Returns statistics about changesets.
operationId: getChangesetStatistics
parameters:
- $ref: '#/components/parameters/SpaceId'
responses:
'200':
$ref: '#/components/responses/ChangesetStatisticsResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/tags':
get:
tags:
- Manage Tags
summary: List tags
description: >-
List tags available in the space.
List can include system tags when includeSystemTags parameter is set to true.
operationId: listTags
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/IncludeSystemTags'
responses:
'200':
$ref: '#/components/responses/TagsResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
post:
tags:
- Manage Tags
summary: Create a tag
description: >-
Create a tag, which points to a version of the space.
If a version is not provided when creating the tag, then the current HEAD version will be
referenced.
operationId: createTag
parameters:
- $ref: '#/components/parameters/SpaceId'
requestBody:
$ref: '#/components/requestBodies/TagRequest'
responses:
'200':
$ref: '#/components/responses/TagResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'409':
$ref: '#/components/responses/ErrorResponse409'
'/spaces/{spaceId}/tags/{tagId}':
patch:
tags:
- Manage Tags
summary: Update a tag
description: >-
Update the version of a tag.
operationId: updateTag
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/TagId'
requestBody:
$ref: '#/components/requestBodies/TagRequest'
responses:
'200':
$ref: '#/components/responses/TagResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
get:
tags:
- Manage Tags
summary: Get a tag
description: >-
Retrieves a tag.
operationId: getTag
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/TagId'
responses:
'200':
$ref: '#/components/responses/TagResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
delete:
tags:
- Manage Tags
summary: Delete a tag
description: >-
Deletes a tag.
operationId: deleteTag
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/TagId'
responses:
'200':
$ref: '#/components/responses/TagResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/features':
get:
tags:
- Read Features
summary: Get features by ID
description: >-
Returns all the features found for the provided list of IDs.
The response is always a FeatureCollection,
even if there are no features with the provided IDs.
operationId: getFeatures
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/VersionStar'
- $ref: '#/components/parameters/VersionRefStar'
- $ref: '#/components/parameters/Author'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
put:
tags:
- Write Features
summary: Create or replace multiple features
description: Create or replace the provided features.
operationId: putFeatures
parameters:
- $ref: '#/components/parameters/SpaceId'
requestBody:
$ref: '#/components/requestBodies/FeatureCollectionRequest'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionModificationResponse'
'204':
$ref: '#/components/responses/EmptyResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'409':
$ref: '#/components/responses/ErrorResponse409'
'413':
$ref: '#/components/responses/ErrorResponse413'
'513':
$ref: '#/components/responses/ErrorResponse513'
post:
tags:
- Write Features
summary: Modify features in the space
description: >
This method allows to create, update and delete features. The behavior
of the POST handler is controlled by three query parameters described in
detail below. The name of the parameter reflects a condition to be
matched. Its value reflects the corresponding action to be performed for
this case.
If no values are provided, the request is handled with the default
values:
```
ne=create&e=patch&transactional=true
```
The three parameters and their possible values are:
### _ne_ - If Not Exists
If no feature with the provided ID exists, or if the provided feature
contains no ID, then one of the following actions can be used:
* __create__ (default) - A new object is created.
* __retain__ - No action is executed, allowing the execution of the
batch operation to continue, even if the _transactional_ parameter is
set to _true_.
* __error__ - If no object with the provided ID exists, an error is
raised, which would result in the whole batch operation to be aborted,
if the _transactional_ parameter is set to _true_.
### _e_ - If Exists
If an object with the provided ID exists, and _history_ is enabled for
the space, there are 2 states which could be taken into account:
1. The __ORIGIN__ state - the state that the client received and modified. The state is retrieved by using the value of the NS attribute _version_.
2. The __HEAD__ state - the current state of the object in the space, including any changes applied to it in the meantime.
The possible operations in detail:
* __patch__ (default) - The feature object is handled as a _partial
update object_. Therefore it could contain only the properties, which
should be modified. Properties, which do not exist in the HEAD state of
the object are inserted, the values for all existing properties are
updated, unless the value of the property is set to _null_ , which will
result in the property being removed from the object.
If an _ORIGIN_ state is specified in the _partial update object_ and it is not the same as the _HEAD_ state, the patch is applied to the _HEAD_ state, but only in case that the differnce between _ORIGIN_ and _HEAD_ contains no conflicting changes( i.e. only different properties were modified ). Otherwise an error is raised, which will result in the batch operation being aborted, if the _transactional_ parameter is set to _true_.
* __replace__ - If an object with the provided ID exists, it will be
replaced with the provided feature object. If the _ORIGIN_ state is
specified in the provided feature and differs from the _HEAD_ state,
then a error is raised.
* __merge__ - The provided feature object is handled as a full object
version and not a partial update. If an _ORIGIN_ state is specified in
the feature and it is not the same as the _HEAD_ state, the difference
between the _ORIGIN_ state and provided version to the _HEAD_ state, but
only in the case that the difference between _ORIGIN_ and _HEAD_ contains
no conflicting changes. Otherwise an error is raised, which will result
in the batch operation being aborted, if the _transactional_ parameter
is set to _true_.
* __delete__ - The feature with the provided is deleted.
* __retain__ - The current state of the feature is retained and included
in the response.
* __error__ - Raises an error, if the object already exists.
### transactional - Transactional batch operation
Defines, if modifying of the features, is executed as a single
transactional batch operation (_true_:default) or as independent
operations (_false_).
There is a limit of 10 megs of data allowed for this operation.
operationId: postFeatures
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/IfExists'
- $ref: '#/components/parameters/IfNotExists'
- $ref: '#/components/parameters/ConflictResolution'
- $ref: '#/components/parameters/Transactional'
- $ref: '#/components/parameters/PrefixId'
- $ref: '#/components/parameters/Context'
requestBody:
$ref: '#/components/requestBodies/FeatureCollectionOrFeatureModificationListRequest'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionModificationResponse'
'204':
$ref: '#/components/responses/EmptyResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'409':
$ref: '#/components/responses/ErrorResponse409'
'413':
$ref: '#/components/responses/ErrorResponse413'
'513':
$ref: '#/components/responses/ErrorResponse513'
delete:
tags:
- Write Features
summary: Delete multiple features
description: >-
Delete the features with the provided ids.
operationId: deleteFeatures
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/Ids'
- $ref: '#/components/parameters/Context'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionModificationResponse'
'204':
$ref: '#/components/responses/EmptyResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/features/{featureId}':
get:
tags:
- Read Features
summary: Get a feature by ID
description: Retrieves the feature with the provided identifier.
operationId: getFeature
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/FeatureId'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/VersionStar'
- $ref: '#/components/parameters/VersionRefStar'
- $ref: '#/components/parameters/Author'
responses:
'200':
$ref: '#/components/responses/FeatureResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
put:
tags:
- Write Features
summary: Create or replace a feature
description: Creates or replaces a feature in the space.
operationId: putFeature
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/FeatureId'
requestBody:
$ref: '#/components/requestBodies/FeatureRequest'
responses:
'200':
$ref: '#/components/responses/FeatureResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'409':
$ref: '#/components/responses/ErrorResponse409'
'413':
$ref: '#/components/responses/ErrorResponse413'
'513':
$ref: '#/components/responses/ErrorResponse513'
patch:
tags:
- Write Features
summary: Patch a feature
description: Patches an existing feature.
operationId: patchFeature
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/FeatureId'
requestBody:
$ref: '#/components/requestBodies/FeatureRequest'
responses:
'200':
$ref: '#/components/responses/FeatureResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'409':
$ref: '#/components/responses/ErrorResponse409'
'413':
$ref: '#/components/responses/ErrorResponse413'
'513':
$ref: '#/components/responses/ErrorResponse513'
delete:
tags:
- Write Features
summary: Deletes a feature from the space
description: Deletes an existing feature.
operationId: deleteFeature
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/FeatureId'
- $ref: '#/components/parameters/Context'
responses:
'204':
$ref: '#/components/responses/EmptyResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/statistics':
get:
tags:
- Read Features
summary: Get statistics
description: Returns statistical information about this space.
operationId: getStatistics
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/SkipCache'
- $ref: '#/components/parameters/Context'
responses:
'200':
$ref: '#/components/responses/StatisticsResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/bbox':
get:
tags:
- Read Features
summary: Get features by bounding box
description: >-
Return the features which are inside a bounding box stipulated by
west, north, east and south parameters.
operationId: getFeaturesByBBox
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/West'
- $ref: '#/components/parameters/North'
- $ref: '#/components/parameters/East'
- $ref: '#/components/parameters/South'
- $ref: '#/components/parameters/Clip'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/PropertiesQuery'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/SkipCache'
- $ref: '#/components/parameters/Clustering'
- $ref: '#/components/parameters/ClusteringParams'
- $ref: '#/components/parameters/Tweaks'
- $ref: '#/components/parameters/TweaksParams'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/Version'
- $ref: '#/components/parameters/VersionRef'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
'/spaces/{spaceId}/tile/{type}/{tileId}':
get:
tags:
- Read Features
summary: Get features in tile
description: |
List the features selected by tile type and tile id.
One of the tile types can be used:
* quadkey
* web
* tms
* here
operationId: getFeaturesByTile
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/TileType'
- $ref: '#/components/parameters/TileId'
- $ref: '#/components/parameters/Clip'
- $ref: '#/components/parameters/PropertiesQuery'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/SkipCache'
- $ref: '#/components/parameters/Clustering'
- $ref: '#/components/parameters/ClusteringParams'
- $ref: '#/components/parameters/Tweaks'
- $ref: '#/components/parameters/TweaksParams'
- $ref: '#/components/parameters/Margin'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Mode'
- $ref: '#/components/parameters/VizSampling'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/Version'
- $ref: '#/components/parameters/VersionRef'
responses:
'200':
$ref: '#/components/responses/TileResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
'/spaces/{spaceId}/spatial':
get:
tags:
- Read Features
summary: Get features with radius search
description: |
List the features which are inside the specified radius.
The origin radius point is calculated based either on latitude & longitude or by
specifying a features geometry. As third option it is possible to use a H3 index
as input geometry.
operationId: getFeaturesBySpatial
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/Latitude'
- $ref: '#/components/parameters/Longitude'
- $ref: '#/components/parameters/RefSpaceId'
- $ref: '#/components/parameters/RefFeatureId'
- $ref: '#/components/parameters/H3Index'
- $ref: '#/components/parameters/Radius'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Clip'
- $ref: '#/components/parameters/PropertiesQuery'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/SkipCache'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/Version'
- $ref: '#/components/parameters/VersionRef'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
post:
tags:
- Read Features
summary: Get features which intersects the provided geometry.
description: |
List the features which are inside the specified radius.
The origin point is calculated based on the geometry provided as payload.
operationId: getFeaturesBySpatialPost
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/Radius'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/Clip'
- $ref: '#/components/parameters/PropertiesQuery'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/SkipCache'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/Version'
- $ref: '#/components/parameters/VersionRef'
requestBody:
$ref: '#/components/requestBodies/GeometryRequest'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
'/spaces/{spaceId}/search':
get:
tags:
- Read Features
summary: Search for features
description: >-
Searches for features in the space. The results are unordered and the
request does not allow continuation of the search, which is the main
difference when compared to the _iterate_ request.
operationId: searchForFeatures
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/PropertiesQuery'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/SkipCache'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/Version'
- $ref: '#/components/parameters/VersionRef'
- $ref: '#/components/parameters/Author'
responses:
'200':
$ref: '#/components/responses/FeatureCollectionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
'/spaces/{spaceId}/iterate':
get:
tags:
- Read Features
summary: Iterate features in the space
description: >-
Iterates all of the features in the space. The features in the response
are ordered so that no feature is returned twice. If there are more
features which could be loaded, the response FeatureCollection contains
the root attribute _handle_. The value of this attribute can
be passed as a query parameter for the following request in order to
continue the iteration from the marked position.
operationId: iterateFeatures
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/Limit'
- $ref: '#/components/parameters/PropertiesSelection'
- $ref: '#/components/parameters/Sort'
- $ref: '#/components/parameters/Part'
- $ref: '#/components/parameters/SkipCache'
- $ref: '#/components/parameters/Handle'
- $ref: '#/components/parameters/Force2D'
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/Version'
- $ref: '#/components/parameters/VersionRef'
responses:
'200':
$ref: '#/components/responses/IterateResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'513':
$ref: '#/components/responses/ErrorResponse513'
'/connectors':
get:
tags:
- Manage Connectors
summary: List connectors
description: >-
Lists the connectors, which the current authenticated user has access to.
operationId: getConnectors
parameters:
- name: id
in: query
description: Only query selected resources by id.
required: false
schema:
type: array
items:
type: string
responses:
'200':
$ref: '#/components/responses/ConnectorsResponse'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
post:
tags:
- Manage Connectors
summary: Create a connector
description: Creates a new connector.
operationId: postConnector
requestBody:
$ref: '#/components/requestBodies/ConnectorConfig'
responses:
'201':
$ref: '#/components/responses/ConnectorResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/connectors/{connectorId}':
get:
tags:
- Manage Connectors
summary: Get a connector by ID
description: Returns the connector definition
operationId: getConnector
parameters:
- $ref: '#/components/parameters/ConnectorId'
responses:
'200':
$ref: '#/components/responses/ConnectorResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
patch:
tags:
- Manage Connectors
summary: Update a connector
description: Updates a connector.
operationId: patchConnector
parameters:
- $ref: '#/components/parameters/ConnectorId'
requestBody:
$ref: '#/components/requestBodies/ConnectorConfig'
responses:
'200':
$ref: '#/components/responses/ConnectorResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
delete:
tags:
- Manage Connectors
summary: Delete a connector
description: >-
Deletes a connector configuration.
operationId: deleteConnector
parameters:
- $ref: '#/components/parameters/ConnectorId'
responses:
'200':
$ref: '#/components/responses/ConnectorResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/subscriptions':
post:
tags:
- Manage Subscriptions
summary: Create a subscription
description: Creates a subscription.
operationId: postSubscription
parameters:
- $ref: '#/components/parameters/SpaceId'
requestBody:
$ref: '#/components/requestBodies/SubscriptionRequest'
responses:
'201':
$ref: '#/components/responses/SubscriptionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'409':
$ref: '#/components/responses/ErrorResponse409'
get:
tags:
- Manage Subscriptions
summary: Get list of subscriptions
description: Gets a list of all subscription for a space.
operationId: getSubscriptions
parameters:
- $ref: '#/components/parameters/SpaceId'
responses:
'200':
$ref: '#/components/responses/SubscriptionsResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'/spaces/{spaceId}/subscriptions/{subscriptionId}':
put:
tags:
- Manage Subscriptions
summary: Create or replace a subscription
description: Creates or replaces a subscription to a space.
operationId: putSubscription
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/SubscriptionId'
requestBody:
$ref: '#/components/requestBodies/SubscriptionRequest'
responses:
'200':
$ref: '#/components/responses/SubscriptionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
get:
tags:
- Manage Subscriptions
summary: Get a subscription by ID
description: Returns the subscription definition
operationId: getSubscription
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/SubscriptionId'
responses:
'200':
$ref: '#/components/responses/SubscriptionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
delete:
tags:
- Manage Subscriptions
summary: Delete a subscription
description: Deletes a subscription configuration.
operationId: deleteSubscription
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/SubscriptionId'
responses:
'200':
$ref: '#/components/responses/SubscriptionResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'409':
$ref: '#/components/responses/ErrorResponse409'
'/spaces/{spaceId}/jobs':
post:
tags:
- Manage Jobs
summary: Create Job
operationId: postJob
parameters:
- $ref: '#/components/parameters/SpaceId'
requestBody:
$ref: '#/components/requestBodies/JobRequest'
responses:
'201':
$ref: '#/components/responses/JobResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
get:
tags:
- Manage Jobs
summary: Get jobs
description: Retrieve jobs
operationId: getJobs
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/JobStatus'
responses:
'200':
$ref: '#/components/responses/JobsResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/job/{jobId}':
get:
tags:
- Manage Jobs (deprecated)
summary: Get job
description: Retrieve job
operationId: getJob
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/JobId'
responses:
'200':
$ref: '#/components/responses/JobResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
patch:
tags:
- Manage Jobs (deprecated)
summary: Update Job
operationId: patchJob
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/JobId'
requestBody:
$ref: '#/components/requestBodies/JobRequest'
responses:
'200':
$ref: '#/components/responses/JobResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
delete:
tags:
- Manage Jobs (deprecated)
summary: Delete job
description: Delete job
operationId: deleteJob
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/DeleteData'
responses:
'200':
$ref: '#/components/responses/JobResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'/spaces/{spaceId}/job/{jobId}/execute':
post:
tags:
- Manage Jobs (deprecated)
summary: Run Command
description: Run Command on Job
operationId: postExecute
parameters:
- $ref: '#/components/parameters/SpaceId'
- $ref: '#/components/parameters/JobId'
- $ref: '#/components/parameters/Command'
- $ref: '#/components/parameters/UrlCount'
responses:
'204':
$ref: '#/components/responses/JobResponse'
'400':
$ref: '#/components/responses/ErrorResponse400'
'401':
$ref: '#/components/responses/ErrorResponse401'
'403':
$ref: '#/components/responses/ErrorResponse403'
'404':
$ref: '#/components/responses/ErrorResponse404'
'409':
$ref: '#/components/responses/ErrorResponse409'
'412':
$ref: '#/components/responses/ErrorResponse412'
components:
securitySchemes:
AccessToken:
type: apiKey
in: query
name: access_token
Bearer:
type: http
scheme: bearer
bearerFormat: JWT
parameters:
Author:
name: author
in: query
description: >-
Filter the results per author.
required: false
schema:
type: string
Clip:
name: clip
in: query
description: >-
If set to _true_ the features' geometries are clipped to the geometry of
the tile, bounding box or input geometry. Default is _false_.
required: false
schema:
type: boolean
Clustering:
name: clustering
in: query
description: >-
The clustering algorithm to apply to the data within the result.
Providing this query parameter, the data is returned in a clustered way.
This means the data is not necessarily returned in its original shape or with its
original properties.
Depending on the chosen clustering algorithm, there could be different mandatory and/or
optional parameters to specify the behavior of the algorithm.
Possible values are:
* "hexbin"
The hexbin algorithm divides the world in hexagonal "bins" on a specified resolution.
Each hexagon has an address being described by the H3 addressing scheme.
For more information on this topic see: https://eng.uber.com/h3/
* "quadbin"
The quadbin algorithm takes the geometry input from the request (for example, quadkey / bbox..)
and count the features in it. This clustering mode works also for very large spaces and
can be used for getting an overview where data is present in a given space. Furthermore,
a property filter on one property is applicable.
required: false
schema:
type: string
enum:
- hexbin
- quadbin
ClusteringParams:
name: clusteringParams
in: query
required: false
description: |
Some parameters for the chosen clustering algorithm.
Depending on the chosen clustering algorithm, there could be different mandatory and/or
optional parameters to specify the behavior of the algorithm.
### Clustering-Parameter reference
NOTE: The actual query parameters in the URL look like: `?clustering.aParameterName=aValue`
**Clustering-type: "hexbin":**
There are several parameters needed by the H3 based hexbin algorithm.
For more information on this topic see: https://eng.uber.com/h3/
| Parameter | Type | Mandatory | Meaning |
|-------------|---------|-----------|-----------------------------------------------------------------------|
| absoluteResolution | Number | NO | integer, The H3 hexagon resolution [0,13] |
| resolution | Number | NO | deprecated, renamed to absoluteResolution |
| relativeResolution | Number | NO | integer value [-2,2] to be added to current used resolution |
| property | String | NO | A property of the original features for which to calculate statistics |
| pointmode | Boolean | NO | retuns the centroid of hexagons as geojson feature |
| singlecoord | Boolean | NO | force to evaluate the first object coordinate only (default: false) |
| sampling | String | NO | samplingratio of underlying dataset |
| | | | string value [off (1/1), low (1/8), lowmed (1/32), med (1/128), medhigh (1/1024), high (1/4096)] (default: off) |
**Clustering-type: "quadbin":**
There are several parameters needed by the quadbin algorithm. You can use one property filter in combination.
| Parameter | Type | Mandatory | Meaning |
|-------------|---------|-----------|-----------------------------------------------------------------------|
| relativeResolution | Number | NO | integer, The quad resolution [0,4] |
| noBuffer | Boolean | NO | do not place a buffer around quad polygons, default: false |
| resolution | Number | NO | deprecated, renamed to resolutionRelative |
| countmode | String | NO | [real, estimated, mixed, bool] |
| | | | real = real feature counts. Best accuracy, but slow. |
| | | | Not recommended for big result sets |
| | | | |
| | | | estimated = estimated feature counts. Low accuracy, but very fast |
| | | | Recommended for big result sets |
| | | | |
| | | | mixed (default) = estimated feature counts combined with real ones. |
| | | | If the estimation is low a real count gets applied. Fits to the |
| | | | most use cases |
| | | | |
| | | | bool = test if data exists in tile but does not count features |
| | | | The returned count property set to 1, for non empty tiles |
style: form
explode: true
allowReserved: true
schema:
type: array
items:
type: string
example:
clustering.resolution: 3
clustering.property: 'a.nested.property'
ConflictResolution:
name: cr
in: query
description: >-
The resolution strategy when a conflicting update of the same attribute occurs.
To keep the value of the head state select _retain_.
To overwrite the value of the head state select _replace_.
To abort the entry update select _error_.
required: false
deprecated: true
schema:
type: string
enum:
- error
- retain
- replace
default: error
ConnectorId:
name: connectorId
in: path
description: The unique identifier of the connector.
required: true
schema:
type: string
Context:
name: context
in: query
description: |
The context where the operation will be performed on a composite space.
If not specified, the operation occurs based on the extension rules.
For additional information, see Space.extends.
Available context are:
|Context|Description|
|-------|-----------|
|default|The default value if none is given. For composite spaces the operation occurs based on the extension rules. For normal spaces this is the only valid context.|
|extension|The operation will be executed only in the extension and no operation will be performed in the extended space.|
|super|Only applicable for read-operations. The operation will be executed only in the space being extended (super space).|
schema:
type: string
enum:
- default
- extension
- super
default: default
East:
name: east
in: query
description: >-
The longitude in WGS'84 decimal degree (-180 to +180) of the east
(right) border of the bounding box.
required: false
schema:
type: number
format: double
minimum: -180
maximum: 180
EndVersion:
name: endVersion
in: query
description: Defines the end of the version-range [version <= endVersion].
required: true
schema:
type: integer
EndVersionNotRequired:
name: endVersion
in: query
description: Defines the end of the version-range [version <= endVersion].
required: false
schema:
type: integer
FeatureId:
name: featureId
in: path
description: The unique identifier of a feature in the space.
required: true
schema:
type: string
Force2D:
name: force2D
in: query
description: >-
If set to _true_ the features in the response have only X's and Y's as coordinates.
schema:
type: boolean
Handle:
name: handle
in: query
description: The handle to continue the iteration.
schema:
type: string
Ids:
name: id
in: query
description: >-
A comma separated list of unique feature identifiers. These are the acceptable formats
for this field:
* id=value1,value2
* id=value1,id=value2
required: true
schema:
type: array
items:
type: string
IfExists:
name: e
in: query
description: >-
The action to execute, when a feature with the provided ID exists.
Default is _patch_.
required: false
deprecated: true
schema:
type: string
enum:
- patch
- replace
- merge
- delete
- retain
- error
default: patch
IfNotExists:
name: ne
in: query
description: >-
The action to execute, when a feature with the provided ID does not
exist or the feature contains no ID. Default is _create_.
required: false
deprecated: true
schema:
type: string
enum:
- retain
- error
- create
default: create
IncludeSystemTags:
name: includeSystemTags
in: query
description: >-
If set to _true_, the tags which are marked as 'system tags' are included in
the response.
required: false
schema:
type: boolean
default: false
Latitude:
name: lat
in: query
description: >-
The latitude in WGS'84 decimal degree (-90 to +90) of the center Point.
schema:
type: number
minimum: -90
maximum: 90
Limit:
name: limit
in: query
description: >-
The maximum number of features in the response.
Default is _30000_. Hard limit is _100000_.
schema:
type: integer
Longitude:
name: lon
in: query
description: >-
The longitude in WGS'84 decimal degree (-180 to +180) of the center Point.
schema:
type: number
minimum: -180
maximum: 180
Margin:
name: margin
in: query
description: >-
Margin in pixels on the respective projected level around the tile.
Default is 0.
schema:
type: integer
minimum: 0
Mode:
name: mode
in: query
description: >-
Optimize resultset and geometries for dispaly. mode = [raw|viz]
Note: when using mode=viz, the value of "limit" parameter will be set
to its max value (100000) if not specified otherwise.
required: false
schema:
type: string
enum:
- raw
- viz
North:
name: north
in: query
description: >-
The latitude in WGS'84 decimal degree (-90 to +90) of the north
(top) border of the bounding box.
required: false
schema:
type: number
format: double
minimum: -90
maximum: 90
PageToken:
name: pageToken
in: query
description: The page token where the iteration continues.
schema:
type: string
Part:
name: part
in: query
description: |
Requests disjunct parts of iteration results (used with sort). List of two integers "part,total".
part=1,4 read as first part out of 4, ... until part=4,4 .
Example: ?part=7,9
explode: false
schema:
type: array
items:
type: integer
PrefixId:
name: prefixId
in: query
description: If set all feature IDs are prefixed with the provided string.
required: false
schema:
type: string
PropertiesQuery:
name: params
in: query
description: >
Additional feature filters which compare the feature's property value with the one
specified in the query, resulting in a subset of features.
The usage of multiple property names represents an AND operation.
The usage of a comma (,) separating the properties values, represents
an OR operation.
Properties initiated with 'f.' are used to access values which are added by default in the
stored feature. The possible values are: 'f.id', 'f.createdAt', 'f.updatedAt'.
Properties initiated with 'p.' are used to access values in the stored feature which are
under the 'properties' property. Use it as a shorthand accessor for 'properties' values.
The format should follow the specification below
* ?p.property_name_1=property_value_1&f.special_property_name_1=special_property_value_1
For example, the above query, the Features are filtered by
'property' AND 'special property' equals to their respective values.
While in the following example
* ?p.property_name_1=value_1,value_2
The resulting Features list contains all elements having value_1 OR value_2.
Additionally, to the operators used in the examples above, the query can be written,
with the same semantic, by using the long operators: "=gte=", "=lte=", "=gt=", "=lt=" and "=cs=".
The following queries yield the same result:
* ?p.property_name_1>=10
* ?p.property_name_1=gte=10
The available operators are:
- "=" - equals
- "!=" - not equals
- "=.null" - is null
- "!=.null" - is not null
- ">=" or "=gte=" - greater than or equals
- "<=" or "=lte=" - less than or equals
- ">" or "=gt=" - greater than
- "<" or "=lt=" - less than
- "@>" or "=cs=" - Array contains
explode: true
style: form
allowReserved: true
schema:
type: object
items:
type: string
example:
{
"p.myProperty1": "someValue",
"p.myProperty2!":"not-equal",
"p.myNumber1": 5,
"p.myNumber2=gte":7
}
PropertiesSelection:
name: selection
in: query
description: |
A list of properties to be returned in the features result list. Multiple attributes can be
specified by using comma(,).
Example: ?selection=p.name,p.capacity,p.color,rootpropertyname
explode: false
schema:
type: array
items:
type: string
H3Index:
name: h3Index
in: query
description: >-
H3 index
schema:
type: string
Radius:
name: radius
in: query
description: >-
Radius in meters which defines the diameter of the search request.
schema:
type: integer
TagId:
name: tagId
in: path
description: >-
The id of the tag.
required: true
schema:
type: string
RefFeatureId:
name: refFeatureId
in: query
description: >-
The unique identifier of a feature in the referenced space.
The feature's geometry is used as a reference in the spatial search.
schema:
type: string
RefSpaceId:
name: refSpaceId
in: query
description: >-
The space where the feature, referenced by refFeatureId, is stored.
Required if refFeatureId is used.
schema:
type: string
VersionLowerThan:
name: version
in: query
description: >-
The query parameter used to specify the versions to be deleted.
The value must be an integer, bigger than 1, and the comparator should be one of the below list:
- <
- =lt=
required: true
schema:
type: string
SkipCache:
name: skipCache
in: query
description: >-
If set to _true_ the response is not returned from cache. Default is _false_.
schema:
type: boolean
Sort:
name: sort
in: query
description: |
Specifies the sort order by a list of properties. Ascending assumed if no sort direction (:asc, :desc) is specified
Example: ?sort=p.name:asc,p.color:desc
explode: false
schema:
type: array
items:
type: string
South:
name: south
in: query
description: >-
The latitude in WGS'84 decimal degree (-90 to +90) of the south
(bottom) border of the bounding box.
required: false
schema:
type: number
format: double
minimum: -90
maximum: 90
SpaceId:
name: spaceId
in: path
description: The unique identifier of the space.
required: true
schema:
type: string
StartVersion:
name: startVersion
in: query
description: Defines the start of the version-range [version >= startVersion].
required: true
schema:
type: integer
StartVersionNotRequired:
name: startVersion
in: query
description: Defines the start of the version-range [version >= startVersion].
required: false
schema:
type: integer
TileId:
name: tileId
in: path
description: >-
The tile identifier can be provided as quadkey (__1__), Web Mercator
level,x,y coordinates (__1_1_0__) or OSGEO Tile Map Service
level,x,y (__1_1_0__).
required: true
schema:
type: string
TileType:
name: type
in: path
description: >-
The type of tile identifier. "quadkey" - Virtual Earth, "web" - Web
Mercator, "tms" - OSGEO Tile Map Service, "here" - Here Tile Schema.
required: true
schema:
type: string
enum:
- quadkey
- web
- tms
- here
Transactional:
name: transactional
in: query
description: Defines, if this is a transactional operation. Default is _true_.
required: false
schema:
type: boolean
Tweaks:
name: tweaks
in: query
description: >-
Providing this query parameter only a subset of the data will be returned. This can be used for rendering higher zoom levels.
Possible values are:
* "sampling"
Delivery of geometry distributed data-samples.
* "simplification"
Delivery of simplified geometries
required: false
schema:
type: string
enum:
- sampling
- simplification
- ensure
TweaksParams:
name: tweaksParams
in: query
required: false
description: |
Providing this query parameter only a subset of the data will be returned. This can be used for rendering higher zoom levels.
### Tweaks-Parameter reference
**Tweaks-type: "sampling":**
With the strength parameter it is possibile to control the behavior of the tweaks-sampling algorithm.
| Parameter | Type | Mandatory | Meaning |
|-------------|---------|-----------|-----------------------------------------------------------------------|
| algorithm | String | NO | distribution, geometrysize |
| strength | String | NO | Use presets: low, lowmed, med, medhigh, high or define strengh in percentage 1-100 |
**Tweaks-type: "simplification":**
With the strength parameter it is possibile to control the behavior of the tweaks-simplification algorithm.
| Parameter | Type | Mandatory | Meaning |
|-------------|---------|-----------|-----------------------------------------------------------------------|
| algorithm | String | NO | grid, gridbytilelevel, simplifiedkeeptopology, simplified, merge, linemerge |
| strength | String | NO | Use presets: low, med, high or define strengh in percentage 1-100 |
**Tweaks-type: "ensure":**
| Parameter | Type | Mandatory | Meaning |
|-------------|---------|-----------|-----------------------------------------------------------------------|
| defaultselection | boolean | NO | use standard selection behaviour [default: false] |
| samplingthreshold | Number | NO | integer 10-100, size of samples (x1000) [default: 10] |
style: form
explode: true
allowReserved: true
schema:
type: array
items:
type: string
example:
tweaks.strength: "1-100 | [low,lowmed,med,medhigh,high]"
Version:
name: version
in: query
description: >-
The query parameter used to specify the version of a feature or feature collection to be loaded.
required: false
schema:
type: string
VersionRef:
name: versionRef
in: query
description: >-
The query parameter used to specify the version reference pointing to a tag or a version.
required: false
schema:
type: string
VersionRefStar:
name: versionRef
in: query
description: >-
The query parameter used to specify the version reference pointing to a tag or a version
with also the possibility to use the star '*' to load all versions or 'HEAD' to load the
latest available version.
required: false
schema:
type: string
VersionPath:
name: version
in: path
description: >-
The version of a Changeset.
required: true
schema:
type: string
VersionStar:
name: version
in: query
description: >-
The query parameter used to specify the version of a feature or feature collection to be loaded.
Multiple versions of the same feature can be loaded when the value star '*' is used. Example:
/features?id=F1,F2&version=*
or
/features/F1?version=*
required: false
schema:
type: string
VizSampling:
name: vizSampling
in: query
description: >-
Choose sampling strength in case of mode = viz.
vizSampling = [low|med|high|off] - default: med.
required: false
schema:
type: string
enum:
- low
- med
- high
- "off"
West:
name: west
in: query
description: >-
The longitude in WGS'84 decimal degree (-180 to +180) of the west
(left) border of the bounding box.
required: false
schema:
type: number
format: double
minimum: -180
maximum: 180
SubscriptionId:
name: subscriptionId
in: path
description: The unique identifier of the subscription.
required: true
schema:
type: string
JobId:
name: jobId
in: path
description: The unique identifier of the job.
required: true
schema:
type: string
JobType:
name: type
in: query
description: Type of Job
required: false
schema:
type: string
enum:
- Import
- Export
JobStatus:
name: status
in: query
description: Job Status
required: false
schema:
type: string
enum:
- waiting
- queued
- validating
- preparing
- prepared
- executing
- executed
- finalizing
- finalized
- aborted
- failed
Command:
name: command
in: query
description: Command
required: true
schema:
type: string
enum:
- start
- retry
- abort
- createUploadUrl
UrlCount:
name: urlCount
in: query
description: >-
The number of upload URLs need to be created. It is only applicable when command=createUploadUrl.
*Allowed range* : 1-1000
required: false
schema:
type: number
default: 1
minimum: 1
maximum: 1000
DeleteData:
name: deleteData
in: query
description: >-
By setting deleteData=true also immediate deletion of import and export files is getting performed.
required: false
schema:
type: boolean
responses:
ChangesetCollectionResponse:
description: A collection of Changesets which contains FeatureCollections grouped by operation.
content:
application/vnd.here.changeset-collection:
schema:
$ref: '#/components/schemas/ChangesetCollection'
ChangesetResponse:
description: One Changeset which contains FeatureCollections grouped by operation.
content:
application/vnd.here.changeset:
schema:
$ref: '#/components/schemas/Changeset'
ConnectorResponse:
description: The connector
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectorConfig'
ConnectorsResponse:
description: The list of connectors
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ConnectorConfig'
type: array
EmptyResponse:
description: >-
An empty response as a result of a user-request with accepted MIME type application/x-empty.
content:
application/x-empty:
schema:
type: string
ErrorResponse400:
description: Malformed or Bad Request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: ErrorResponse
streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9
error: Exception
errorMessage:
ErrorResponse401:
description: Unauthorized to perform the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
ErrorResponse403:
description: Forbidden request. Insufficient rights to perform the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: ErrorResponse
streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9
error: Exception
errorMessage: Insufficient rights +
ErrorResponse404:
description: Not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: ErrorResponse
streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9
error: Exception
errorMessage: The requested resource does not exist.
ErrorResponse409:
description: An error response which indicates a conflict.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: ErrorResponse
streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9
error: Exception
errorMessage: The record exists.
ErrorResponse412:
description: An error response which indicates a failed precondition.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: ErrorResponse
streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9
error: Exception
errorMessage: Precondition Failed.
ErrorResponse413:
description: Request entity too large.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: "ErrorResponse"
error: "Exception"
errorMessage: "Request entity too large."
streamId: "7480e28a-e273-11e8-9af8-7508bbe361d9"
ErrorResponse513:
description: Response payload too large.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: ErrorResponse
streamId: 7480e28a-e273-11e8-9af8-7508bbe361d9
error: Exception
errorMessage: The response payload was too large. Please try to reduce the expected amount of data.
FeatureCollectionModificationResponse:
description: An array of features and their modifications response.
content:
application/geo+json:
schema:
$ref: '#/components/schemas/FeatureCollectionModification'
example:
type: FeatureCollection
etag: b9be03f253c53c23
inserted:
- BfiimUxHjj
updated:
- cuiImUxOjj
features:
- type: Feature
id: BfiimUxHjj
geometry:
type: Point
coordinates:
- -2.960847
- 53.430828
properties:
name: Anfield
'@ns:com:here:xyz':
createdAt: 1517504700726
updatedAt: 1517504700726
amenity: Football Stadium
capacity: 54074
description: Home of the Liverpool Football Club.
FeatureCollectionResponse:
description: An array of features response.
content:
application/geo+json:
schema:
$ref: '#/components/schemas/FeatureCollection'
FeatureResponse:
description: A feature response.
content:
application/geo+json:
schema:
$ref: '#/components/schemas/Feature'
ChangesetStatisticsResponse:
description: Statistical information about a Changesets.
content:
application/json:
schema:
$ref: '#/components/schemas/ChangesetStatisticsResponse'
IterateResponse:
description: A FeatureCollection with handle response.
content:
application/geo+json:
schema:
$ref: '#/components/schemas/FeatureCollectionIterable'
TagResponse:
description: A tag response.
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
TagsResponse:
description: A list of tags response.
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Tag'
type: array
SpaceResponse:
description: The space.
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
examples:
response:
value:
id: 0FzlE2wX
title: My Demo Space
description: Description as markdown
owner: HERE-12345678-1234-1111-1234-1234432112344321
cid: dX0BH75QE8paCVQr8MQw
createdAt: 1560417151751
updatedAt: 1561480482869
SpacesResponse:
description: The list of spaces.
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Space'
type: array
examples:
response:
value:
- id: 0FzlE2wX
title: My Demo Space
description: Description as markdown
owner: HERE-12345678-1234-1111-1234-1234432112344321
cid: dX0BH75QE8paCVQr8MQw
createdAt: 1560417151751
updatedAt: 1561480482869
StatisticsResponse:
description: Statistical information about a space.
content:
application/json:
schema:
$ref: '#/components/schemas/Statistics'
TileResponse:
description: >-
A FeatureCollection in GeoJSON or MVT response format. The response format can be selected by using the header "Accept". Possible values for the header "Accept" are: "application/geo+json" and "application/vnd.mapbox-vector-tile". When the header "Accept" is not informed, the default response type GeoJSON is assumed. Appending ".mvt" to the end of the tile address selects automatically the MVT response type.
content:
application/geo+json:
schema:
$ref: '#/components/schemas/FeatureCollection'
application/vnd.mapbox-vector-tile:
schema:
type: string
format: binary
example: ''
SubscriptionResponse:
description: The subscription
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
SubscriptionsResponse:
description: The list of subscriptions
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Subscription'
JobResponse:
description: The Job
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
JobsResponse:
description: Job List
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Job'
requestBodies:
ConnectorConfig:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ConnectorConfig'
FeatureCollectionOrFeatureModificationListRequest:
description: A FeatureCollection object or a FeatureModificationList object.
required: true
content:
application/geo+json:
schema:
$ref: '#/components/schemas/FeatureCollection'
application/vnd.here.feature-modification-list:
schema:
$ref: '#/components/schemas/FeatureModificationList'
FeatureCollectionRequest:
description: A feature collection request.
required: true
content:
application/geo+json:
schema:
$ref: '#/components/schemas/FeatureCollection'
FeatureRequest:
description: A feature request.
required: true
content:
application/geo+json:
schema:
$ref: '#/components/schemas/Feature'
GeometryRequest:
description: A geometry request.
content:
application/geo+json:
schema:
$ref: '#/components/schemas/Geometry'
TagRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
SpaceRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Space'
SubscriptionRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
example:
id: my-subscription-id
destination: string
config:
type: PER_FEATURE
JobRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
schemas:
# TODO add Typed and Iterable schemas
AWSLambda:
allOf:
- $ref: '#/components/schemas/RemoteFunctionConfig'
- type: object
properties:
lambdaARN:
description: >-
The ARN of the AWS lambda main function to be called for the respective operation.
type: string
roleARN:
description: >-
The ARN of an AWS IAM Role granting the permission to call the lambda function specified in {@link #lambdaARN}. The referenced role
needs to allow this service to assume it by adding this service' role ARN as principle into its trust policy.
See: [AWS Docs](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#delegation)
type: string
CacheProfile:
description: >-
Provides cache information used to determine where and for how long the content should
be held. Each of the properties of this object represents a component and its
TTL (time-to-live) in seconds, where zero value means the content should not be cached.
type: object
properties:
browserTTL:
type: integer
description: For how long, in seconds, the client should hold the content cached.
cdnTTL:
type: integer
description: For how long, in seconds, the CDN should hold the content cached.
serviceTTL:
type: integer
description: For how long, in seconds, Data Hub should hold the content cached.
Changeset:
type: object
description: A Changeset includes three FeatureCollection objects grouped by the operations inserted, updated, deleted.
properties:
type:
type: string
author:
type: string
description: The author who performed the changes.
inserted:
type: array
description: FeatureCollection of inserted features.
items:
$ref: '#/components/schemas/FeatureCollection'
updated:
type: array
description: FeatureCollection of updated features.
items:
$ref: '#/components/schemas/FeatureCollection'
deleted:
type: array
description: FeatureCollection of deleted features.
items:
$ref: '#/components/schemas/FeatureCollection'
createdAt:
description: >-
The UNIX Epoch time of when this object has been created (in
milliseconds since 01.01.1970).
example: 1234567890123
format: int64
readOnly: true
type: integer
example:
type: Changeset
inserted:
type: FeatureCollection
features:
- type: Feature
id: Q1369587
geometry:
type: Point
coordinates:
- -62.696667
- 8.3125
properties:
name: Polideportivo Cachamay
sport: association football
capacity: 41600
updated:
type: FeatureCollection
features:
- type: Feature
id: Q947065
geometry:
type: Point
coordinates:
- -110.948889
- 32.228889
properties:
name: Arizona Stadium
sport: American football
capacity: 56037
deleted:
type: FeatureCollection
features:
- type: Feature
id: Q1369587
geometry:
type: Point
coordinates:
- -62.696667
- 8.3125
properties:
name: Murrayfield Stadium
sport: rugby union
capacity: 67144
ChangesetCollection:
description: >-
A ChangesetCollection JSON object. It contains a subset of the Changesets of a space.
The subset is defined by a "startVersion" and an "endVersion".
properties:
type:
type: string
startVersion:
type: integer
description: The version of the newest included Changeset.
endVersion:
type: integer
description: The version of the oldest included Changeset.
versions:
type: object
description: The map of Changesets where the key is the version of each Changeset.
additionalProperties:
$ref: '#/components/schemas/Changeset'
nextPageToken:
type: string
description: The handle of the next batch.
example:
type: ChangesetCollection
startVersion: 1
endVersion: 2
versions:
"1":
type: Changeset
inserted:
type: FeatureCollection
features:
- type: Feature
id: Q1369587
geometry:
type: Point
coordinates:
- -62.696667
- 8.3125
properties:
name: Polideportivo Cachamay
'@ns:com:here:xyz':
version: 1
sport: association football
capacity: 41600
updated:
type: FeatureCollection
features:
- type: Feature
id: Q947065
geometry:
type: Point
coordinates:
- -110.948889
- 32.228889
properties:
name: Arizona Stadium
'@ns:com:here:xyz':
version: 1
sport: American football
capacity: 56037
deleted:
type: FeatureCollection
features: [ ]
nextPageToken: 1000
CompactChangeset:
allOf:
- $ref: '#/components/schemas/Changeset'
- type: object
description: A Changeset JSON object.
properties:
nextPageToken:
type: string
description: The handle of the next batch.
example:
type: Changeset
inserted:
type: FeatureCollection
features:
- type: Feature
id: Q1369587
geometry:
type: Point
coordinates:
- -62.696667
- 8.3125
properties:
name: Polideportivo Cachamay
'@ns:com:here:xyz':
version: 1
sport: association football
capacity: 41600
updated:
type: FeatureCollection
features:
- type: Feature
id: Q947065
geometry:
type: Point
coordinates:
- -110.948889
- 32.228889
properties:
name: Arizona Stadium
'@ns:com:here:xyz':
version: 5
sport: American football
capacity: 56037
deleted:
type: FeatureCollection
features: [ ]
nextPageToken: 1000
Connector:
type: object
description: >-
A connector configuration which is attached to the space and can act as Listener or Processor.
properties:
id:
type: string
description: >-
The connector ID, which should correspond to one of the existing connectors in Data Hub.
eventTypes:
type: array
description: >-
An array of strings where each of the elements, describes the type of event and in
which phase Data Hub should notify the connector.
items:
type: string
example:
- ModifyFeaturesEvent.request
- ModifyFeaturesEvent.response
params:
description: >-
An arbitrary object containing additional properties which are passed to the connector
together within the event sent by Data Hub. It can be used to configure the connector
per-space basis.
additionalProperties: true
ConnectorConfig:
type: object
description: A connector declaration.
properties:
id:
description: >-
The unique identifier of the connector.
example: my-custom-connector-id
type: string
active:
description: >-
Whether this connector is activated.
If this flag is set to false, no connector client will be available for it.
That means no requests can be performed to the connector.
type: boolean
default: true
skipAutoDisable:
description: >-
Whether to skip the automatic disabling of this connector even when being not healthy.
type: boolean
default: false
trusted:
description: >-
Whether the connector is a trusted connector. Trusted connectors will receive more information than normal connectors.
type: boolean
default: false
params:
description: >-
Arbitrary parameters to be provided to the remote function with the event.
type: object
capabilities:
$ref: '#/components/schemas/StorageCapabilities'
remoteFunctions:
description: >-
A map with Cluster-IDs as keys (cluster-id-1 & cluster-id-1) and a 'RemoteFunctionConfig' as value.
type: object
additionalProperties:
$ref: '#/components/schemas/RemoteFunctionConfig'
remoteFunction:
allOf:
- $ref: '#/components/schemas/RemoteFunctionConfig'
- deprecated: true
description: "This property has been deprecated, please use remoteFunctions instead."
deprecated: true
connectionSettings:
description: >-
The connection and throttling settings.
type: object
properties:
maxConnections:
description: The maximal amount of concurrent connector instances to use.
type: integer
format: int64
default: 64
defaultEventTypes:
description: >-
The default event types to register the connector for. Can be overridden in the space definition by the owner.
The value of one individual array element is a composition of the event type
and the phase, separated by a dot. For example \"ModifySpaceEvent\" as the event
type plus "." plus "response" as phase.
type: array
items:
type: string
enum: [
ModifySpaceEvent.request,
ModifySpaceEvent.response,
GetStatisticsEvent.request,
GetStatisticsEvent.response,
GetFeaturesByIdEvent.request,
GetFeaturesByIdEvent.response,
SearchForFeaturesEvent.request,
SearchForFeaturesEvent.response,
IterateFeaturesEvent.request,
IterateFeaturesEvent.response,
GetFeaturesByTileEvent.request,
GetFeaturesByTileEvent.response,
GetFeaturesByBBoxEvent.request,
GetFeaturesByBBoxEvent.response,
GetFeaturesByGeometryEvent.request,
GetFeaturesByGeometryEvent.response,
ModifyFeaturesEvent.request,
ModifyFeaturesEvent.response,
ContentModifiedNotification.request
]
contactEmails:
description: >-
A list of email addresses of responsible owners for this connector. These email addresses will be used to send potential health warnings and other notifications.
type: array
items:
type: string
format: email
example:
capabilities:
clusteringTypes:
- hexbin
- quad
- quadbin
preserializedResponseSupport: true
propertySearch: true
relocationSupport: true
searchablePropertiesConfiguration: true
contactEmails:
- MY_TEAM_E-MAIL@here.com
- DEVELOPER_E-MAIL@here.com
id: my-custom-unique-id
params:
ecps: myEncryptedAndVeryLongEcpsString
autoIndexing: true
propertySearch: true
mvtSupport: true
remoteFunctions:
eu-west-1:
id: test1
lambdaARN: arn:aws:lambda:eu-west-1::function:test1
roleARN:
type: AWSLambda
Copyright:
type: object
description: Provides some information about a copyright
properties:
label:
description: The copyright label to be displayed by the client.
type: string
alt:
description: The description text for the label to be displayed by the client.
type: string
example:
label: HERE
alt: HERE XYZ
Error:
type: object
description: >-
The response send when the request failed. This response may be send for
certain HTTP error codes like 403 Forbidden or 502 Bad Gateway and
should hold more details about the error reason.
properties:
streamId:
description: >-
A unique identifier of the request. This identifier should be
provided when reporting errors. Its used to track requests
through the XYZ platform.
type: string
type:
type: string
description: The type of the error. Defaults to 'ErrorResponse'.
error:
type: string
description: The error summary.
errorMessage:
type: string
description: >-
A human readable message in English that should provide a more
detailed description of the error reason.
Estimated:
type: boolean
description: True if the value is only an estimation; false otherwise.
example: true
Feature:
allOf:
- $ref: '#/components/schemas/GeoJSON'
- type: object
description: A Feature object represents a spatially bounded thing.
properties:
id:
description: The unique identifier of the feature.
type: string
geometry:
$ref: '#/components/schemas/Geometry'
properties:
type: object
description: The properties of the feature.
properties:
'@ns:com:here:xyz':
$ref: '#/components/schemas/Namespace'
additionalProperties: true
example:
type: Feature
id: BfiimUxHjj
geometry:
type: Point
coordinates:
- -2.960847
- 53.430828
properties:
name: Anfield
amenity: Football Stadium
capacity: 54074
description: Home of the Liverpool Football Club.
Extension:
type: object
description: >-
The extension definition which allows the space's content to be based on an existing space.
The entities in the extension space override the features with the same id in the extended space.
required:
- spaceId
properties:
spaceId:
type: string
description: The space id in which this space is extending
FeatureCollection:
allOf:
- $ref: '#/components/schemas/GeoJSON'
- type: object
description: A FeatureCollection GeoJSON object.
required:
- features
discriminator:
propertyName: type
mapping:
FeatureCollectionIterable: '#/components/schemas/FeatureCollectionIterable'
FeatureCollectionModification: '#/components/schemas/FeatureCollectionModification'
properties:
features:
type: array
description: Features included in the collection.
items:
$ref: '#/components/schemas/Feature'
example:
type: FeatureCollection
features:
- type: Feature
id: BfiimUxHjj
geometry:
type: Point
coordinates:
- -2.960847
- 53.430828
properties:
name: Anfield
'@ns:com:here:xyz':
createdAt: 1517504700726
updatedAt: 1517504700726
amenity: Football Stadium
capacity: 54074
description: Home of the Liverpool Football Club.
FeatureCollectionIterable:
allOf:
- $ref: '#/components/schemas/FeatureCollection'
- type: object
properties:
handle:
type: string
description: The handle of the next batch.
nextPageToken:
type: string
description: The nextPageToken of the next batch.
example:
type: FeatureCollection
handle: 1000
nextPageToken: 1000
features:
- type: Feature
id: BfiimUxHjj
geometry:
type: Point
coordinates:
- -2.960847
- 53.430828
properties:
name: Anfield
'@ns:com:here:xyz':
createdAt: 1517504700726
updatedAt: 1517504700726
amenity: Football Stadium
capacity: 54074
description: Home of the Liverpool Football Club.
FeatureCollectionModification:
allOf:
- $ref: '#/components/schemas/FeatureCollection'
- type: object
properties:
inserted:
type: array
description: List of inserted feature IDs.
items:
type: string
updated:
type: array
description: List of updated features IDs.
items:
type: string
deleted:
type: array
description: List of deleted features IDs.
items:
type: string
example:
type: FeatureCollection
etag: b9be03f253c53c23
inserted:
- BfiimUxHjj
updated:
- cuiImUxOjj
features:
- type: Feature
id: BfiimUxHjj
geometry:
type: Point
coordinates:
- -2.960847
- 53.430828
properties:
name: Anfield
'@ns:com:here:xyz':
createdAt: 1517504700726
updatedAt: 1517504700726
space: 0FzlE2wX
amenity: Football Stadium
capacity: 54074
description: Home of the Liverpool Football Club.
FeatureModification:
type: object
description: |
A FeatureModification object containing GeoJSON FeatureCollections
(see [RFC-7946](https://tools.ietf.org/html/rfc7946)) or (in case if deletions) a list of
feature IDs.
required:
- type
properties:
type:
type: string
featureData:
$ref: '#/components/schemas/FeatureCollection'
featureIds:
type: array
description: A list of feature IDs (strings)
items:
type: string
onFeatureNotExists:
$ref: '#/components/schemas/OnFeatureNotExists'
onFeatureExists:
$ref: '#/components/schemas/OnFeatureExists'
onMergeConflict:
$ref: '#/components/schemas/OnMergeConflict'
example:
type: FeatureModification
featureData:
type: FeatureCollection
features:
- type: Feature
id: BfiimUxHjj
geometry:
type: Point
coordinates:
- -2.960847
- 53.430828
properties:
name: Anfield
amenity: Football Stadium
capacity: 54074
description: Home of the Liverpool Football Club.
FeatureModificationList:
type: object
description: |
An object describing modifications of features. Contains feature data being provided as
GeoJSON FeatureCollections (see [RFC-7946](https://tools.ietf.org/html/rfc7946))
or (in case of deletions) a list of feature IDs.
externalDocs:
url: 'https://tools.ietf.org/html/rfc7946'
required:
- type
properties:
type:
type: string
modifications:
type: array
description: A list of FeatureModification objects
items:
$ref: '#/components/schemas/FeatureModification'
example:
type: FeatureModificationList
modifications:
- type: FeatureModification
featureData:
type: FeatureCollection
features:
- type: Feature
id: BfiimUxHjj
geometry:
type: Point
coordinates:
- -2.960847
- 53.430828
properties:
name: Anfield
amenity: Football Stadium
capacity: 54074
description: Home of the Liverpool Football Club.
GeoJSON:
type: object
description: The base type for all possible GeoJSON objects.
required:
- type
properties:
type:
type: string
bbox:
type: array
description: Describes the coordinate range of the GeoJSON object.
items:
type: number
discriminator:
propertyName: type
mapping:
Feature: '#/components/schemas/Feature'
FeatureCollection: '#/components/schemas/FeatureCollection'
Geometry: '#/components/schemas/Geometry'
additionalProperties: true
Geometry:
allOf:
- $ref: '#/components/schemas/GeoJSON'
- type: object
description: A Geometry object represents points, curves, and surfaces in coordinate space.
discriminator:
propertyName: type
mapping:
MultiPoint: '#/components/schemas/MultiPoint'
MultiLineString: '#/components/schemas/MultiLineString'
LineString: '#/components/schemas/LineString'
MultiPolygon: '#/components/schemas/MultiPolygon'
Point: '#/components/schemas/Point'
Polygon: '#/components/schemas/Polygon'
ChangesetStatisticsResponse:
description: Summarizes statistics about Changesets
properties:
type:
type: string
minVersion:
type: object
readOnly: true
properties:
value:
type: integer
description: >-
The min version which is available.
format: int64
minimum: 0
maxVersion:
type: object
readOnly: true
properties:
value:
type: integer
description: >-
The max version which is available.
format: int64
minimum: 0
example:
type: ChangesetStatisticsResponse
minVersion: 0
maxVersion: 112
Http:
allOf:
- $ref: '#/components/schemas/RemoteFunctionConfig'
- type: object
properties:
url:
description: >-
The URL of the endpoint to POST events to.
type: string
LineString:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
description: A LineString geometry.
properties:
coordinates:
type: array
items:
type: array
items:
type: number
maxItems: 3
minItems: 2
minItems: 2
MultiLineString:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
description: A MultiLineString geometry.
properties:
coordinates:
type: array
items:
type: array
items:
type: array
items:
type: number
maxItems: 3
minItems: 2
minItems: 2
MultiPoint:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
description: A MultiPoint geometry.
properties:
coordinates:
type: array
items:
type: array
items:
type: number
maxItems: 3
minItems: 2
MultiPolygon:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
description: A MultiPolygon geometry.
properties:
coordinates:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: number
maxItems: 3
minItems: 2
minItems: 4
Namespace:
type: object
description: The XYZ namespace.
properties:
space:
description: The space ID.
example: 0FzlE2wX
readOnly: true
type: string
tags:
description: The tags for this objects.
items:
type: string
type: array
createdAt:
description: >-
The UNIX Epoch time of when this feature has been created (in
milliseconds since 01.01.1970).
example: 1234567890123
format: int64
readOnly: true
type: integer
updatedAt:
description: >-
The UNIX Epoch time of when this feature has been last updated (in
milliseconds since 01.01.1970).
example: 1234567890123
format: int64
readOnly: true
type: integer
version:
description: >-
The version of the transaction as part of which this feature has been edited the last
time.
example: 1
format: int64
readOnly: true
type: integer
author:
description: >-
The author who performed the modification in the Feature's version pointed
by 'version'.
example: anonymous
readOnly: true
type: string
OnFeatureExists:
type: string
enum:
- merge
- patch
- replace
- delete
- retain
- error
default: patch
OnFeatureNotExists:
type: string
enum:
- retain
- error
- create
default: create
OnMergeConflict:
type: string
enum:
- error
- retain
- replace
default: error
Point:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
description: A Point geometry.
properties:
coordinates:
type: array
items:
type: number
maxItems: 3
minItems: 2
Polygon:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
description: A Polygon geometry.
properties:
coordinates:
type: array
items:
type: array
items:
type: array
items:
type: number
maxItems: 3
minItems: 2
minItems: 4
Tag:
type: object
description: >-
A tag which points to a version of the space.
properties:
id:
type: string
description: >-
The tag ID.
spaceId:
type: string
description: >-
The space ID for which the tag is registered.
version:
type: integer
format: int64
description: >-
The referenced version.
system:
type: boolean
description: >-
The flag indicating the tag is a system tag and cannot be modified or deleted.
RemoteFunctionConfig:
type: object
description: A connector declaration.
discriminator:
propertyName: type
required:
- type
properties:
type:
description: "The remote function's type."
type: "string"
enum:
- "Embedded"
- "AWSLambda"
- "Http"
id:
description: >-
The ID of this config.
example: my-id
type: string
warmUp:
description: >-
The number of containers to keep warmed up by sending health check requests in parallel to the remote function.
This function can be disabled by setting warmUp to zero.
type: integer
format: int64
Space:
type: object
description: A data holder for features which points to a persistent storage.
properties:
id:
description: >-
The unique identifier of the space which consists of an (optional)
prefix and a base part (prefix-base).
example: 0FzlE2wX
type: string
title:
description: The space title.
example: My Demo Space
type: string
description:
description: The space description in markdown format.
example: Description as markdown.
type: string
owner:
description: The identifier of the owner of this space, most likely the HERE account ID.
type: string
shared:
description: >
If set to __true__, every authenticated user can read the features
in the space.
When publishing a space it's also recommended to set the fields
__copyright__ & __license__.
type: boolean
readOnly:
description: A flag indicating whether the space allows write operations (false) or not (true).
type: boolean
copyright:
items:
$ref: '#/components/schemas/Copyright'
type: array
license:
description: Information about the license bound to the data within the space.
enum:
- AFL-3.0
- Apache-2.0
- Artistic-2.0
- BSL-1.0
- BSD-2-Clause
- BSD-3-Clause
- BSD-3-Clause-Clear
- CC0-1.0
- CC-BY-4.0
- CC-BY-SA-4.0
- WTFPL
- ECL-1.0
- ECL-2.0
- EUPL-1.1
- AGPL-3.0-only
- GPL-2.0-only
- GPL-3.0-only
- LGPL-2.1-only
- LGPL-3.0-only
- ISC
- LPPL-1.3c
- MS-PL
- MIT
- MPL-2.0
- OSL-3.0
- PostgreSQL
- OFL-1.1
- NCSA
- Unlicense
- Zlib
- ODbL-1.0
type: string
storage:
$ref: '#/components/schemas/SpaceStorage'
extends:
$ref: '#/components/schemas/Extension'
client:
$ref: '#/components/schemas/SpaceClientInfo'
packages:
description: List of packages that this space belongs to.
items:
type: string
type: array
cid:
description: An additional identifier specifying a context of the owner.
type: string
createdAt:
default: 1538352000000
description: >-
The UNIX Epoch time of when this space has been created (in
milliseconds since 01.01.1970). Defaults to October 1st, 2018.
example: 1538352000000
format: int64
readOnly: true
type: integer
updatedAt:
default: 1538352000000
description: >-
The UNIX Epoch time of when this space has been last updated (in
milliseconds since 01.01.1970). Defaults to October 1st, 2018.
example: 1538352000000
format: int64
readOnly: true
type: integer
cacheTTL:
default: -1
description: >-
The maximum amount of seconds of how long to hold objects of this Space in a cache.
type: integer
contentUpdatedAt:
default: 1538352000000
description: >-
The UNIX Epoch time of when the content of this space has been last updated (in
milliseconds since 01.01.1970). Defaults to October 1st, 2018.
example: 1538352000000
format: int64
readOnly: true
type: integer
searchableProperties:
$ref: '#/components/schemas/SearchableProperties'
volatilityAtLastContentUpdate:
description: >-
The calculated volatility at the last content update time.
type: number
format: double
readOnly: true
volatility:
description: >-
An indicator, if the data in the space is edited often ( value tends to 1 ) or static ( value tends to 0 ).
type: number
format: double
readOnly: true
rights:
description: >-
The list of rights the current user has when accessing the space. This property
is only shown when listing spaces with the option _includeRights=true_
type: array
items:
type: string
readOnly: true
autoCacheProfile:
allOf:
- $ref: '#/components/schemas/CacheProfile'
readOnly: true
listeners:
description: >-
A list of connector configurations in which Data Hub sends events asynchronously.
type: array
items:
$ref: '#/components/schemas/Connector'
processors:
description: >-
A list of connector configurations in which Data Hub sends events synchronously.
type: array
items:
$ref: '#/components/schemas/Connector'
versionsToKeep:
default: 1
description: >-
Defines how many versions will be kept, while older versions may be purged. By default
this value will be set to 1. That means there will be only one (HEAD) state of the space
and no further versions will be kept. If the value is bigger than 1, then older
versions, up to the "versionsToKeep" version, can be retrieved by
e.g. ?version=
example: 2
type: integer
tags:
description: >-
A map containing the tag ids and the respective referenced versions.
type: object
additionalProperties:
type: integer
format: int64
readOnly: true
example:
title: My Demo Space
description: Description as markdown
SpaceClientInfo:
type: object
additionalProperties:
type: object
description: >-
An arbitrary object holding some hints or settings for the client,
for example rendering instructions.
example:
key: value
SearchableProperties:
description: >-
A map defined by the user that indicates, which of the feature's properties to be searchable.
The key is the name of the property (nested properties can be specified using the
dot-notation e.g.: some.nested.property) and the value is a boolean telling whether the
property should be searchable or not.
Setting the value to `false` the property won't be searchable at all. (Even if the property
was chosen to be searchable by the automated property-search algorithm before). Optional it is
possible to define the datatype (object,array,string,number,boolean) of the property
eg.: some.nested.property::array. If the datatype is not given, an attempt is made to determine
it automatically.
type: object
additionalProperties:
type: boolean
SpaceStorage:
type: object
description: >-
The configuration of the space storage provider to be contacted by the
space API.
properties:
id:
description: The unique identifier of the connector to contact.
example: psql
type: string
params:
$ref: '#/components/schemas/SpaceStorageParams'
SpaceStorageParams:
type: object
description: >-
The storage provider configuration, which contains optional parameters
to be forwarded to the storage provider.
Statistics:
type: object
description: The statistical information about the space.
properties:
count:
type: object
description: The amount of features stored in the space.
properties:
value:
type: integer
estimated:
$ref: '#/components/schemas/Estimated'
contentUpdatedAt:
type: object
description: The time when the content in the space was last updated.
properties:
value:
type: integer
estimated:
$ref: '#/components/schemas/Estimated'
dataSize:
type: object
description: The amount of bytes that are allocated in the storage for this space.
properties:
value:
type: integer
format: int64
estimated:
$ref: '#/components/schemas/Estimated'
bbox:
type: object
description: The most outer bounding box around all features being within the space.
properties:
value:
type: array
items:
type: number
estimated:
$ref: '#/components/schemas/Estimated'
geometryTypes:
type: object
description: The types of geometries part of the space.
properties:
value:
type: array
items:
type: string
estimated:
$ref: '#/components/schemas/Estimated'
minVersion:
type: object
description: The version number of the oldest available version of the features within the space.
properties:
value:
type: integer
format: "int64"
estimated:
$ref: '#/components/schemas/Estimated'
maxVersion:
type: object
description: The version number of the newest available version of the features within the space.
properties:
value:
type: integer
format: "int64"
estimated:
$ref: '#/components/schemas/Estimated'
properties:
type: object
description: The properties of the features of the space.
properties:
value:
type: array
items:
type: object
properties:
key:
type: string
description: Property key of the feature.
example: Route
count:
type: number
description: Count of the features with the property.
example: 1202
searchable:
type: boolean
description: Specifies if the property is searchable.
example: false
estimated:
$ref: '#/components/schemas/Estimated'
searchable:
type: string
description: >-
Specifies the scope of searchability of the properties. One of NONE, PARTIAL, ALL.
example: PARTIAL
searchable:
type: string
description: >-
Specifies the scope of searchability of the properties. One of NONE, PARTIAL, ALL.
example: PARTIAL
example:
type: StatisticsResponse
count:
value: 29208
estimated: true
contentUpdatedAt:
value: 1692368695049
estimated: true
minVersion:
value: 0
estimated: false
maxVersion:
value: 27
estimated: false
dataSize:
value: 108364
estimated: true
bbox:
value:
- -10
- -10
- 10
- 10
estimated: true
geometryTypes:
value:
- Point
estimated: true
properties:
value:
- key: Route
count: 29208
searchable: true
- key: Route Type
count: 29208
searchable: true
estimated: true
searchable: PARTIAL
etag: 072d3ec0f881b4e7
StorageCapabilities:
type: object
description: Arbitrary parameters to be provided to the remote function with the event.
properties:
preserializedResponseSupport:
description: >-
If the lambda supports pre-serialization.
type: boolean
relocationSupport:
description: >-
If the lambda supports relocation events.
type: boolean
maxUncompressedSize:
description: >-
The maximum size of the payload, which the connector accepts as uncompressed data.
format: int64
default: 2147483647
type: integer
maxPayloadSize:
description: >-
The maximum size of the event, which this connector can directly receive.
format: int64
default: 6291456
type: integer
propertySearch:
description: >-
Whether searching by properties is supported. (Only applicable for storage connectors)
default: false
type: boolean
searchablePropertiesConfiguration:
description: >-
Whether it's supported to configure the searchableProperties of spaces. (Only applicable for storage connectors)
default: false
type: boolean
enableAutoCache:
description: >-
Whether automatic caching configuration for spaces is supported.
default: false
type: boolean
clusteringTypes:
description: >-
A list of supported clustering types / algorithms. ("hexbin", "quad", "quadbin") (Only applicable for storage connectors)
items:
type: string
type: array
Subscription:
type: object
description: A subscription object that contains notification information.
properties:
id:
description: >-
The uniques identifier for the subscription.
type: string
example: my-subscription-id
source:
description: >-
The source for the subscribed notification (usually the space).
type: string
destination:
description: >-
The destination for the subscribed notification.
type: string
config:
$ref: '#/components/schemas/SubscriptionConfig'
status:
description: >-
The status of the subscription.
type: object
properties:
state:
description: The state of the subscription.
type: string
example: ACTIVE
stateReason:
description: "The reason for the current state."
type: string
example: ""
SubscriptionConfig:
type: object
description: The subscription configuration.
properties:
type:
description: >-
The type of subscribed notification.
type: string
enum:
- PER_FEATURE
- PER_TRANSACTION
- CONTENT_CHANGE
params:
type: "object"
description: "The additional parameters of the subscription config"
Job:
type: object
description: >-
A job which can be executed by the XYZ Job API.
There are different kinds of tasks to be executed by a job depending on its specified
source and target dataset-descriptions.
properties:
type:
description: >-
The type of the job (deprecated)
example: Import
type: string
id:
description: >-
The unique identifier of the job.
NOTE: The id will always be generated by the service. It can not be defined by the client.
example: ZMlfeaN8B8
type: string
description:
description: >-
A human readable description of the purpose of the job
example: This job imports some GeoJSON data to my space
type: string
source:
$ref: '#/components/schemas/DatasetDescription'
target:
$ref: '#/components/schemas/DatasetDescription'
example:
type: Import
description: This job imports some GeoJSON data to my space
source:
type: Files
target:
type: Space
id: sdkeuh7
DatasetDescription:
type: object
properties:
type:
description: The type of the dataset
example: Space
type: string
enum:
- Space
- Spaces
- Files