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: 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. - name: Manage Branches description: Read and write endpoints for branches. 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}/branches': get: tags: - Manage Branches summary: List Branches description: >- Lists the branches of the specified space. operationId: getBranches parameters: - $ref: '#/components/parameters/SpaceId' responses: '200': $ref: '#/components/responses/BranchesResponse' '401': $ref: '#/components/responses/ErrorResponse401' post: tags: - Manage Branches summary: Create a Branch description: >- Create a branch, which points to a version of the space or to a version of another branch. operationId: postBranch parameters: - $ref: '#/components/parameters/SpaceId' requestBody: $ref: '#/components/requestBodies/BranchRequest' responses: '200': $ref: '#/components/responses/BranchResponse' '400': $ref: '#/components/responses/ErrorResponse400' '401': $ref: '#/components/responses/ErrorResponse401' '403': $ref: '#/components/responses/ErrorResponse403' '404': $ref: '#/components/responses/ErrorResponse404' '/spaces/{spaceId}/branches/{branchId}': patch: tags: - Manage Branches summary: Update a Branch description: >- Update the ID or the baseRef of a branch. Changing the base reference of a branch performs a "rebase"-operation. Under some circumstances such an operation can take a bit longer than usual, in that case a special response will be sent which contains a token to check the status of the operation. Depending on the content of the branch, there can be conflicts during a "rebase"-operation. In that case the response will be a conflict-response which contains a description of the occurred conflicts. These conflicts then have to be solved in order to continue with the "rebase"-operation. operationId: patchBranch parameters: - $ref: '#/components/parameters/SpaceId' - $ref: '#/components/parameters/BranchId' requestBody: $ref: '#/components/requestBodies/BranchRequest' responses: '200': $ref: '#/components/responses/BranchResponse' '400': $ref: '#/components/responses/ErrorResponse400' '401': $ref: '#/components/responses/ErrorResponse401' '403': $ref: '#/components/responses/ErrorResponse403' '404': $ref: '#/components/responses/ErrorResponse404' post: tags: - Manage Branches summary: Execute an operation on a Branch description: >- Execute an operation on the specified branch. Supported operation types are: - Merge operationId: execBranchOperation parameters: - $ref: '#/components/parameters/SpaceId' - $ref: '#/components/parameters/BranchId' requestBody: $ref: '#/components/requestBodies/BranchOperationRequest' responses: '200': $ref: '#/components/responses/BranchResponse' '400': $ref: '#/components/responses/ErrorResponse400' '401': $ref: '#/components/responses/ErrorResponse401' '403': $ref: '#/components/responses/ErrorResponse403' '404': $ref: '#/components/responses/ErrorResponse404' delete: tags: - Manage Branches summary: Delete a branch description: >- Deletes a branch. operationId: deleteBranch parameters: - $ref: '#/components/parameters/SpaceId' - $ref: '#/components/parameters/BranchId' responses: '200': $ref: '#/components/responses/BranchResponse' '400': $ref: '#/components/responses/ErrorResponse400' '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 can be defined either by a "startVersion" and an "endVersion" or by providing a version ref that references a version range of a specific branch: e.g., "main:5..6" or "myBranch:0..HEAD". The version range can be specified using the `versionRef` query-parameter as follows: `..` Where `` is the start of the range (exclusive) and `` is the end of the range (inclusive). 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/VersionRef' - $ref: '#/components/parameters/StartVersion' - $ref: '#/components/parameters/EndVersion' - $ref: '#/components/parameters/PageToken' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Author' - $ref: '#/components/parameters/StartTime' - $ref: '#/components/parameters/EndTime' 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: | `[Deprecated]` Get ChangesetStatistics deprecated: true 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/VersionRef' - $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' - $ref: '#/components/parameters/VersionRef' 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' - $ref: '#/components/parameters/VersionRef' 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' - $ref: '#/components/parameters/VersionRef' - name: eraseContent in: query description: >- false - [default] true - erase, wipe all content required: false schema: type: boolean default: false 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/VersionRef' - $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' - $ref: '#/components/parameters/VersionRef' 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' - $ref: '#/components/parameters/VersionRef' 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' - $ref: '#/components/parameters/VersionRef' 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' '/references': post: tags: - Manage Data References summary: Create a Data Reference description: Creates a Data Reference operationId: createDataReference requestBody: $ref: '#/components/requestBodies/CreateDataReferenceRequest' responses: '201': $ref: "#/components/responses/DataReferenceResponse" '400': $ref: '#/components/responses/ErrorResponse400' get: tags: - Manage Data References summary: Query Data References description: Queries for Data References operationId: queryDataReferences parameters: - name: entityId in: query required: true schema: type: string example: 'hrn:here:data::olp-here:CATALOG_ID:LAYER_ID' - name: startVersion in: query required: false schema: type: integer example: 123 - name: endVersion in: query required: false schema: type: integer example: 456 - name: sourceSystem in: query required: false schema: type: string example: IML - name: targetSystem in: query required: false schema: type: string example: S3 - name: contentType in: query required: false schema: type: string example: 'application/geo+json-seq' - name: objectType in: query required: false schema: type: string example: features responses: '200': $ref: "#/components/responses/DataReferenceListResponse" '/references/{referenceId}': get: tags: - Manage Data References summary: Get a Data Reference description: Gets a single Data Reference operationId: getDataReference parameters: - name: referenceId in: path description: The unique identifier of the Data Reference. required: true schema: type: string format: uuid responses: '200': $ref: "#/components/responses/DataReferenceResponse" '404': $ref: '#/components/responses/ErrorResponse404' delete: tags: - Manage Data References summary: Delete a Data Reference description: Deletes a single Data Reference operationId: deleteDataReference parameters: - name: referenceId in: path description: The unique identifier of the Data Reference. required: true schema: type: string format: uuid responses: '204': $ref: '#/components/responses/EmptyResponse' 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: | `[Deprecated]` Please define the version range using the versionRef query parameter. Defines the end of the version-range [version <= endVersion]. required: false schema: type: integer deprecated: true StartTime: name: startTime in: query description: | Filter changesets by creation time. Start time in milliseconds since the UNIX epoch (exclusive). required: false schema: type: integer format: int64 minimum: 0 EndTime: name: endTime in: query description: | Filter changesets by creation time. End time in milliseconds since the UNIX epoch (inclusive). required: false schema: type: integer format: int64 minimum: 0 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 not required when eraseContent=true is used. required: false 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 - !geometry : special value to omit geometries 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 BranchId: name: branchId in: path description: The unique identifier of the branch. required: true schema: type: string StartVersion: name: startVersion in: query description: | `[Deprecated]` Please define the version range using the versionRef query parameter. Defines the start of the version-range [version >= startVersion]. required: false schema: type: integer deprecated: true 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 target version reference when reading or writing features. A reference describes a target tag or a branch and/or a version within that target branch. Default is: `main:HEAD`
Version references have the following syntax:
`[:][] | [ (optional)]`
The "main"-branch is pointing to the space itself as it has been created in the first place. Defining the branch as part of the reference only becomes necessary if further branches have been created for the space, which should be addressed by the ref.
Depending on the use-case it can be necessary to specify a range of versions rather than only one version. In such a case the version part of the Ref would look like: `..` Where `` is the start of the range (exclusive) and `` is the end of the range (inclusive). Another way of specifying a version range is using the star-symbol: `*` Using `*` refers to "all available versions" in the space or branch and is only applicable in the cases in which a version range may be provided.
Samples: - `main:42` points to version 42 of the "main"-branch - `myTag` points to the version of the tag with ID "myTag" - `myBranch:37` Points to version 37 of the branch with ID "myBranch" - `42` points to version 42 of the "main"-branch - `myBranch:HEAD` points to the latest version of the branch with ID "myBranch" - `HEAD` points to the latest version of the "main"-branch - `myBranch` points to the latest version of the branch with ID "myBranch" - `myBranch:0..HEAD` points to all available versions of the branch with ID "myBranch" - `0..HEAD` also points to all available versions of the "main"-branch - `*` also points to all versions (short form) - `myBranch:*` also points to all versions of branch "myBranch" (short form) - `main:5..10` points to the versions in the interval `]5, 10]` of the "main"-branch - `5..10` also points to the versions in the interval `]5, 10]` of the "main"-branch required: false schema: type: string default: main:HEAD 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 BranchResponse: description: A branch response. content: application/json: schema: $ref: '#/components/schemas/Branch' 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: A 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 BranchesResponse: description: A list of branches. content: application/json: schema: items: $ref: '#/components/schemas/Branch' type: array examples: response: value: - id: myBranch baseRef: 'main:42' description: Description as markdown 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' DataReferenceResponse: description: A Data Reference content: application/json: schema: $ref: '#/components/schemas/DataReference' DataReferenceListResponse: description: Data Reference list content: application/json: schema: type: array items: $ref: '#/components/schemas/DataReference' 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' BranchRequest: required: true content: application/json: schema: $ref: '#/components/schemas/Branch' BranchOperationRequest: required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/MergeBranchOperation' discriminator: propertyName: type example: type: Merge targetBranchId: main 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' CreateDataReferenceRequest: required: true content: application/json: schema: $ref: '#/components/schemas/DataReference' 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. description: type: string description: >- The description of the tag, must be less than 255 characters. author: type: string description: >- The author of the tag. createdAt: type: integer format: int64 description: >- The timestamp of creation of the tag in millis. Branch: type: object description: >- A branch is like a separate space, which is based on a specific version of the space or on a specific version of some other branch of the space. Reading & writing features to a branch does not have an effect on the main branch or any other branch of the space. A branch can be created by pointing to a base ref. A base ref consists of the base branch (e.g, "main") and the base version of that base branch. New write transactions to the created branch will continue to increase the version counter starting from the base version. Versions in that branch are independent from the versions of the base branch. properties: id: type: string description: >- The branch ID. It must be unique per space. baseRef: type: string description: >- The reference onto which the branch has been created. A reference describes a target branch and a version within that target branch. References have the following syntax: `[:][]` The "main"-branch is the space itself as it has been created in the first place. Defining the branch as part of the reference only becomes necessary if further branches have been created for the space, which should be addressed by the ref. Samples: - `main:42` points to version 42 of the "main"-branch - `myBranch:37` Points to version 37 of the branch with ID "myBranch" - `42` points to version 42 of the "main"-branch - `myBranch:HEAD` points to the latest version of the branch with ID "myBranch" - `HEAD` points to the latest version of the "main"-branch - `myBranch` points to the latest version of the branch with ID "myBranch" MergeBranchOperation: type: object description: | This operation performs a merge of the branch into another specified branch. Merging a branch into another one means to add all changes of this branch into the specified target branch as a new single commit. During a merge operation conflicts may occur. That will be indicated within the branch response with `state = IN_CONFLICT`. In such a case the conflicts can be solved by the client using the `conflictSolvingBranch` that points to `!`. The `merges` property of the branch response depicts all merges that have been executed and/or attempted. The most recent merge attempt is the one with the highest version number. There may be only one merge attempt that is in progress at any time. All other / older entries in the `merges` map depict merge operations that have been executed successfully in the past. Sample: If a merge operation was started on branch `myBranch` and ends up in `state = IN_CONFLICT` the resulting branch response could look like follows: ```json { "id": "myBranch", "baseRef": "main:11", "state": "IN_CONFLICT", "merges": { "27": "main:42" "15": "main:14" } "conflictSolvingBranch": "!myBranch" } ``` Here `"myBranch"` is the ID of the branch that was attempted to be merged into branch `"main"`. It was attempted to merge version `27` of `myBranch` as new commit (with version `42`) into the branch `"main"`. Conflicts occurred during that operation, that is why `state = "IN_CONFLICT"` and the ID of a `"conflictSolvingBranch"` with ID `"!myBranch"` was provided. That conflict solving branch can be used like any other branch to solve the conflicts by writing to it. All conflicting features in there are marked as such having set `conflicting = true` in their XYZ namespace. discriminator: propertyName: type required: - type properties: type: type: string description: "The type is: `Merge`" targetBranchId: type: string description: "The ID of the branch into which to merge this branch." 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: "" filter: $ref: '#/components/schemas/SubscriptionFilter' SubscriptionFilter: type: object description: Filter criteria for subscription notifications. properties: jsonPaths: description: >- List of JSON path expressions to filter features. type: array items: type: string example: ["$.properties.name", "$.properties.type"] spatialFilter: $ref: '#/components/schemas/SpatialFilter' SpatialFilter: type: object description: >- A spatial filter to filter features based on their geometric properties. properties: geometry: $ref: '#/components/schemas/Geometry' radius: description: >- Radius in meters which defines the diameter of the search request. type: integer default: 0 clip: description: >- If set to true the features' geometries are clipped to the geometry of the tile, bounding box or input geometry. Default is false. type: boolean default: false 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 DataReference: type: object description: Reference to a dataset stored in an external system properties: id: type: string format: uuid description: Unique identifier. If not provided, it will be generated automatically. example: '308a8ebd-de83-42ac-a5ce-e83bf5c60def' entityId: type: string description: HERE entity identifier (HRN format) example: 'hrn:here:data::olp-here:CATALOG_ID:LAYER_ID' isPatch: type: boolean description: Indicates whether this reference represents a patch dataset example: true startVersion: type: integer format: int64 description: Starting version of data (optional) example: 123 endVersion: type: integer format: int64 description: Ending version of data example: 134 objectType: type: string description: Type of stored objects example: features contentType: type: string description: MIME type of stored content example: 'application/geo+json-seq' location: type: string description: Storage location URI example: 's3://bucket/prefix/to/files' sourceSystem: type: string description: Source system name example: IML targetSystem: type: string description: Target system name example: S3 required: - entityId - isPatch - endVersion - objectType - contentType - location - sourceSystem - targetSystem DataReferenceList: type: array description: List of DataReference objects items: $ref: '#/components/schemas/DataReference'