{"openapi":"3.0.1","info":{"description":"The `config` service provides basic catalog management operations. It manages all platform resources needed for different kinds of catalogs and operations on them.","version":"1.3.4","title":"Config API v1","x-olp-service":{"name":"config","version":"v1"}},"externalDocs":{"description":"The developer guide and related API references are available here.","url":"https://www.here.com/docs/category/data-api"},"servers":[{"url":"https://use.apilookup.for.a.base.url/"}],"security":[{"Bearer":[]}],"tags":[{"name":"config","description":"Manages catalogs and layers."},{"name":"subscription","description":"Manages subscriptions."}],"paths":{"/catalogs":{"get":{"tags":["config"],"summary":"Gets a list of all catalogs","description":"Lists all catalogs that your account has access to. To get access to a catalog, your administrator must associate this catalog in your HERE platform account. By default, the list provides summary data for each catalog such as the title, the configuration URL, and the resource type.\n\nNote:\nIf you have access to tens of thousands of catalogs or more, and it takes the server more than 50 seconds to generate the result, a partial response may be returned. Our testing indicates that a user with permission to access 50000 catalogs takes roughly 50 seconds to generate the result.\n","operationId":"Config API v1 getCatalogs","parameters":[{"name":"verbose","in":"query","description":"Indicates if the response should contain fully expanded catalog configurations.","required":false,"schema":{"type":"boolean","default":false}},{"name":"q","in":"query","description":"Works only when the verbose flag is set to true. The result contains only those items which have the given string as a part of the value of one or more searchable fields (substring compare). It will search the following catalog details fields: id, name, summary, description, tags and layer details: id, name, summary, description, tags, schema-hrn","required":false,"schema":{"type":"string"}},{"name":"organisation","in":"query","description":"Works only when the verbose flag is set to true. Filters only catalogs (layers) that belong to a specified organisation. You can filter only by catalog (layer) owner organisation ID. If you do not specify an organisation, the search is unfiltered.","required":false,"schema":{"type":"string"}},{"name":"organisationType","in":"query","description":"Works only when the verbose flag is set to true. Filters only catalogs that belong to an organisation. If set to ''myOrganisation'', the search is for catalogs (layers) with the same owner organisation ID like the requester''s. If set to ''here'', the search is for catalogs (layers) with the same owner organisation ID is equal to the Here organisation. If set to ''other'', the search is for catalogs (layers) with an owner organisation ID not equal to the requester organisation and not equal to HERE organisation. If you do not specify an organisation, the search is unfiltered.","required":false,"schema":{"type":"array","format":"csv","example":"myOrganisation,here,other","items":{"type":"string","enum":["myOrganisation","here","other"]}},"style":"form"},{"name":"layerType","in":"query","description":"Works only when the verbose flag is set to true. Comma-separated list of layer types (with OR semantic) to look for in the layer type. Filters only catalogs that contain layers with layer type presented in a given list. If you do not specify a layer type, the search is unfiltered.","required":false,"schema":{"type":"array","format":"csv","example":"versioned","items":{"type":"string","enum":["versioned","stream","volatile","index","objectstore","interactivemap"]}},"style":"form"},{"name":"region","in":"query","description":"Works only when the verbose flag is set to true. Comma-separated list of regions (with OR semantic) to look for in the catalog replication configuration. Filters only catalogs that contain region presented in given list. If you do not specify a region, the search is unfiltered.","required":false,"schema":{"type":"array","format":"csv","example":"eu-ireland,us-oregon,ap-seoul","items":{"type":"string","enum":["eu-ireland","us-oregon","ap-seoul"]}},"style":"form"},{"name":"schemaHrn","in":"query","description":"Works only when the verbose flag is set to true. Filters only catalogs (layers) by the specified layer schema HRN. You can only filter by layer schema. If you do not specify a schema, the search is unfiltered.","required":false,"schema":{"type":"string"}},{"name":"resourceType","in":"query","description":"Works only when the verbose flag is set to true. Specifies other filters behavior. If set to 'catalog', this applies other filters to search catalogs (and layers inside). If set to 'layer', this applies other filters to search layers. The returned json structure is the same for both cases (list of catalogs with list of layers inside each catalog).","required":false,"schema":{"type":"string","enum":["catalog","layer"],"default":"catalog"}},{"name":"coverage","in":"query","description":"Works only when the verbose flag is set to true. Comma-separated list of countries (with OR semantic) to look for in the catalog (layer) coverage. Only catalogs (layers) covering specified countries will be returned. This filed is case-insensitive. If you do not specify coverage, the search includes all countries.","required":false,"schema":{"type":"array","format":"csv","items":{"type":"string"}},"style":"form"},{"name":"access","in":"query","description":"Works only when the verbose flag is set to true. Comma-separated list of access types (with OR semantic) to filter result. If set to 'default', the response includes catalogs the user has read or manage access to. If set to 'create', the response includes catalogs the user has created and which match the `owner.creator` field, if set to 'manage', the response includes catalogs the user has manage access to. If set to 'orgAdmin', the response includes catalogs the `OrgAdmin` user have access to.","required":false,"schema":{"type":"array","format":"csv","example":"default,create,manage,orgAdmin","items":{"type":"string","enum":["default","create","manage","orgAdmin"]}},"style":"form"},{"name":"marketplaceReady","in":"query","description":"Indicates if the response should contain only Marketplace-ready catalogs. If this flag is set to true, the service will return only catalogs with the `marketplaceReady` element set to true.","required":false,"schema":{"type":"boolean","default":false}},{"name":"limit","in":"query","description":"Works only when the verbose flag is set to true. When specified, result element count will be limited to this value. You will be provided with a `pageUrl` link to access other pages in the `next` or `previous` field in the response. For further accessing other pages, you should use `getCatalogsPage` operation i.e. catalogs context route which `Gets a list of catalogs in the current page`.","required":false,"schema":{"type":"integer","minimum":1}},{"name":"sortBy","in":"query","description":"Works only when the verbose flag is set to true. Specifies sort field. If set to 'name', the response contains catalogs sorted by catalog name. If set to 'created', the the response contains catalogs sorted by catalog create time. Layers inside a catalog are always sorted by layer name. If you do not specify a `sortBy`, the response contains catalogs sorted by 'name'.","required":false,"schema":{"type":"string","enum":["name","created"],"default":"name"}},{"name":"sortOrder","in":"query","description":"Works only when the verbose flag is set to true. Specifies the sort order. If set to 'asc', the sort order is ascending. If set to 'desc', the sort order is descending. If you do not specify `sortOrder`, the sort order is ascending.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},{"$ref":"#/components/parameters/linkable"},{"$ref":"#/components/parameters/billingTag"}],"responses":{"200":{"x-baseType":"CatalogsResultBase","description":"OK","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CatalogsListResult"},{"$ref":"#/components/schemas/CatalogsSummaryListResult"}]}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"x-olp-access-type":"service"},"post":{"tags":["config"],"summary":"Creates a catalog","description":"Creates a new catalog with the specified layers. The create catalog operation runs asynchronously. Once you've submitted the catalog for creation, you'll receive a randomly generated token that you can use to monitor the status of the operation.","operationId":"Config API v1 createCatalog","parameters":[{"$ref":"#/components/parameters/billingTag"}],"requestBody":{"description":"A catalog object that contains metadata and layer definitions.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalog"}}}},"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation, such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"402":{"description":"Payment required - indicates that your request failed because performing the catalog operation would exceed the resource limit."},"403":{"description":"Forbidden"},"409":{"description":"Conflict - indicates that a catalog with the same catalog ID already exists or is in the process of being created."}},"x-olp-access-type":"service"}},"/catalogs/context/{pageContext}":{"get":{"tags":["config"],"summary":"Gets a list of catalogs in the current page","description":"When the result of `Gets a list of all catalogs` i.e. `getCatalogs` operation is divided into multiple pages, you get a list of catalogs in the current page using this catalogs context route.","operationId":"Config API v1 getCatalogsPage","parameters":[{"name":"pageContext","in":"path","description":"`pageContext` is the encoded string you should extract from the `getCatalogs` or `getCatalogsPage` operation response. The value should be extracted from the pageUrl value of the fields `next` or `previous`.\n","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"responses":{"200":{"x-baseType":"CatalogsResultBase","description":"OK","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/CatalogsListResult"},{"$ref":"#/components/schemas/CatalogsSummaryListResult"}]}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"x-olp-access-type":"service"}},"/catalogs/{catalogHrn}":{"get":{"tags":["config"],"summary":"Gets the details of a catalog","description":"Gets the full catalog configuration for the requested catalog. The catalog configuration contains descriptive and structural information such as layer definitions and layer types.","operationId":"Config API v1 getCatalog","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalog"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden"}},"x-olp-access-type":"service"},"head":{"tags":["config"],"summary":"Checks the existence of a catalog","description":"Checks whether a catalog with the specified HRN exists.","operationId":"Config API v1 catalogExists","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"responses":{"200":{"description":"OK - catalog exists."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found - catalog with the specified HRN doesn't exist."}},"x-olp-access-type":"service"},"put":{"tags":["config"],"summary":"Updates a catalog","description":"Updates any descriptive and structural information in the catalog. To update a catalog, send a new version of your catalog configuration with the updated data and any required fields.","operationId":"Config API v1 updateCatalog","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"requestBody":{"description":"A catalog object that contains metadata and layer definitions.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCatalog"}}}},"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"402":{"description":"Payment required - indicates that your request failed because performing the catalog operation would exceed the resource limit."},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."},"409":{"description":"Conflict - The catalog with the specified HRN is in the process of being updated."}},"x-olp-access-type":"service"},"patch":{"tags":["config"],"summary":"Modify a catalog","description":"Modify some fields of the catalog. The existing HTTP PUT method only allows a complete replacement of a catalog configuration, HTTP PATCH method is used to modify some fields of existing catalog configuration. All fields are optional. Specify field value to modify it, not specified fields are ignored. To remove the field value use the null value. For more information, see RFC 7396 - JSON Merge Patch.","operationId":"Config API v1 patchCatalog","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"requestBody":{"description":"A catalog object that contains modification of catalog configuration","required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/PatchCatalog"}}}},"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"402":{"description":"Payment required - indicates that your request failed because performing the catalog operation would exceed the resource limit."},"403":{"description":"Forbidden - Access to this catalog is forbidden."},"404":{"description":"Not Found - A catalog with the specified HRN doesn't exist."},"409":{"description":"Conflict - The catalog with the specified HRN is in the process of being updated."}},"x-olp-access-type":"service"},"delete":{"tags":["config"],"summary":"Deletes a catalog","description":"Deletes a catalog and any layers within that catalog.","operationId":"Config API v1 deleteCatalog","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."},"409":{"description":"Conflict - The catalog with the specified HRN is in the process of being deleted."}},"x-olp-access-type":"service"}},"/catalogs/{catalogHrn}/status":{"patch":{"tags":["config"],"summary":"Mark a catalog as disabled or re-enable catalog","description":"Allows to mark a catalog status as disabled or to re-enable it.","operationId":"Config API v1 changeCatalogState","parameters":[{"name":"catalogHrn","in":"path","required":true,"description":"The HERE Resource Name (HRN) of the catalog","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogStatusRequestBody"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogStatusResult"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - Access to this catalog is forbidden."},"404":{"description":"Not Found - A catalog with the specified HRN doesn't exist."},"409":{"description":"Conflict - The catalog with the specified HRN is in the process of being updated."}},"x-olp-access-type":"service"},"get":{"tags":["config"],"summary":"Gets catalog status information","description":"Query status, time of disablement or enablement by catalog and who changed the status from enabled to disabled and vice versa.","operationId":"Config API v1 getCatalogState","parameters":[{"name":"catalogHrn","in":"path","required":true,"description":"The HERE Resource Name (HRN) of the catalog","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogStatusResult"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden"},"404":{"description":"Not Found - A catalog with the specified HRN doesn't exist."}},"x-olp-access-type":"service"}},"/catalogs/{catalogHrn}/layers/{layerId}":{"patch":{"tags":["config"],"summary":"Modify a catalog layer","description":"Modify some fields of the catalog layer. HTTP PATCH method is used to modify some fields of existing layer configuration. All fields are optional. Specify field value to modify it, not specified fields are ignored. To remove the field value use the null value. For more information see RFC 7396 - JSON Merge Patch.","operationId":"Config API v1 patchLayer","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog","required":true,"schema":{"type":"string"}},{"name":"layerId","in":"path","description":"The layer ID","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"requestBody":{"description":"A layer object that contains modification of layer configuration","required":true,"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/PatchLayer"}}}},"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"402":{"description":"Payment required - indicates that your request failed because performing the catalog operation would exceed the resource limit."},"403":{"description":"Forbidden - Access to this catalog or layer is forbidden."},"404":{"description":"Not Found - A catalog with the specified HRN doesn't exist."},"409":{"description":"Conflict - The catalog with the specified HRN is in the process of being updated."}},"x-olp-access-type":"service"},"delete":{"tags":["config"],"summary":"Delete a layer","description":"Deletes a layer of the catalog.","operationId":"Config API v1 deleteLayer","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog","required":true,"schema":{"type":"string"}},{"name":"layerId","in":"path","description":"The layer ID","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - Access to this catalog or layer is forbidden."},"404":{"description":"Not Found - A catalog with the specified HRN doesn't exist."},"409":{"description":"Conflict - The catalog with the specified HRN is in the process of being updated."}},"x-olp-access-type":"service"}},"/catalogs/{catalogHrn}/subsets":{"get":{"tags":["config"],"deprecated":true,"summary":"Retrieves the details of all accessible subsets.","description":"This endpoint is deprecated. Use **/catalogs/{catalogHrn}/dataSubsets** instead. **BETA** Retrieves the details of all accessible subsets which contain the given areaId or areaIds.","operationId":"Config API v1 getSubsets","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Determines pagination by limiting the number of requested items per page, as there can be thousands of subsets. The actual number of items may differ from the requested limit on the last page.","required":false,"schema":{"type":"integer","format":"int64","minimum":1,"default":100,"example":50}},{"name":"pageToken","in":"query","description":"Used for pagination requests when there are more pages than can be determined from the response of the request. The value is determined from the nextPageToken field in the response of the previous request, if it is not the last.","required":false,"schema":{"type":"string"},"example":"MS84"},{"name":"areas","in":"query","description":"Filters results to subsets which contain the given areaId or areaIds, if provided. Only the areaId from the Area Scheme assigned to the catalog can be used. This parameter is optional.","required":false,"style":"form","schema":{"type":"array","format":"csv","items":{"type":"string"},"example":"afg,bra,deu"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubsetsResponse"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."}},"x-olp-access-type":"service","x-maturity":"beta"}},"/catalogs/{catalogHrn}/subsets/{subsetId}":{"get":{"tags":["config"],"deprecated":true,"summary":"Retrieve the details of a specific subset.","description":"This endpoint is deprecated. Use **/catalogs/{catalogHrn}/dataSubsets/{dataSubsetId}** instead. **BETA** Retrieve the details of a specific subset.","operationId":"Config API v1 getSubset","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}},{"name":"subsetId","in":"path","description":"Immutable ID used to refer to the subset.","required":true,"schema":{"type":"string"},"example":"deu"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subset"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."},"404":{"description":"Not Found - A Subset with the specified subsetId doesn't exist."}},"x-olp-access-type":"service","x-maturity":"beta"}},"/catalogs/{catalogHrn}/subsetsFingerprint":{"get":{"tags":["config"],"deprecated":true,"summary":"Get Subsets Fingerprint","description":"This endpoint is deprecated. Use **/catalogs/{catalogHrn}/dataSubsetsFingerprint** instead. **BETA** Retrieve a fingerprint that represents the accessible subset configuration of the calling user.","operationId":"Config API v1 getSubsetsFingerprint","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubsetsFingerprint"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."}},"x-olp-access-type":"service","x-maturity":"beta"}},"/catalogs/{catalogHrn}/dataSubsets":{"get":{"tags":["config"],"summary":"Retrieves the details of all accessible data subsets.","description":"Retrieves the details of all accessible data subsets which could contain the given areaId, areaIds, layerId or layerIds.","operationId":"Config API v1 getDataSubsets","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Determines pagination by limiting the number of requested items per page, as there can be thousands of data subsets. The actual number of items may differ from the requested limit on the last page.","required":false,"schema":{"type":"integer","format":"int64","minimum":1,"default":100,"example":50}},{"name":"pageToken","in":"query","description":"Used for pagination requests when there are more pages than can be determined from the response of the request. The value is determined from the nextPageToken field in the response of the previous request, if it is not the last.","required":false,"schema":{"type":"string"},"example":"MS84"},{"name":"areas","in":"query","description":"Filters results to data subsets which contain the given areaId or areaIds, if provided. Only the areaId from the Area Scheme assigned to the catalog can be used. This parameter is optional.","required":false,"style":"form","schema":{"type":"array","format":"csv","items":{"type":"string"},"example":"afg,bra,deu"}},{"name":"layers","in":"query","description":"Filters results to data subsets which contain the given layerId or layerIds, if provided. Only the layerId from the catalog can be used. This parameter is optional.","required":false,"style":"form","schema":{"type":"array","format":"csv","items":{"type":"string"},"example":"topology,roadnetwork"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSubsetsResponse"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."}},"x-olp-access-type":"service","x-maturity":"beta"},"post":{"tags":["config"],"summary":"Create data subsets","description":"Creates one or more data subsets for the given catalog. \n- Maximum **1000** data subsets can be created in a single request. \n- This is an **asynchronous** operation: the request returns a status link which can be used to check the operation result.\n","operationId":"Config API v1 createDataSubsets","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Array of data subsets to create.\n","content":{"application/json":{"schema":{"type":"array","maxItems":1000,"items":{"$ref":"#/components/schemas/DataSubsetCreate"}}}}},"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation, such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"402":{"description":"Payment required - indicates that your request failed because performing the catalog operation would exceed the resource limit."},"403":{"description":"Forbidden"},"409":{"description":"Conflict - indicates that a data subset with the same ID already exists or is in the process of being created."}},"x-olp-access-type":"service","x-maturity":"beta"}},"/catalogs/{catalogHrn}/dataSubsets/{dataSubsetId}":{"get":{"tags":["config"],"summary":"Retrieve the details of a specific data subset.","description":"Retrieve the details of a specific data subset.","operationId":"Config API v1 getDataSubset","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}},{"name":"dataSubsetId","in":"path","description":"Immutable ID used to refer to the subset.","required":true,"schema":{"type":"string"},"example":"deu"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSubset"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."},"404":{"description":"Not Found - A Subset with the specified subsetId doesn't exist."}},"x-olp-access-type":"service","x-maturity":"beta"},"delete":{"tags":["config"],"summary":"Delete a specific data subset","description":"Deletes a specific data subset identified by `dataSubsetId`. \n- This is an **asynchronous** operation: the request returns a status link which can be used to check the deletion status.\n","operationId":"Config API v1 deleteDataSubset","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}},{"name":"dataSubsetId","in":"path","description":"Immutable ID used to refer to the subset.","required":true,"schema":{"type":"string","example":"deu"}}],"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."},"409":{"description":"Conflict - The data subset with the specified ID is in the process of being deleted."}},"x-olp-access-type":"service","x-maturity":"beta"}},"/catalogs/{catalogHrn}/dataSubsetsFingerprint":{"get":{"tags":["config"],"summary":"Get Data Subsets Fingerprint","description":"Retrieve a fingerprint that represents the accessible data subset configuration of the calling user.","operationId":"Config API v1 getDataSubsetsFingerprint","parameters":[{"name":"catalogHrn","in":"path","description":"HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataSubsetsFingerprint"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A catalog with the specified HRN doesn't exist or access to this catalog is forbidden."}},"x-olp-access-type":"service","x-maturity":"beta"}},"/catalogs/{catalogHrn}/automaticVersionDeletion":{"delete":{"tags":["config"],"summary":"Disable automatic version deletion","description":"Disable automatic retired versions cleanup.","operationId":"Config API v1 disableAutomaticVersionDeletion","parameters":[{"name":"catalogHrn","in":"path","description":"The HERE Resource Name (HRN) of the catalog.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"}],"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusLink"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation such as syntax or some logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - Access to this catalog or layer is forbidden."},"404":{"description":"Not Found - A catalog with the specified HRN doesn't exist."},"409":{"description":"Conflict - The catalog with the specified HRN is in the process of being updated."}},"x-olp-access-type":"service"}},"/status/{token}":{"get":{"tags":["config"],"summary":"Gets the status of a create, update or delete catalog request.","description":"Takes the randomly generated token that you receive when you submit a catalog for creation. You can use it to monitor the status of your request.","operationId":"Config API v1 getOperationStatus","parameters":[{"name":"token","in":"path","description":"The token of catalog creation, modification or deletion task","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/billingTag"},{"name":"flags","in":"query","description":"The `flags` parameter is optional and can be used with `noRedirects` value to prevent redirect responses to the value in `Location` header. The preferred approach is to Remove the cURL request option `--location` or `-L` which has the same effect. When using `flags=noRedirects`, response codes are `201 Created` for create requests and `200 OK` for all other requests.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Operation completed successfully (only catalog deletion or for all requests except catalog creation when flags=noRedirects)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogSuccessStatus"}}}},"201":{"description":"Operation completed successfully (only catalog creation when flags=noRedirects)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogSuccessStatus"}}}},"202":{"description":"Pending - the catalog operation associated with the provided token is still pending.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogPendingStatus"}}}},"303":{"description":"Operation completed successfully (except catalog deletion)","headers":{"Location":{"description":"Location of the catalog associated with the provided operation token","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogOperationSuccessStatus"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found - no action is associated with the provided token. "},"410":{"description":"Failed - retry after 60 seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogFailureStatus"}}}}},"x-olp-access-type":"service"}},"/subscriptions":{"get":{"tags":["subscription"],"summary":"Gets a list of all subscriptions.","description":"Lists all subscriptions that your account has access to.","operationId":"Config API v1 listSubscriptions","parameters":[{"$ref":"#/components/parameters/billingTag"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/pageToken"}],"responses":{"200":{"description":"Paginated list of subscription configurations.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionList"}}},"links":{"NextPageTokenLink":{"operationId":"listSubscriptions","parameters":{"pageToken":"$response.body#/nextPageToken"},"description":"The `nextPageToken` value returned in the response is used as\nthe `pageToken` query parameter in `GET /subscriptions`.\n"},"PreviousPageTokenLink":{"operationId":"listSubscriptions","parameters":{"pageToken":"$response.body#/previousPageToken"},"description":"The `previousPageToken` value returned in the response is used as\nthe `pageToken` query parameter in `GET /subscriptions`.\n"}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"x-olp-access-type":"service"},"post":{"tags":["subscription"],"summary":"Creates a subscription","description":"Creates a subscription between the source catalog/layer and target catalog/layer.","operationId":"Config API v1 createSubscription","parameters":[{"$ref":"#/components/parameters/X-Idempotency-Key"}],"requestBody":{"description":"A subscription configuration object.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSubscriptionRequestBody"}}}},"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionStatusToken"}}},"links":{"CreateStatusTokenLink":{"operationId":"getSubscriptionStatus","parameters":{"statusToken":"$response.body#/statusToken"},"description":"The `statusToken` value returned in the response is used as\nthe `statusToken` parameter in `GET /subscriptions/status/{statusToken}`.\n"}}},"400":{"description":"Bad Request - indicates that your request failed fast validation due to an issue, such as syntax or logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"409":{"description":"Conflict - indicates that:\n* a subscription token with the same `x-idempotency-key` but different subscription already exists or is in the process of being created,\n* or a subscription with the same source, destination, and type already exists.\n"}},"x-olp-access-type":"service"}},"/subscriptions/{subscriptionHrn}":{"parameters":[{"name":"subscriptionHrn","in":"path","required":true,"description":"The HERE Resource Name (HRN) of the subscription.","schema":{"type":"string"},"example":"hrn:here:data-subscription::olp-here:my-subscription-7d93563980d94f1b"},{"$ref":"#/components/parameters/billingTag"}],"get":{"tags":["subscription"],"summary":"Gets the configuration of the subscription","description":"Returns the configuration of the subscription associated with the HRN.","operationId":"Config API v1 getSubscription","responses":{"200":{"description":"OK","x-baseType":"SubscriptionBase","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/SubscriptionInteractiveMapLayer"}]}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A subscription with the specified HRN doesn't exist or access to this subscription is forbidden."},"404":{"description":"Not Found - A subscription with the specified HRN doesn't exist."}},"x-olp-access-type":"service"},"head":{"tags":["subscription"],"summary":"Checks the existence of a subscription.","description":"Checks whether a subscription with the specified HRN exists.","operationId":"Config API v1 checkSubscriptionExists","responses":{"200":{"description":"OK"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - A subscription with the specified HRN doesn't exist or access to this subscription is forbidden."},"404":{"description":"Not Found - A subscription with the specified HRN doesn't exist."}},"x-olp-access-type":"service"},"delete":{"tags":["subscription"],"summary":"Deletes a subscription.","description":"Deletes a subscription associated with the HRN.","operationId":"Config API v1 deleteSubscription","parameters":[{"$ref":"#/components/parameters/X-Idempotency-Key"}],"responses":{"202":{"description":"Accepted - your request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionStatusToken"}}},"links":{"DeleteStatusTokenLink":{"operationId":"getSubscriptionStatus","parameters":{"statusToken":"$response.body#/statusToken"},"description":"The `statusToken` value returned in the response is used as\nthe `statusToken` parameter in `GET /subscriptions/status/{statusToken}`.\n"}}},"400":{"description":"Bad Request - indicates that your request failed fast validation due to an issue, such as syntax or logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden - Access to this subscription is forbidden."},"404":{"description":"Not Found - A subscription with the specified HRN doesn't exist."},"409":{"description":"Conflict - indicates that a subscription token with the same `x-idempotency-key` but a different subscription already exists or is in the process of being deleted."}},"x-olp-access-type":"service"}},"/subscriptions/status/{statusToken}":{"get":{"tags":["subscription"],"summary":"Gets the status of the subscription create/delete process.","description":"Returns the configuration of the subscription associated with the HRN.","operationId":"Config API v1 getSubscriptionStatus","parameters":[{"$ref":"#/components/parameters/billingTag"},{"name":"statusToken","in":"path","required":true,"description":"Status token from the create/delete subscription response.","schema":{"type":"string"},"example":"de1e3c8d-17ac-42b9-8f5d-7bbeba664fe6"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionStatus"}}},"links":{"SubscriptionHrnLink":{"operationId":"getSubscription","parameters":{"subscriptionHrn":"$response.body#/subscriptionHrn"},"description":"The `subscriptionHrn` value returned in the response is used as\nthe `subscriptionHrn` parameter in the `GET /subscriptions/{subscriptionHrn}` and `DELETE /subscriptions/{subscriptionHrn}`.\n"}}},"400":{"description":"Bad Request - indicates that your request failed fast validation due to an issue, such as syntax or logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found - no action is associated with the provided token."}}}},"/subscriptions/batch":{"post":{"tags":["subscription"],"summary":"Creates multiple subscriptions in a single request.","description":"Creates multiple subscriptions between source and target catalogs/layers in batch.","operationId":"Config API v1 batchCreateSubscriptions","requestBody":{"description":"Batch subscription creation request.","required":true,"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/CreateSubscriptionRequestBody"}}}}}}},"responses":{"202":{"description":"Accepted - your batch request was received and is being processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionStatusToken"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation due to an issue, such as syntax or logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"409":{"description":"Conflict - indicates that:\n* a request with the same `x-idempotency-key` but different payload already exists,\n* or one or more subscriptions in the request already exist.\n"}},"x-olp-access-type":"service"}},"/subscriptions/batch/status/{statusToken}":{"get":{"tags":["subscription"],"summary":"Gets status of batch subscripton creation","description":"Status of batch subscription creation","operationId":"Config API v1 batchGetSubscriptionStatus","parameters":[{"name":"statusToken","in":"path","required":true,"description":"Status token from the create/delete subscription response.","schema":{"type":"string"},"example":"de1e3c8d-17ac-42b9-8f5d-7bbeba664fe6"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSubscriptionStatusResponse"}}}},"400":{"description":"Bad Request - indicates that your request failed fast validation due to an issue, such as syntax or logical errors."},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found - no action is associated with the provided token."}}}}},"components":{"parameters":{"limit":{"name":"limit","in":"query","description":"Maximum number of items to return.","required":false,"schema":{"type":"integer","minimum":1}},"sortBy":{"name":"sortBy","in":"query","description":"Specifies sort field. If set to 'name', the response contains items sorted by name. If set to 'created', the the response contains items sorted by create time. If you do not specify a `sortBy`, the response contains items sorted by 'name'.","required":false,"schema":{"type":"string","enum":["name","created"],"default":"name"}},"sortOrder":{"name":"sortOrder","in":"query","description":"Specifies the sort order. If set to 'asc', the sort order is ascending. If set to 'desc', the sort order is descending. If you do not specify `sortOrder`, the sort order is ascending.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"}},"pageToken":{"name":"pageToken","description":"Token to access other pages. To access next page use the `nextPageToken` fields in the response or `previousPageToken` to access previous page.","in":"query","required":false,"schema":{"type":"string"}},"linkable":{"name":"linkable","in":"query","description":"Indicates if the response should only return the list of linkable catalogs.\n\nNote:\n- If set to 'true' and the access token has a project scope, then the response will include the catalogs\n that are available to the caller to link to the project in the token's project scope and HERE public catalogs.\n- If set to 'true' and the access token has no scope, then the response will include all HERE public catalogs only.\"\n","required":false,"schema":{"type":"boolean","default":false}},"billingTag":{"name":"billingTag","in":"query","description":"The `billingTag` parameter is an optional free-form tag that you can use to group billing records together. If supplied, it must be between 4 - 16 characters, contain only alpha/numeric ASCII characters [A-Za-z0-9]. Grouping billing records by billing tag will be available in future releases.","required":false,"schema":{"type":"string"}},"X-Idempotency-Key":{"in":"header","name":"x-idempotency-key","description":"`x-idempotency-key` is the unique value generated by the client to create a subscription request.\nAny additional retry requests must have the same `x-idempotency-key` header value and the same body content as the first subscription request.\nIf the retry request body content is different, then the server will return a 409 status code.\nIt is recommended to use UUID v4 for `x-idempotency-key` value.\nMinimum length: 10, maximum length: 255.\n","required":true,"schema":{"type":"string"},"example":"8e03978e-40d5-43e8-bc93-6894a57f9324"}},"securitySchemes":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A token obtained from a separate endpoint using client credentials and an OAuth 1.0a HMAC-SHA256 signed request.\n\nFor more information on how to get a bearer token, see the [Identity & Access Management Guide](https://www.here.com/docs/bundle/identity-and-access-management-developer-guide/page/README.html).\n"}},"schemas":{"CatalogsResultBase":{"type":"object","discriminator":{"propertyName":"verbose"},"properties":{"verbose":{"type":"boolean"}},"description":"Describes base class."},"CatalogsListResult":{"allOf":[{"$ref":"#/components/schemas/CatalogsResultBase"},{"type":"object","properties":{"results":{"$ref":"#/components/schemas/CatalogsList"}}}],"description":"Contains a list of catalogs the user has access to."},"CatalogsList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Catalog"}},"next":{"type":"string","example":"https://config.data.api.platform.here.com/config/v1/catalogs/context/b2Zmc2V0PTImbGltaXQ9MTA","description":"The link to the next page of catalogs result list"},"previous":{"type":"string","example":"https://config.data.api.platform.here.com/config/v1/catalogs/context/b2Zmc2V0PTImbGltaXQ9MTA","description":"The link to the previous page of catalogs result list"}},"description":"List of the catalog configurations."},"CatalogsSummaryListResult":{"allOf":[{"$ref":"#/components/schemas/CatalogsResultBase"},{"type":"object","properties":{"results":{"$ref":"#/components/schemas/CatalogsSummaryList"}}}],"description":"Contains a list of catalog summaries the user has access to."},"CatalogsSummaryList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CatalogSummary"}},"next":{"type":"string","example":"https://config.data.api.platform.here.com/config/v1/catalogs/context/b2Zmc2V0PTImbGltaXQ9MTA","description":"The link to the next page of catalogs result list"},"previous":{"type":"string","example":"https://config.data.api.platform.here.com/config/v1/catalogs/context/b2Zmc2V0PTImbGltaXQ9MTA","description":"The link to the previous page of catalogs result list"}},"description":"List of the catalog summaries"},"CatalogSummary":{"type":"object","properties":{"href":{"type":"string","example":"https://config.data.api.platform.here.com/config/v1/catalogs/hrn:here:data:::olp-traffic","description":"The link to the catalog details"},"hrn":{"type":"string","example":"hrn:here:data:::olp-traffic","description":"The HERE Resource Name (HRN) for the catalog"},"title":{"type":"string","example":"HERE Real Time Traffic","description":"The name of the catalog as specified in the \"name\" property when the catalog was created"},"type":{"type":"string","example":"urn:olp-types:catalog","description":"The type of the href. All hrefs are currently set to urn:olp-types:catalog."}},"description":"Describes the main properties of the catalog."},"CreateBaseLayer":{"type":"object","required":["layerType"],"discriminator":{"propertyName":"layerType","mapping":{"versioned":"#/components/schemas/CreateVersionedLayer","volatile":"#/components/schemas/CreateVolatileLayer","stream":"#/components/schemas/CreateStreamLayer","index":"#/components/schemas/CreateIndexLayer","objectstore":"#/components/schemas/CreateObjectstoreLayer","interactivemap":"#/components/schemas/CreateInteractiveMapsLayer"}},"properties":{"layerType":{"type":"string"}},"description":"Describes the base class."},"CreateCatalog":{"type":"object","required":["id","name","summary","description"],"properties":{"id":{"type":"string","example":"olp-traffic","description":"The ID to use when referring to this catalog programmatically. Catalog IDs must be unique across all catalogs in the Open Location Platform. Do not put private information in the catalog ID. The catalog ID forms a portion of the catalog''s HERE Resource Name (HRN), and HRNs are visible to other users. Only lowercase alphanumeric characters (a-z), digits (0-9) and dash (-) are allowed in a catalog ID and the first and the last character must be a-z or 0-9.","minLength":3,"maxLength":63,"pattern":"^[a-z0-9][a-z0-9\\-]{1,61}[a-z0-9]$"},"name":{"type":"string","example":"Traffic Data","description":"The short name for the catalog","minLength":0,"maxLength":200},"summary":{"type":"string","example":"This catalog provides traffic flow and incidents information.","description":"A one-sentence summary of the catalog. You can see this summary when you browse a list of catalogs on the platform portal.","minLength":0,"maxLength":1000},"description":{"type":"string","example":"The catalog provides aggregated information about traffic incidents, including the type and location of each traffic incident, status, start and end time, and other relevant data. This data is useful to dynamically optimize route calculations. It also provides access to real-time traffic flow data in including information on speed and congestion for specific regions. The catalog also contains additional data such as the geometry of the road segments in relation to the flow.","description":"A detailed description of the catalog and what it contains. This information appears on the 'Overview' tab when you open a catalog in the platform portal.","minLength":0,"maxLength":10000},"tags":{"type":"array","example":["Traffic","Flow","Speed"],"description":"Some keywords that help to find the catalog when searching in the platform portal","items":{"type":"string"}},"layers":{"type":"array","x-baseType":"CreateBaseLayer","description":"The layers in the catalog","items":{"oneOf":[{"$ref":"#/components/schemas/CreateVersionedLayer"},{"$ref":"#/components/schemas/CreateVolatileLayer"},{"$ref":"#/components/schemas/CreateStreamLayer"},{"$ref":"#/components/schemas/CreateIndexLayer"},{"$ref":"#/components/schemas/CreateObjectstoreLayer"},{"$ref":"#/components/schemas/CreateInteractiveMapsLayer"}]}},"areaScheme":{"$ref":"#/components/schemas/AreaScheme"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"},"version":{"type":"integer","format":"int64","example":1,"description":"The version of the catalog configuration. Every change in this number indicates change in catalog configuration. Examples of changes in catalog configuration include changing catalog parameters and adding layers. Note that the catalog configuration version is not the same as the metadata/data version. Configuration and metadata versions are independent of each other and indicate different kinds of changes."},"notifications":{"$ref":"#/components/schemas/Notifications"},"replication":{"$ref":"#/components/schemas/Replication"},"automaticVersionDeletion":{"$ref":"#/components/schemas/AutomaticVersionDeletion"}},"description":"Describes the configuration of the catalog including its layer definitions."},"PatchCatalog":{"type":"object","properties":{"name":{"type":"string","example":"Modified catalog name","description":"The short name for the catalog. Field is optional, Specify a value to modify catalog name. This field is not removable, null value is not allowed.","minLength":0,"maxLength":200},"summary":{"type":"string","example":"Modified catalog summary","description":"A one-sentence summary of the catalog. You can see this summary when you browse a list of catalogs on the platform portal. Field is optional, Specify a value to modify catalog summary. This field is not removable, null value is not allowed.","minLength":0,"maxLength":1000},"description":{"type":"string","example":"Modified catalog description","description":"A detailed description of the catalog and what it contains. This information appears on the 'Overview' tab when you open a catalog in the platform portal. Field is optional, Specify a value to modify catalog description. This field is not removable, null value is not allowed.","minLength":0,"maxLength":10000},"tags":{"type":"array","example":["Traffic","Speed"],"description":"Some keywords that help to find the catalog when searching in the platform portal. Field is optional, Specify a value to replace all list of tags. This field is not removable, null value is not allowed.","items":{"type":"string"}},"areaScheme":{"$ref":"#/components/schemas/AreaScheme"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"},"notifications":{"$ref":"#/components/schemas/Notifications"},"replication":{"$ref":"#/components/schemas/Replication"},"automaticVersionDeletion":{"$ref":"#/components/schemas/AutomaticVersionDeletion"},"deleteProtected":{"type":"boolean","description":"This property can be set to true if the resource needs to be protected from deletion. It can be set to false if the resource does not need to be protected from deletion. By default, catalogs are not protected."}},"description":"Describes the modification of the catalog configuration."},"CatalogStatusRequestBody":{"required":["disabled"],"properties":{"disabled":{"example":true,"type":"boolean","description":"If set to true, then no data reads and writes can be performed against the catalog while disabled. To re-enable, set to false."}},"type":"object"},"CatalogStatusResult":{"properties":{"disabled":{"example":true,"type":"boolean","description":"Disabled status for catalog. If set to true, then no data reads and writes can be performed against the catalog while disabled. To re-enable, set to false."},"updated":{"example":"2022-12-12T21:06:24.831916Z","type":"string","description":"Timestamp, in ISO 8601 format, when the catalog status was last updated."},"id":{"type":"string","description":"The unique ID of the user or application that disabled/re-enabled the catalog.","example":"Mejk09M4Aq71KI5l1t2T2"}},"type":"object"},"CreateVersionedLayer":{"allOf":[{"type":"object","required":["id","name","summary","description","contentType","tags","billingTags","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"partitioningScheme":{"$ref":"#/components/schemas/DeprecatedPartitioningScheme"},"partitioning":{"$ref":"#/components/schemas/Partitioning"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"digest":{"$ref":"#/components/schemas/Digest"},"crc":{"$ref":"#/components/schemas/CRC"},"layerType":{"type":"string","example":"versioned","enum":["versioned"],"description":"The type of data availability that this layer provides"},"secureHandles":{"$ref":"#/components/schemas/SecureHandles"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"},"versionedLayerProperties":{"$ref":"#/components/schemas/VersionedLayerPropertiesInPost"}}}],"description":"Describes properties of a catalog versioned layer."},"CreateVolatileLayer":{"allOf":[{"type":"object","required":["id","name","summary","description","contentType","tags","billingTags","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"partitioningScheme":{"$ref":"#/components/schemas/DeprecatedPartitioningScheme"},"partitioning":{"$ref":"#/components/schemas/Partitioning"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"ttlHours":{"$ref":"#/components/schemas/TtlHours"},"ttl":{"$ref":"#/components/schemas/Ttl"},"digest":{"$ref":"#/components/schemas/Digest"},"crc":{"$ref":"#/components/schemas/CRC"},"volume":{"$ref":"#/components/schemas/VolatileVolume"},"volatileProperties":{"$ref":"#/components/schemas/VolatileProperties"},"layerType":{"type":"string","example":"volatile","enum":["volatile"],"description":"The type of data availability that this layer provides"},"secureHandles":{"$ref":"#/components/schemas/SecureHandles"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"}}}],"description":"Describes properties of a catalog volatile layer."},"CreateStreamLayer":{"allOf":[{"type":"object","required":["id","name","summary","description","contentType","tags","billingTags","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"partitioningScheme":{"$ref":"#/components/schemas/DeprecatedPartitioningScheme"},"partitioning":{"$ref":"#/components/schemas/Partitioning"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"ttlHours":{"$ref":"#/components/schemas/TtlHours"},"ttl":{"$ref":"#/components/schemas/Ttl"},"volume":{"$ref":"#/components/schemas/DurableVolume"},"streamProperties":{"$ref":"#/components/schemas/StreamProperties"},"layerType":{"type":"string","example":"stream","enum":["stream"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes properties of a catalog stream layer."},"CreateIndexLayer":{"allOf":[{"type":"object","required":["id","name","summary","description","contentType","tags","billingTags","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"indexProperties":{"$ref":"#/components/schemas/IndexProperties"},"digest":{"$ref":"#/components/schemas/Digest"},"crc":{"$ref":"#/components/schemas/CRC"},"layerType":{"type":"string","example":"index","enum":["index"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes properties of a catalog index layer."},"CreateObjectstoreLayer":{"allOf":[{"type":"object","required":["id","name","summary","description","tags","billingTags","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"objectStoreProperties":{"$ref":"#/components/schemas/ObjectStoreProperties"},"layerType":{"type":"string","example":"objectstore","enum":["objectstore"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes properties of a catalog object store layer."},"CreateInteractiveMapsLayer":{"allOf":[{"type":"object","required":["id","name","summary","description","tags","billingTags","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"schema":{"$ref":"#/components/schemas/Schema"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"interactiveMapProperties":{"$ref":"#/components/schemas/InteractiveMapProperties"},"layerType":{"type":"string","example":"interactivemap","enum":["interactivemap"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes properties of a catalog interactive maps layer."},"PatchLayer":{"type":"object","properties":{"name":{"type":"string","example":"Modified layer name","description":"The short name for the layer. Field is optional, Specify a value to modify layer name. This field is not removable, null value is not allowed.","minLength":0,"maxLength":120},"summary":{"type":"string","example":"Modified layer summary","description":"A one-sentence summary of the layer. You can see this summary when you browse a list of layers on the platform portal. Field is optional, Specify a value to modify layer summary. This field is not removable, null value is not allowed.","minLength":0,"maxLength":1000},"description":{"type":"string","example":"Modified layer description","description":"A detailed description of the layer and what it contains. This information appears on the 'Overview' tab when you open a layer in the platform portal. Field is optional, Specify a value to modify layer description. This field is not removable, null value is not allowed.","minLength":0,"maxLength":10000},"coverage":{"description":"The geographic areas that this layer covers, grouped by administrative divisions. Field is optional, Specify a value to modify layer coverage. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/Coverage"},"schema":{"example":"hrn:here:schema:::com.here.schema.rib:topology-geometry_v2:2.2.0","description":"The HRN of the data schema for this layer. Field is optional, specify a value to modify layer schema. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/Schema"},"partitioning":{"description":"Defines how data is partitioned within the layer. Field is optional, specify a value to modify layer partitioning. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/Partitioning"},"indexProperties":{"description":"Defines index properties within the index layer. Field is optional, specify a value to modify layer index properties. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/PatchIndexProperties"},"objectStoreProperties":{"description":"Defines objectStore properties within the objectStore layer. Field is optional, specify a value to modify layer objectStore properties. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/PatchObjectStoreProperties"},"streamProperties":{"description":"Defines stream properties within the stream layer. Field is optional, specify a value to modify layer stream properties. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/PatchStreamProperties"},"interactiveMapProperties":{"description":"Defines interactive maps properties within the interactive maps layer. Field is optional, specify a value to modify interactive maps properties. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/InteractiveMapProperties"},"secureHandles":{"$ref":"#/components/schemas/SecureHandles"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"},"tags":{"type":"array","example":["Traffic","Speed"],"description":"Some keywords that help to find the layer when searching in the platform portal. Field is optional, Specify a value to replace all list of tags. This field is not removable, null value is not allowed.","items":{"type":"string"}},"billingTags":{"type":"array","example":["Cost-Center_1","Cost-Center_2"],"description":"List of billing tags a free-form tag which is used for grouping billing records together. If supplied, it must be between 4 - 16 characters, contain only alphanumeric ASCII characters [A-Za-z0-9] and the following special characters: - _ (except first and last character). Field is optional, Specify a value to replace all list of billing tags. This field is not removable, null value is not allowed.","items":{"type":"string"}},"crc":{"example":"CRC-32C","description":"The `crc` property specifies the CRC algorithm used by the data publisher to generate a checksum for each partition in the layer. Field is optional, Specify a value to modify layer CRC algorithm only if layer was created with no CRC specified. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/CRC"},"digest":{"example":"SHA-256","description":"The digest property specifies the algorithm used by the data publisher to generate a hash for each partition in the layer. Field is optional, Specify a value to modify layer digest algorithm only if layer was created with no digest specified. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/Digest"},"ttl":{"description":"Defines ttl within the stream layer. Field is optional, Specify a value to modify the ttl of the stream layer. This field is not removable, null value is not allowed. Can be updated only if not set already for stream layer.","$ref":"#/components/schemas/Ttl"},"contentType":{"description":"Defines content type within the stream layer. Field is optional, Specify a value to modify the content type of the stream layer. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/ContentType"},"contentEncoding":{"description":"Defines content encoding within the stream layer. Field is optional, Specify a value to modify the content encoding of the stream layer. This field is not removable, null value is not allowed.","$ref":"#/components/schemas/ContentEncoding"}},"description":"Describes the modification of the layer configuration."},"LayerId":{"type":"string","example":"traffic-incidents","description":"The ID to use when referring to this layer programmatically.","minLength":1,"maxLength":50},"LayerHrn":{"type":"string","example":"hrn:here:data:::olp-traffic:traffic-incidents","description":"The HERE Resource Name (HRN) of the layer."},"LayerName":{"type":"string","example":"Traffic Incidents","description":"The display name for the layer.","minLength":1,"maxLength":120},"LayerSummary":{"type":"string","example":"This layer provides aggregated information about traffic incidents.","description":"A one-sentence summary of the layer. You can see this summary when you browse a list of layers on the platform portal.","minLength":0,"maxLength":1000},"LayerDescription":{"type":"string","example":"This layer provides aggregated information about traffic incidents, including the type and location of each traffic incident, status, start and end time, and other relevant data. This data is useful to dynamically optimize route calculations.","description":"A detailed description of the layer and what it contains. This information appears on the 'Overview' tab when you open a layer in the platform portal.","minLength":0,"maxLength":10000},"LayerCreated":{"type":"string","example":"2019-02-07T15:24:39.437810Z","description":"The layer creation timestamp in ISO 8601 format."},"Coverage":{"type":"object","properties":{"adminAreas":{"type":"array","description":"A list of ISO 3166 two-letter codes for countries and regions optionally followed by up to three characters codes for subdivisions, such as 'DE', 'PL', or 'CN-HK'.","items":{"type":"string","example":"DE"}}},"description":"The geographic area that this layer covers"},"Schema":{"type":"object","properties":{"hrn":{"type":"string","example":"hrn:here:schema:::com.here.schema.rib:topology-geometry_v2:2.2.0"}},"description":"Describes a HRN for the layer schema. Can be updated by the user for any kind of layer."},"PartitioningScheme":{"type":"string","enum":["generic","heretile"],"example":"heretile","description":"The name of the partitioning scheme for the layer"},"DeprecatedPartitioningScheme":{"type":"string","deprecated":true,"enum":["generic","heretile"],"example":"heretile","description":"The name of the partitioning scheme for the layer"},"Partitioning":{"type":"object","required":["scheme"],"properties":{"scheme":{"$ref":"#/components/schemas/PartitioningScheme"},"tileLevels":{"type":"array","description":"A list of quadtree tile levels which contain data partitions. Only used if the partitioningScheme is heretile.","items":{"type":"integer","format":"int64","example":12}}},"description":"Describes the way in which data is partitioned within the layer."},"ContentType":{"type":"string","description":"The MIME type of the data is stored in this layer. Cannot be updated for `objectstore` and `interactivemap` layers. The default value for interactivemap layer is `application/geo+json` because the data is stored and retrieved in GeoJSON format compatible with RFC-7946 (https://www.rfc-editor.org/rfc/rfc7946).","example":"application/json"},"ContentEncoding":{"type":"string","example":"gzip","description":"Identifies whether the data is compressed. Can be updated only for the stream layer.","enum":["gzip"]},"Digest":{"type":"string","description":"The digest algorithm used to calculate the checksum for the partitions in this layer. If specified, you can assume that all partitions in the layer, at every version, were calculated using this algorithm. Note that it is the responsibility of the data publisher to use this algorithm to calculate partition checksums. The HERE platform services do not verify that the specified algorithm was actually used.","example":"SHA-1","enum":["MD5","SHA-1","SHA-256"]},"CRC":{"type":"string","description":"The CRC algorithm used to calculate the checksum for the partitions in this layers","example":"CRC-32C","enum":["CRC-32C"]},"Tags":{"type":"array","example":["Traffic","Flow","Speed","Real-Time","Current"],"description":"Some keywords that help to find the layer when searching in the platform portal","items":{"type":"string"}},"BillingTags":{"type":"array","example":["Cost-Center_1","Cost-Center_2"],"description":"List of billing tags a free-form tag which is used for grouping billing records together. If supplied, it must be between 4 - 16 characters, contain only alphanumeric ASCII characters [A-Za-z0-9] and the following special characters: - _ (except first and last character).","items":{"type":"string"}},"TtlHours":{"type":"integer","deprecated":true,"format":"int64","example":24,"description":"The expiry time in hours for data in this layer. Data is automatically removed after the specified time limit has elapsed."},"Ttl":{"type":"integer","format":"int64","example":3600000,"description":"The expiry time in milliseconds for data in this layer. Data is automatically removed after the specified time limit has elapsed. For volatile layers, the TTL value must be between 60000 (1 minute) and 604800000 (7 days). For stream layers the TTL value must be between 600000 (10 minutes) and 259200000 (72 hours). Can be updated for stream and index layers."},"EncryptionType":{"type":"string","description":"Defines type of encryption to apply for data at rest. 'hereEncryption' is default and ensures that encryption keys are managed by HERE, 'cloudEncryption' uses standard cloud providers encryption mechanism like AWS S3 Bucket keys or similar.","example":"hereEncryption","enum":["hereEncryption","cloudEncryption"]},"SecureHandles":{"type":"boolean","example":true,"description":"Indicates if the layer metadata and blob are in a mode that secure dataHandles support. It supports only heretile layer partitioning. The produced dataHandles contain a reference partitionId and a secure signature, for example '2423589347~5945c961-e74d-478f-8afe-da53cf4189e3~EAAQuWgWdiwktzMKEeweZA-6HteHy38hXR_NY-qpeSamlJc'.\"","x-maturity":"beta"},"DurableVolume":{"type":"object","required":["volumeType"],"properties":{"volumeType":{"type":"string","enum":["durable"],"example":"durable"}},"description":"Describes a catalog durable volume to be used for storing the layer's data content."},"VolatileVolume":{"type":"object","required":["volumeType"],"properties":{"volumeType":{"type":"string","enum":["volatile"],"example":"volatile"},"maxMemoryPolicy":{"type":"string","description":"Defines a keys eviction policy when the memory limit for volatile layer is reached.","enum":["failOnWrite","replaceLessRecentlyUsedKey"],"example":"failOnWrite"}},"description":"Describes a catalog volatile volume to be used for storing the layer's data content. Specifies volatile properties values if they are not provided."},"VolatileProperties":{"type":"object","required":["storageCapacityMb"],"properties":{"dataRedundancy":{"type":"string","enum":["single-instance","multi-instance"],"example":"volatile","description":"Volatile storage provision mode."},"storageCapacityMb":{"type":"integer","format":"int32","example":100,"description":"Capacity of volatile storage in MB. Value should be divisible by 100. The minimum is 100, the maximum is 21000 MB."}},"description":"Properties that define the scale of the volatile layer."},"StreamProperties":{"type":"object","properties":{"dataInThroughputKbps":{"type":"integer","format":"int64","example":300,"description":"Maximum throughput for incoming data expressed in kilobytes per second. Throttling occurs when the inbound rate exceeds the maximum inbound throughput. The default is 1000 KBps. The minimum is 100 KBps, the maximum is 32800 KBps. Can only be multiple of 100 KBps. Can be updated by the user."},"dataOutThroughputKbps":{"type":"integer","format":"int64","example":36500,"description":"Maximum throughput for outgoing data expressed in kilobytes per second. Throttling occurs when the total outbound rate to all consumers exceeds the maximum outbound throughput. The default is 4000 KBps. The minimum is 100 KBps, the maximum is 65500 KBps. Can only be multiple of 100 KBps. Can be updated by the user."},"parallelization":{"type":"integer","format":"int64","example":4,"description":"Number of stream partitions that maps to a Kafka topic partition. The maximum parallelism at which your application may run is determined by the maximum number of stream partitions of the input stream layer the application is reading from in its processing topology. The default is 4. The maximum is 32."}},"description":"Properties that define the scale of the required streaming layer. It is recommended to provide all 3 properties when creating a streaming layer.\nEither combination of `dataInThroughputKbps` and `dataOutThroughputKbps` or `parallelization` is required.\n`dataInThroughputKbps` and `dataOutThroughputKbps` can only be values multiple of 100. For instance, the value 33200 is valid while 32250 is not.\nDefault values for missing field(s) will be calculated according to the following formulas:\n`1 parallelization = 1000 dataInThroughputKbps`,\n`1 parallelization = 2000 dataOutThroughputKbps`."},"PatchStreamProperties":{"type":"object","properties":{"dataInThroughputKbps":{"type":"integer","format":"int64","example":300,"description":"Maximum throughput for incoming data expressed in kilobytes per second. Throttling occurs when the inbound rate exceeds the maximum inbound throughput. The default is 1000 KBps. The minimum is 100 KBps, the maximum is 32800 KBps. Can only be multiple of 100 KBps."},"dataOutThroughputKbps":{"type":"integer","format":"int64","example":36500,"description":"Maximum throughput for outgoing data expressed in kilobytes per second. Throttling occurs when the total outbound rate to all consumers exceeds the maximum outbound throughput. The default is 4000 KBps. The minimum is 100 KBps, the maximum is 65500 KBps. Can only be multiple of 100 KBps."}},"description":"Properties that define the scale of the required streaming layer.\n`dataInThroughputKbps` and `dataOutThroughputKbps` can only be values multiple of 100. For instance, the value 33200 is valid while 32250 is not."},"IndexProperties":{"type":"object","properties":{"ttl":{"type":"string","example":"1.year","description":"Amount of time data will remain in index layer. If not specified, it defaults to 7 days.","enum":["7.days","15.days","1.month","2.months","3.months","4.months","6.months","1.year","1.5.years","2.year","unlimited"]},"indexDefinitions":{"type":"array","items":{"$ref":"#/components/schemas/IndexDefinition"}}}},"PatchIndexProperties":{"type":"object","properties":{"ttl":{"type":"string","example":"1.year","description":"Amount of time data will remain in index layer. If not specified, it defaults to 7 days. Can be updated only if not set already.","enum":["7.days","15.days","1.month","2.months","3.months","4.months","6.months","1.year","1.5.years","2.year","unlimited"]}}},"IndexDefinition":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["bool","int","string","heretile","timewindow"]},"duration":{"description":"The `timewindow` enum type represents the time slice (*not* just a point in time) and it denotes the finest time granularity at which the data will be indexed and later queried. The `timewindow` type has an attribute duration that represents the time slice length. It is *not* mutable. Both time key value and time type duration are expressed in milliseconds (time value is milliseconds since `Epoch`). Value of duration is between 10 minutes and 1 day in milliseconds.","type":"integer"},"zoomLevel":{"type":"integer","description":"The `heretile` enum type represents the tile ID in the HERE tile map tiling scheme. The `heretile` type has an attribute `zoomLevel` that represents the size of the tile and is *not* mutable.","enum":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}}},"ObjectStoreProperties":{"type":"object","properties":{"encryptionType":{"$ref":"#/components/schemas/EncryptionType"},"ttl":{"type":"string","example":"1.year","description":"Amount of time data will remain in objectstore layer. If not specified, it defaults to unlimited.","enum":["1.days","3.days","7.days","15.days","1.month","2.months","3.months","4.months","6.months","1.year","1.5.years","2.years","3.years","5.years","unlimited"]}}},"PatchObjectStoreProperties":{"type":"object","properties":{"ttl":{"type":"string","example":"1.year","description":"Amount of time data will remain in objectstore layer. If not specified, it defaults to unlimited.","enum":["1.days","3.days","7.days","15.days","1.month","2.months","3.months","4.months","6.months","1.year","1.5.years","2.year","3.years","5.years","unlimited"]}}},"VersionedLayerPropertiesInPost":{"type":"object","additionalProperties":true,"properties":{"extends":{"$ref":"#/components/schemas/ExtendsWithVersion"},"encryptionType":{"$ref":"#/components/schemas/EncryptionType"}}},"VersionedLayerPropertiesInGet":{"type":"object","additionalProperties":true,"properties":{"extends":{"$ref":"#/components/schemas/Extends"},"encryptionType":{"$ref":"#/components/schemas/EncryptionType"}}},"InteractiveMapProperties":{"type":"object","additionalProperties":true,"properties":{"searchableProperties":{"type":"array","description":"A list properties that must be indexed for faster queries.","example":["incidentType"],"items":{"type":"string"}},"extends":{"$ref":"#/components/schemas/Extends"},"versionsToKeep":{"default":1,"description":"Defines how many versions are kept, while older versions may be purged. This value is set to 1 by default, so that there is only one (HEAD) state of the layer and no further versions are kept. If the value is greater than 1, then older versions, up to the \"versionsToKeep\" version, can be retrieved, such as by ?version=.\n\nThe value for versionsToKeep cannot be modified when set to 1. The value can be modified when set to a value greater than 1, but it cannot be changed to 1. The maximum value for versionsToKeep can be set to 1000000000.","example":2,"type":"integer"},"readOnly":{"type":"boolean","description":"This property can be used to make any interactive map layer read-only. The boolean value true or false defines if the layer is read-only or not.","example":true}}},"Extends":{"type":"object","description":"Extension definition that allows a layer's content to be based on an existing layer. Entities in the extension layer override features with the same ID in the extended layer.","required":["catalogHrn","layerId"],"properties":{"catalogHrn":{"type":"string","description":"Catalog HRN of the layer being extended."},"layerId":{"type":"string","description":"Layer ID of the layer being extended."}}},"ExtendsWithVersion":{"allOf":[{"$ref":"#/components/schemas/Extends"},{"type":"object","properties":{"baseVersion":{"type":"integer","description":"The version of the extended catalog. If provided, then empty publication with version 0 will be created."}}}]},"StatusLink":{"type":"object","properties":{"href":{"type":"string","description":"href of the created/update/delete catalog action","example":"https://config.data.api.platform.sit.here.com/config/v1/status/02bc9a8d-6dc4-4698-87a0-faf3372e81c1"},"configToken":{"type":"string","description":"token for getting the status of created/update/delete catalog action","example":"02bc9a8d-6dc4-4698-87a0-faf3372e81c1"},"title":{"type":"string","description":"Title of the action","example":"Catalog Creation, Catalog Deletion, Catalog Update"},"type":{"type":"string","description":"Type of the href","example":"urn:olp-types:status"}},"description":"Describes the status and href of the create/update/delete resource such as a catalog."},"CatalogLink":{"type":"object","properties":{"href":{"type":"string","description":"href of the catalog","example":"https://config.data.api.platform.sit.here.com/config/v1/catalogs/hrn:here:data:::olp-traffic"},"hrn":{"type":"string","description":"The HERE Resource Name (HRN) of the catalog","example":"hrn:here:data:::olp-traffic"},"title":{"type":"string","description":"Title of the action","example":"Catalog Creation, Catalog Deletion, Catalog Update"},"type":{"type":"string","description":"Type of the href","example":"urn:olp-types:status"}},"description":"Describes the status and href of the create/update/delete resource such as a catalog."},"CatalogFailureStatus":{"type":"object","properties":{"reason":{"type":"string","example":"Operation failed."},"status":{"type":"string","description":"Status of the operation","example":"failure"}},"description":"Describes the detailed status of the failed catalog creation operation."},"CatalogPendingStatus":{"type":"object","properties":{"status":{"type":"string","description":"Status of the operation","example":"pending"}},"description":"Describes the status of the catalog modification action."},"CatalogSuccessStatus":{"type":"object","properties":{"item":{"$ref":"#/components/schemas/StatusLink"},"status":{"type":"string","description":"Status of the operation","example":"success"}},"description":"Describes the status of the successful catalog creation operation including its href."},"CatalogOperationSuccessStatus":{"type":"object","required":["status"],"properties":{"item":{"$ref":"#/components/schemas/CatalogLink"},"status":{"type":"string","description":"Status of the operation","example":"success"}},"description":"Describes the status of the successful catalog creation operation including its href."},"GetBaseLayer":{"type":"object","discriminator":{"propertyName":"layerType","mapping":{"versioned":"#/components/schemas/VersionedLayer","volatile":"#/components/schemas/VolatileLayer","stream":"#/components/schemas/StreamLayer","index":"#/components/schemas/IndexLayer","interactivemap":"#/components/schemas/InteractiveMapsLayer","objectstore":"#/components/schemas/ObjectstoreLayer"}},"required":["layerType"],"properties":{"layerType":{"type":"string"}},"description":"Describes the base class."},"Catalog":{"type":"object","required":["id","hrn","name","summary","description","version","created","tags","replication","layers"],"properties":{"id":{"type":"string","example":"olp-traffic","description":"The ID to use when referring to this catalog programmatically. Catalog IDs must be unique across all catalogs in the Open Location Platform. Do not put private information in the catalog ID. The catalog ID forms a portion of the catalog's HERE Resource Name (HRN), and HRNs are visible to other users. Only lowercase alphanumeric characters (a-z), digits (0-9) and dash (-) are allowed in a catalog ID and the first and the last character must be a-z or 0-9.","minLength":3,"maxLength":63,"pattern":"^[a-z0-9][a-z0-9\\-]{1,61}[a-z0-9]$"},"hrn":{"type":"string","example":"hrn:here:data:::olp-traffic","description":"The HERE Resource Name (HRN) of the catalog"},"name":{"type":"string","example":"Traffic Data","description":"The short name for the catalog","minLength":0,"maxLength":200},"summary":{"type":"string","example":"This catalog provides traffic flow and incidents information.","description":"A one-sentence summary of the catalog. You can see this summary when you browse a list of catalogs on the platform portal.","minLength":0,"maxLength":1000},"description":{"type":"string","example":"The catalog provides aggregated information about traffic incidents, including the type and location of each traffic incident, status, start and end time, and other relevant data. This data is useful to dynamically optimize route calculations. It also provides access to real-time traffic flow data in including information on speed and congestion for specific regions. The catalog also contains additional data such as the geometry of the road segments in relation to the flow.","description":"A detailed description of the catalog and what it contains. This information appears on the 'Overview' tab when you open a catalog in the platform portal.","minLength":0,"maxLength":10000},"coverage":{"$ref":"#/components/schemas/Coverage"},"owner":{"$ref":"#/components/schemas/Owner"},"tags":{"type":"array","example":["Traffic","Flow","Speed"],"description":"Some keywords that help to find the catalog when searching in the platform portal","items":{"type":"string"}},"billingTags":{"type":"array","example":["Cost-Center_1","Cost-Center_2"],"description":"Aggregated list of all layers` billing tags. Note that this element is read-only and does not exist in `CreateCatalog`. If posted during catalog creation, the value will be ignored.","items":{"type":"string"}},"created":{"type":"string","example":"2017-08-04T17:19:03.853Z","description":"Timestamp, in ISO 8601 format, when the catalog was initially created."},"replication":{"$ref":"#/components/schemas/Replication"},"automaticVersionDeletion":{"$ref":"#/components/schemas/AutomaticVersionDeletion"},"layers":{"x-baseType":"GetBaseLayer","type":"array","description":"The layers in the catalog.","items":{"oneOf":[{"$ref":"#/components/schemas/VersionedLayer"},{"$ref":"#/components/schemas/VolatileLayer"},{"$ref":"#/components/schemas/StreamLayer"},{"$ref":"#/components/schemas/IndexLayer"},{"$ref":"#/components/schemas/InteractiveMapsLayer"},{"$ref":"#/components/schemas/ObjectstoreLayer"}]}},"areaScheme":{"$ref":"#/components/schemas/AreaScheme"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"},"version":{"type":"integer","format":"int64","example":1,"description":"The version of the catalog configuration. Every change in this number indicates a change in the catalog configuration. It is incremented every time you make changes, such as change catalog parameters or add layers. Note that this is not a metadata/data version as configuration and metadata versions are independent of each other and indicate different kind of changes."},"notifications":{"$ref":"#/components/schemas/Notifications"},"marketplaceReady":{"type":"boolean","example":false,"description":"Indicates whether the catalog is ready to be listed in the Marketplace. If the value is `true`, the catalog is ready to be listed in the Marketplace.","readOnly":true}},"description":"Describes the catalog properties."},"Replication":{"type":"object","properties":{"regions":{"type":"array","description":"A list of the catalog's replication regions and each region's role. For multi-region replication, catalogs list should contain multiple items where at least one should be with a `primary` role. For single-region replication, catalogs should define `primary` region. Both `eu-ireland` and `us-oregon` are allowed as primary region.","items":{"$ref":"#/components/schemas/ReplicationRegion"}}}},"ReplicationRegion":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the region","enum":["eu-ireland","us-oregon","ap-seoul"]},"role":{"description":"Indicates whether the region is a primary or failover region. You can specify one of the following: `primary` - The region is used by default for reading and writing. `secondary` - The region used as a failover region.","type":"string","enum":["primary","secondary"]}}},"AutomaticVersionDeletion":{"type":"object","anyOf":[{"required":["numberOfVersionsToKeep"]},{"required":["ttlDays"]}],"properties":{"numberOfVersionsToKeep":{"type":"integer","format":"int64","example":1,"description":"Specifies how many versions to keep. To optimise storage costs, you can specify how many latest versions to keep. The minimum number of versions to keep is 1. The maximum number of versions to keep is 50,000."},"ttlDays":{"type":"integer","format":"int64","example":3,"description":"Specifies the number of days to keep versions, counting from their creation time. The minimum ttlDays value is 3 days."}}},"Owner":{"type":"object","properties":{"creator":{"$ref":"#/components/schemas/Creator"},"organisation":{"$ref":"#/components/schemas/Organisation"}}},"Creator":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the user or application that initially created the catalog","example":"Mejk6DMxAq7kKI5lt2T2"}}},"Organisation":{"type":"object","properties":{"id":{"type":"string","example":"HERE","description":"The ID of the customer organisation relating to this catalog"}}},"VersionedLayer":{"allOf":[{"type":"object","required":["id","hrn","name","summary","description","partitioningScheme","partitioning","contentType","tags","billingTags","volume","created","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"hrn":{"$ref":"#/components/schemas/LayerHrn"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"partitioningScheme":{"$ref":"#/components/schemas/DeprecatedPartitioningScheme"},"partitioning":{"$ref":"#/components/schemas/Partitioning"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"digest":{"$ref":"#/components/schemas/Digest"},"crc":{"$ref":"#/components/schemas/CRC"},"volume":{"$ref":"#/components/schemas/DurableVolume"},"created":{"$ref":"#/components/schemas/LayerCreated"},"layerType":{"type":"string","example":"versioned","enum":["versioned"],"description":"The type of data availability that this layer provides"},"secureHandles":{"$ref":"#/components/schemas/SecureHandles"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"},"versionedLayerProperties":{"$ref":"#/components/schemas/VersionedLayerPropertiesInGet"}}}],"description":"Describes the catalog versioned layer properties."},"ObjectstoreLayer":{"allOf":[{"type":"object","required":["id","hrn","name","summary","description","tags","billingTags","volume","created","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"hrn":{"$ref":"#/components/schemas/LayerHrn"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"volume":{"$ref":"#/components/schemas/DurableVolume"},"created":{"$ref":"#/components/schemas/LayerCreated"},"layerType":{"type":"string","example":"objectstore","enum":["objectstore"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes the catalog objectstore layer properties."},"VolatileLayer":{"allOf":[{"type":"object","required":["id","hrn","name","summary","description","partitioningScheme","partitioning","contentType","tags","billingTags","ttlHours","ttl","volume","created","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"hrn":{"$ref":"#/components/schemas/LayerHrn"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"partitioningScheme":{"$ref":"#/components/schemas/DeprecatedPartitioningScheme"},"partitioning":{"$ref":"#/components/schemas/Partitioning"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"ttlHours":{"$ref":"#/components/schemas/TtlHours"},"ttl":{"$ref":"#/components/schemas/Ttl"},"digest":{"$ref":"#/components/schemas/Digest"},"crc":{"$ref":"#/components/schemas/CRC"},"volume":{"$ref":"#/components/schemas/VolatileVolume"},"volatileProperties":{"$ref":"#/components/schemas/VolatileProperties"},"created":{"$ref":"#/components/schemas/LayerCreated"},"layerType":{"type":"string","example":"volatile","enum":["volatile"],"description":"The type of data availability that this layer provides"},"secureHandles":{"$ref":"#/components/schemas/SecureHandles"},"subsetRestrictions":{"$ref":"#/components/schemas/SubsetRestrictions"}}}],"description":"Describes the catalog volatile layer properties."},"StreamLayer":{"allOf":[{"type":"object","required":["id","hrn","name","summary","description","partitioningScheme","partitioning","contentType","tags","billingTags","ttlHours","ttl","volume","streamProperties","created","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"hrn":{"$ref":"#/components/schemas/LayerHrn"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"partitioningScheme":{"$ref":"#/components/schemas/DeprecatedPartitioningScheme"},"partitioning":{"$ref":"#/components/schemas/Partitioning"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"ttlHours":{"$ref":"#/components/schemas/TtlHours"},"ttl":{"$ref":"#/components/schemas/Ttl"},"volume":{"$ref":"#/components/schemas/DurableVolume"},"streamProperties":{"$ref":"#/components/schemas/StreamProperties"},"created":{"$ref":"#/components/schemas/LayerCreated"},"layerType":{"type":"string","example":"stream","enum":["stream"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes the catalog stream layer properties."},"IndexLayer":{"allOf":[{"type":"object","required":["id","hrn","name","summary","description","contentType","tags","billingTags","volume","indexProperties","created","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"hrn":{"$ref":"#/components/schemas/LayerHrn"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"coverage":{"$ref":"#/components/schemas/Coverage"},"schema":{"$ref":"#/components/schemas/Schema"},"contentType":{"$ref":"#/components/schemas/ContentType"},"contentEncoding":{"$ref":"#/components/schemas/ContentEncoding"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"volume":{"$ref":"#/components/schemas/DurableVolume"},"indexProperties":{"$ref":"#/components/schemas/IndexProperties"},"created":{"$ref":"#/components/schemas/LayerCreated"},"digest":{"$ref":"#/components/schemas/Digest"},"crc":{"$ref":"#/components/schemas/CRC"},"layerType":{"type":"string","example":"index","enum":["index"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes the catalog index layer properties."},"InteractiveMapsLayer":{"allOf":[{"type":"object","required":["id","hrn","name","summary","description","contentType","tags","billingTags","created","layerType"],"properties":{"id":{"$ref":"#/components/schemas/LayerId"},"hrn":{"$ref":"#/components/schemas/LayerHrn"},"name":{"$ref":"#/components/schemas/LayerName"},"summary":{"$ref":"#/components/schemas/LayerSummary"},"description":{"$ref":"#/components/schemas/LayerDescription"},"schema":{"$ref":"#/components/schemas/Schema"},"contentType":{"$ref":"#/components/schemas/ContentType"},"tags":{"$ref":"#/components/schemas/Tags"},"billingTags":{"$ref":"#/components/schemas/BillingTags"},"interactiveMapProperties":{"$ref":"#/components/schemas/InteractiveMapProperties"},"created":{"$ref":"#/components/schemas/LayerCreated"},"layerType":{"type":"string","example":"interactivemap","enum":["interactivemap"],"description":"The type of data availability that this layer provides"}}}],"description":"Describes the catalog interactive maps layer properties."},"Notifications":{"type":"object","properties":{"enabled":{"type":"boolean","example":false}},"description":"When set to true, a notification is written to the notification stream each time the version of the catalog changes. This field is optional, but you can update the value to modify notifications. Additionally, this field is not removable, and a null value is not allowed."},"Subset":{"type":"object","description":"Describes the specific subset based on the included areas.","required":["id","hrn","name","areas","created"],"properties":{"id":{"type":"string","example":"deu","description":"Immutable ID that refers to the subset.","maxLength":24,"pattern":"^[a-z0-9][a-z0-9\\.\\-_]*$"},"hrn":{"type":"string","example":"hrn:here:data::olp-here:countries::deu","description":"HERE Resource Name (HRN) for the subset."},"name":{"type":"string","example":"Germany","description":"Short name for the subset.","maxLength":80},"areas":{"type":"array","description":"Various areas covered in the subset.","maxLength":250,"items":{"type":"string","maxLength":24},"example":["afg","bra","deu"]},"created":{"type":"string","description":"Creation date and time.","example":"2021-12-16T18:20:18.950358Z"}}},"Subsets":{"type":"object","description":"**BETA** Describes the accessible subsets based on different areas. If subsetRestrictions is not enabled, the result will be empty.","required":["items"],"properties":{"items":{"type":"array","description":"List of subsets accessible by the caller and based on different areas.","maxLength":8000,"items":{"$ref":"#/components/schemas/Subset"}}},"x-maturity":"beta"},"SubsetsResponse":{"type":"object","description":"**BETA** Response body for the `get subsets` API that is useful for pagination.","required":["total","limit","count","items"],"properties":{"total":{"type":"integer","description":"Total number of accessible subsets.","example":2},"limit":{"type":"integer","description":"Requested or default limit of subsets on a page.","default":100,"example":1},"count":{"type":"integer","description":"Number of subsets present on the current page.","example":1},"items":{"type":"array","items":{"$ref":"#/components/schemas/Subsets"}},"nextPageToken":{"type":"string","description":"An optional field which is present when there is another page with more subsets that should be queried. The string value should be used in the query parameter of the new request to query the next page.","example":"MS84"}},"x-maturity":"beta"},"DataSubset":{"oneOf":[{"$ref":"#/components/schemas/DataSubsetAreas"},{"$ref":"#/components/schemas/DataSubsetLayers"}],"discriminator":{"propertyName":"dataSubsetType","mapping":{"areas":"#/components/schemas/DataSubsetAreas","layers":"#/components/schemas/DataSubsetLayers","ocm-layers":"#/components/schemas/DataSubsetLayers","nds-layers":"#/components/schemas/DataSubsetLayers"}}},"DataSubsetBase":{"type":"object","required":["id","name","dataSubsetType","created"],"properties":{"id":{"type":"string","maxLength":100,"pattern":"^[a-z0-9][a-z0-9\\-_]*$","example":"deu"},"name":{"type":"string","maxLength":80,"example":"Germany"},"dataSubsetType":{"type":"string","description":"Type of the data subset"},"created":{"type":"string","format":"date-time","example":"2021-12-16T18:20:18.950358Z"}}},"DataSubsetAreas":{"allOf":[{"$ref":"#/components/schemas/DataSubsetBase"},{"type":"object","required":["areaScheme","areas"],"properties":{"dataSubsetType":{"type":"string","enum":["areas"]},"areaScheme":{"type":"string","description":"HRN of the Area Scheme","example":"hrn:here:areascheme::olp-here:default-countries"},"areas":{"type":"array","items":{"type":"string","maxLength":24},"example":["afg","bra","deu"]}}}]},"DataSubsetLayers":{"allOf":[{"$ref":"#/components/schemas/DataSubsetBase"},{"type":"object","required":["layers"],"properties":{"id":{"type":"string","maxLength":100,"pattern":"^[a-z0-9][a-z0-9\\-_]*$","example":"core-layer-group"},"dataSubsetType":{"type":"string","enum":["layers","ocm-layers","nds-layers"]},"layers":{"type":"array","items":{"type":"string"},"example":["topology","roadnetwork"]}}}]},"DataSubsets":{"type":"object","description":"Describes the accessible data subsets based on different areas or layers.","required":["items"],"properties":{"items":{"type":"array","description":"List of data subsets accessible by the caller and based on different areas or layers.","maxLength":8000,"items":{"$ref":"#/components/schemas/DataSubset"}}},"x-maturity":"beta"},"DataSubsetsResponse":{"type":"object","description":"Response body for the `get data subsets` API that is useful for pagination.","required":["total","limit","count","items"],"properties":{"total":{"type":"integer","description":"Total number of accessible data subsets.","example":2},"limit":{"type":"integer","description":"Requested or default limit of data subsets on a page.","default":100,"example":1},"count":{"type":"integer","description":"Number of data subsets present on the current page.","example":1},"items":{"type":"array","items":{"$ref":"#/components/schemas/DataSubsets"}},"nextPageToken":{"type":"string","description":"An optional field which is present when there is another page with more data subsets that should be queried. The string value should be used in the query parameter of the new request to query the next page.","example":"MS84"}},"x-maturity":"beta"},"DataSubsetCreate":{"oneOf":[{"$ref":"#/components/schemas/DataSubsetAreasCreate"},{"$ref":"#/components/schemas/DataSubsetLayersCreate"}],"discriminator":{"propertyName":"dataSubsetType","mapping":{"areas":"#/components/schemas/DataSubsetAreasCreate","layers":"#/components/schemas/DataSubsetLayersCreate","ocm-layers":"#/components/schemas/DataSubsetLayersCreate","nds-layers":"#/components/schemas/DataSubsetLayersCreate"}}},"DataSubsetBaseCreate":{"type":"object","required":["id","name","dataSubsetType"],"properties":{"id":{"type":"string","maxLength":100,"pattern":"^[a-z0-9][a-z0-9\\.\\-_]*$","example":"deu"},"name":{"type":"string","maxLength":80,"example":"Germany"},"dataSubsetType":{"type":"string","description":"Type of the data subset"}}},"DataSubsetAreasCreate":{"allOf":[{"$ref":"#/components/schemas/DataSubsetBaseCreate"},{"type":"object","required":["areaScheme","areas"],"properties":{"dataSubsetType":{"type":"string","enum":["areas"]},"areaScheme":{"type":"string","description":"HRN of the Area Scheme","example":"hrn:here:areascheme::olp-here:default-countries"},"areas":{"type":"array","items":{"type":"string","maxLength":24},"example":["afg","bra","deu"]}}}]},"DataSubsetLayersCreate":{"allOf":[{"$ref":"#/components/schemas/DataSubsetBaseCreate"},{"type":"object","required":["layers"],"properties":{"id":{"type":"string","maxLength":100,"pattern":"^[a-z0-9][a-z0-9\\.\\-_]*$","example":"core-layer-group"},"dataSubsetType":{"type":"string","enum":["layers","ocm-layers","nds-layers"]},"layers":{"type":"array","items":{"type":"string"},"example":["topology","roadnetwork"]}}}]},"AreaScheme":{"type":"string","description":"This field is deprecated on the catalog level. Use **/catalogs/{catalogHrn}/dataSubsets** to set areaScheme in the dataSubset instead. HERE Resource Name (HRN) of the Area Scheme used in the data subset. After deprecation setting areaScheme on the catalog level takes no effect. It will simply be ignored.","example":"hrn:here:areascheme::olp-here:default-countries","x-maturity":"beta"},"SubsetRestrictions":{"type":"boolean","description":"This field is deprecated on the catalog level. Use subsetRestrictions on the layer level only. Indicates if the subsetRestrictions for a layer is enabled or not. Supported only for layers with heretile partitioning. After deprecation setting subsetRestrictions on the catalog level takes no effect. It will simply be ignored.","example":true,"x-maturity":"beta"},"SubsetsFingerprint":{"type":"object","description":"**BETA** If subsetRestrictions is not enabled, the subsetsFingerprint, subsets, and areas will be empty.","required":["subsetsFingerprint","subsets","areas"],"properties":{"subsetsFingerprint":{"type":"string","description":"Fingerprint as a hash of subsets and the areaScheme version.","example":"hash"},"subsets":{"type":"array","description":"All subsets the calling identity has access to, including the referenced Area IDs.","items":{"type":"string"},"example":["deu","afg"]},"areas":{"type":"array","description":"Combined areas from all subsets of this result.","items":{"type":"string"},"example":["deu","afg","bra"]},"areaScheme":{"$ref":"#/components/schemas/AreaSchemeFingerprint"}},"x-maturity":"beta"},"DataSubsetsFingerprint":{"type":"object","description":"DataSubsetFingerprint is a combination of fields that indicate if anything was changed in the set of data subsets or if area scheme version was increased","required":["dataSubsetsFingerprint","dataSubsets"],"properties":{"dataSubsetsFingerprint":{"type":"string","description":"Fingerprint as a hash of data subsets.","example":"hash"},"dataSubsets":{"type":"array","description":"All data subsets the calling identity has access to, including the referenced Area IDs or Layer IDs.","items":{"type":"string"},"example":["deu","afg","core-layer-group"]},"areas":{"type":"array","description":"Combined areas from all subsets of this result.","items":{"type":"string"},"example":["deu","afg","bra"]},"layers":{"type":"array","description":"Combined layers from all subsets of this result.","items":{"type":"string"},"example":["topology","roadnetwork"]},"areaScheme":{"$ref":"#/components/schemas/AreaSchemeFingerprint"}},"x-maturity":"beta"},"AreaSchemeFingerprint":{"type":"object","required":["hrn","version"],"properties":{"hrn":{"type":"string","description":"HERE Resource Name (HRN) of the areaScheme in the catalog.","example":"hrn:here:areascheme::olp-here:default-countries"},"version":{"type":"integer","description":"Version of the scheme, which increments with any change.","example":1}},"x-maturity":"beta"},"SubscriptionBase":{"type":"object","required":["subscriptionName","sourceCatalog","sourceLayer","destinationCatalog","destinationLayer","owner","version","created","updated","status"],"properties":{"subscriptionName":{"type":"string","example":"my-subscription","description":"The ID to use when referring to this subscription programmatically.","minLength":3,"maxLength":46,"pattern":"^[a-z0-9][a-z0-9\\-]{1,61}[a-z0-9]$"},"subscriptionHrn":{"type":"string","readOnly":true,"example":"hrn:here:data-subscription::olp-here:my-subscription-7d93563980d94f1b","description":"The HERE Resource Name (HRN) of subscription"},"description":{"type":"string","description":"A detailed description of the subscription.","example":"Subscription to a layer","minLength":0,"maxLength":10000},"sourceCatalog":{"type":"string","example":"hrn:here:data::olp-here:my-source-catalog","description":"The HERE Resource Name (HRN) of the subscription source catalog."},"sourceLayer":{"type":"string","example":"source-layer","description":"The ID of the subscription source layer."},"destinationCatalog":{"type":"string","example":"hrn:here:data::olp-here:my-destination-catalog","description":"The HERE Resource Name (HRN) of the subscription destination catalog."},"destinationLayer":{"type":"string","example":"destination-layer","description":"The ID of the subscription destination layer."},"filters":{"type":"object","additionalProperties":true,"nullable":true,"description":"Optional JSON object containing filtering criteria. This filter is consumed by downstream systems (e.g., MPA jobs) to determine which features or records should be selected for processing. The structure of this object is flexible and may contain arbitrary key-value pairs depending on the consuming system's requirements.","example":{"jsonPaths":["$.properties.name","$[?(@.properties.type == 'building')]"]}},"owner":{"type":"object","readOnly":true,"description":"Information about the subscription's creator.","required":["creator","organisation"],"properties":{"creator":{"$ref":"#/components/schemas/Creator"},"organisation":{"$ref":"#/components/schemas/Organisation"}}},"version":{"type":"integer","format":"int32","readOnly":true,"description":"Version of the subscription configuration."},"created":{"type":"string","example":"2017-08-04T17:19:03.853Z","description":"The subscription creation timestamp in ISO 8601 format.","readOnly":true},"updated":{"type":"string","example":"2017-08-04T17:19:03.853Z","description":"The subscription's last update timestamp in ISO 8601 format.","readOnly":true},"status":{"type":"object","readOnly":true,"description":"Subscription status information.","required":["state"],"properties":{"state":{"type":"string","enum":["active","failed","deleted"],"description":"State:\n* `active` - Subscription was created successfully and is active.\n* `failed` - The operation failed.\n* `deleted` - Subscription was deleted successfully.\n* `disabled` - Subscription in disable state because the source catalog/layer or target catalog/layer was removed.\n"},"message":{"type":"string","example":"Some error message"}}}}},"CreateSubscriptionRequestBody":{"x-baseType":"SubscriptionBase","oneOf":[{"$ref":"#/components/schemas/SubscriptionInteractiveMapLayer"}]},"SubscriptionInteractiveMapLayer":{"allOf":[{"$ref":"#/components/schemas/SubscriptionBase"},{"type":"object","required":["interactiveMapSubscription"],"properties":{"interactiveMapSubscription":{"type":"object","description":"Interactive map subscription.","required":["type"],"properties":{"type":{"type":"string","enum":["perFeature","perTransaction","contentChange"],"description":"Type:\n* `perFeature` - Per feature interactive map subscription type.\n* `perTransaction` - Per transaction interactive map subscription type.\n* `contentChange` - Content change interactive map subscription type.\n"}}}}}]},"SubscriptionStatusToken":{"type":"object","required":["statusToken"],"properties":{"statusToken":{"type":"string","description":"Token to check subscription create or delete status.","example":"de1e3c8d-17ac-42b9-8f5d-7bbeba664fe6"}}},"SubscriptionStatus":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["pending","failed","active","deleted"],"description":"Status:\n* `pending` - Operation is in progress.\n* `failed` - The operation failed.\n* `active` - Subscription was successfully created and is active.\n* `deleted` - Subscription was successfully deleted.\n"},"subscriptionHrn":{"type":"string","description":"The HERE Resource Name (HRN) of the newly created subscription.","example":"hrn:here:data-subscription::olp-here:my-subscription-7d93563980d94f1b"}}},"BatchSubscriptionStatusResponse":{"type":"object","required":["batchRequestId","status","subscriptions"],"properties":{"batchRequestId":{"type":"string","description":"Unique identifier for the batch subscription request.","example":"de1e3c8d-17ac-42b9-8f5d-7bbeba664fe6"},"status":{"$ref":"#/components/schemas/BatchRequestStatus"},"subscriptions":{"type":"array","description":"Status of each subscription in the batch request.","items":{"$ref":"#/components/schemas/SubscriptionStatus"}}}},"BatchRequestStatus":{"type":"string","enum":["PENDING","SUCCESS","FAILED"]},"SubscriptionList":{"type":"object","required":["limit","items"],"properties":{"limit":{"type":"integer","description":"Current page size limit.","example":100},"nextPageToken":{"type":"string"},"previousPageToken":{"type":"string"},"items":{"type":"array","x-baseType":"SubscriptionBase","items":{"oneOf":[{"$ref":"#/components/schemas/SubscriptionInteractiveMapLayer"}]}}}}}}}