> For the complete documentation index, see [llms.txt](https://developer.collibra.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.collibra.com/api/references/popularity/aggregated-data.md).

# Aggregated Data

Endpoints to submit your own usage data and track its writing

## Submit aggregated data

> Uploads aggregated data required to calculate Popularity Score for assets. \
> \
> There are 2 different ways to provide keys and type (see examples).<br>

```json
{"openapi":"3.0.3","info":{"title":"Catalog Popularity","version":"0.0.1"},"tags":[{"name":"Aggregated Data","description":"Endpoints to submit your own usage data and track its writing"}],"servers":[{"url":"/rest/dataUsage/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"AggregatedData":{"type":"object","properties":{"assetLocator":{"$ref":"#/components/schemas/AssetLocator"},"toDate":{"type":"string","format":"date-time","description":"End date of the 30-day window used for popularity calculation"},"timePeriod":{"type":"string"},"queryCount":{"type":"integer"},"distinctUsers":{"type":"integer","description":"Number of distinct users that have queried the asset"}}},"AssetLocator":{"description":"Describes where to search for a specific Catalog asset. It might match more than one result.\n\nIt also specifies the type of the datastore of origin and its commercial name\n","type":"object","required":["type","keys"],"properties":{"type":{"$ref":"#/components/schemas/Type"},"product":{"$ref":"#/components/schemas/ProductName"},"keys":{"$ref":"#/components/schemas/Keys"}}},"Type":{"description":"Identifier for the datastore type of origin.\n","type":"string"},"ProductName":{"description":"Commercial name of the datastore of origin.\n","type":"string"},"Keys":{"description":"Ordered list of names for each member of the hierarchy of an item.\n","type":"array","minItems":1,"items":{"type":"string","nullable":false}},"Job":{"type":"object","required":["id","createdBy","createdOn","startDate","status"],"properties":{"id":{"type":"string","format":"uuid"},"createdBy":{"type":"string","format":"uuid"},"createdOn":{"type":"string","format":"date-time"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["Waiting","Running","Completed","Failed"]},"report":{"type":"object","additionalProperties":true}}},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/aggregatedData/submit":{"post":{"tags":["Aggregated Data"],"summary":"Submit aggregated data","operationId":"submitAggregatedData","description":"Uploads aggregated data required to calculate Popularity Score for assets. \n\nThere are 2 different ways to provide keys and type (see examples).\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","maxItems":1000,"items":{"$ref":"#/components/schemas/AggregatedData"}}}}},"responses":{"202":{"description":"Submits a batch of data to be written (asynchronous endpoint).","headers":{"Location":{"schema":{"type":"string"},"description":"Endpoint to retrieve batch status."}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Find jobs

> Returns a list of jobs related to the data aggregation process.<br>

```json
{"openapi":"3.0.3","info":{"title":"Catalog Popularity","version":"0.0.1"},"tags":[{"name":"Aggregated Data","description":"Endpoints to submit your own usage data and track its writing"}],"servers":[{"url":"/rest/dataUsage/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"parameters":{"Status":{"name":"status","required":false,"in":"query","description":"The status of the jobs to retrieve.\n\nIf not set, this filter will not be applied and everything will be returned.\n","schema":{"type":"string","enum":["Waiting","Running","Completed","Failed"]}},"Offset":{"name":"offset","in":"query","description":"The index of the first result to retrieve.\n\nIf not set (offset = <code>0</code>), results will be retrieved starting from row <code>0</code>.\n","schema":{"type":"integer","format":"int32","default":0,"minimum":0,"maximum":2147483647}},"Limit":{"name":"limit","in":"query","description":"The maximum number of results to retrieve.\n\nIf not set, the default limit  (limit = <code>0</code>) will be used. The maximum value for this parameter is\n<code>500</code>.\n","schema":{"type":"integer","format":"int32","default":10,"minimum":1,"maximum":500}}},"schemas":{"JobsResultPage":{"type":"object","required":["results"],"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Job"}}}},"Job":{"type":"object","required":["id","createdBy","createdOn","startDate","status"],"properties":{"id":{"type":"string","format":"uuid"},"createdBy":{"type":"string","format":"uuid"},"createdOn":{"type":"string","format":"date-time"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["Waiting","Running","Completed","Failed"]},"report":{"type":"object","additionalProperties":true}}},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/aggregatedData/jobs":{"get":{"tags":["Aggregated Data"],"parameters":[{"$ref":"#/components/parameters/Status"},{"$ref":"#/components/parameters/Offset"},{"$ref":"#/components/parameters/Limit"}],"summary":"Find jobs","operationId":"findJobs","description":"Returns a list of jobs related to the data aggregation process.\n","responses":{"200":{"description":"List of jobs successfully retrieved. The report of the job will not be present.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobsResultPage"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```

## Find job by id

> Returns a job related to the data aggregation process by its ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"Catalog Popularity","version":"0.0.1"},"tags":[{"name":"Aggregated Data","description":"Endpoints to submit your own usage data and track its writing"}],"servers":[{"url":"/rest/dataUsage/v1"}],"security":[{"basicAuth":[]},{"jwtAuth":[]}],"components":{"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic","description":"Collibra REST API authentication using Basic Authentication."},"jwtAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Collibra REST API authentication using JSON Web Token."}},"schemas":{"Job":{"type":"object","required":["id","createdBy","createdOn","startDate","status"],"properties":{"id":{"type":"string","format":"uuid"},"createdBy":{"type":"string","format":"uuid"},"createdOn":{"type":"string","format":"date-time"},"startDate":{"type":"string","format":"date-time"},"endDate":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["Waiting","Running","Completed","Failed"]},"report":{"type":"object","additionalProperties":true}}},"StandardErrorResponse":{"type":"object","properties":{"statusCode":{"type":"integer","description":"HTTP response code"},"titleMessage":{"type":"string"},"helpMessage":{"type":"string"},"userMessage":{"type":"string"},"errorCode":{"type":"string"}}}},"responses":{"InvalidRequest400":{"description":"The request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest401":{"description":"The client is not authenticated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest403":{"description":"The user lacks permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}},"InvalidRequest404":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StandardErrorResponse"}}}}}},"paths":{"/aggregatedData/jobs/{id}":{"get":{"tags":["Aggregated Data"],"summary":"Find job by id","operationId":"findJobById","description":"Returns a job related to the data aggregation process by its ID.\n","parameters":[{"name":"id","in":"path","required":true,"description":"The job ID to retrieve.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Job successfully retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"$ref":"#/components/responses/InvalidRequest400"},"401":{"$ref":"#/components/responses/InvalidRequest401"},"403":{"$ref":"#/components/responses/InvalidRequest403"},"404":{"$ref":"#/components/responses/InvalidRequest404"}}}}}}
```
