Entities ESG Events Statistics
Get number of active events by period for one entity.
If an event lasts for several days, it will be counted separately for each day.
This explains the differences in count between month and day aggregations.
A single event that lasts from the first day of the month to the last will be counted as 1 for that month, but will return ~30 results in a aggregation by day.
Request
Parameters
entity_id*uuidPermanent ID of the entity
Example: "753c48d6-23c8-5fb0-9230-b099898452b5"sizeintegerNumber of records per page
Default: 10Range: [1, 1000]search_afterstringsearch_afterfield value from the previous pagedatedate (operator)Filters events whose
Example: "between:2022-01-01;2022-01-02"last_activityis after the minimum bound and whosestart_dateis before the maximum bound.periodstring (enum)Group results by period.
Example: with
Default: "all"Values: "all", "day", "week", "month", "quarter", "year"period=week, the result will contain a value per week. If no event occurred during the week, the value will be 0.return_emptybooleanIf true, the result will contain a period entry even if no event occurred during the period (with
score=0).category(string (enum))[]Filter by category.
Values: "E", "S", "G"sub_category(string (enum))[]Filter by a sub category.
Values: "Animal Welfare", "Atmospheric Pollution", "Biodiversity And Ecosystems", "Climate Change", "Energy & Natural Resources Management", "Environmental Misreporting", "Food Waste", "Industrial Accidents & Physical Risk", "Land And Soil ...contentstring[]Search for keywords inside the
titleandsummary.Note: symbols are ignored in the query, if you use
hello@world, the query will behello world, accentuated letters are preserved.Example:
wordwill matchWORD,wordsand any conjugated forms such aswording.However, it will not match
keyword. To match both terms, you must add each one separately.Example:
hard drivewill return result mentioninghard drivesbut alsohard disk drives, but will not mention document that matchdriveonly. To match those you'll have to search them separately.
Response
Number of active events by period.
data*object[]Number of active events by period in the given range.
size*integerNumber of records per page requested.
Example: 1has_next*booleanTrue if there are more records available.
Example: truecount*integerNumber of records returned in the current page.
Example: 1search_after*string | nullCursor for next page.
{
"data": [
{
"period_start_date": "2025-05-06",
"period_end_date": "2025-05-13",
"count": 27,
"score": {
"1": 10,
"2": 4,
"3": 7,
"4": 0,
"5": 6
}
}
],
"size": 1,
"has_next": true,
"count": 1,
"search_after": "string"
}Error
Bad request
message*stringError message.
Example: "The server returned an unexpected response"code*integerError code.
Example: 400reason*string (enum)Error reason.
Values: "invalid", "timeout", "offline", "unknown", "not_found", "unauthorized", "forbidden", "internal", "too_many_requests"errorsobject[]Possible error causes, like query params, headers or body.
{
"message": "The server returned an unexpected response",
"code": 400,
"reason": "invalid",
"errors": [
{
"message": "Expected number, received string",
"field": "size",
"reason": "invalid_type"
}
]
}Not authorized
message*stringExample: "Not authorized to access this resource"code*numberError code.
reason*string
{
"message": "Not authorized to access this resource",
"code": 0,
"reason": "string"
}