Entities CES Peaks
Get the driver of each CES peak of an entity.
The CES is only available 48 hours after an entity is registered. Before that, the route returns a Forbidden error.
This route returns the drivers of peak of the CES: for each peak of the CES curve, the event that explains why the CES displays that value at that date.
A peak is a point where the CES rises, usually because a new ESG event was detected or because the media coverage of an existing event grew. The data returned here is the reason behind the value you see on the curve: each peak is justified by one event_id.
How to use it
- Retrieve the CES history of the entity with Entities CES and plot it.
- Call this route to get the peaks of the same period.
- Use the
event_idof a peak to retrieve the details of the event (title, categories, documents) with Entities ESG Events.
For example, if the CES jumps on March 12, this route tells you which event caused the jump, so you can display or audit the justification of that value.
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)Extraction date
Example: "between:2022-01-01;2022-01-02"order(field:direction (enum))[]Order to apply to the result.
Possible fields are:
date.Possible directions are:
Default: [date:asc]Example: "date:asc"ascanddesc.periodstring (enum)Calendar period (
all,day,week,month,quarter,year; defaultall) over which the highest CES peak is returned.With
all, a single peak is returned: the highest over the whole range filtered bydate.Example: with period=month, the result contains each month's highest peak and its driver (
Default: "all"Values: "all", "day", "week", "month", "quarter", "year"event_id).
Response
One peak per period, with its CES score and the event driving it
data*object[]Paginated list of CES peaks per entity
size*integerNumber of records per page requested.
Minimum: 1has_next*booleanTrue if there are more records available.
Example: truecount*integerNumber of records returned in the current page.
Minimum: 0search_after*string | nullCursor for next page.
{
"data": [
{
"period_start_date": "2025-05-06",
"period_end_date": "2025-05-13",
"event_id": "e7c2464e-0dc8-441a-970b-0d23eeabe3d1",
"ces_score": 89
}
],
"size": 1,
"has_next": true,
"count": 1,
"search_after": "string"
}Error
Bad request
message*stringError message.
Example: "Check the errors field for more details"code*numberError code.
Example: 400reason*stringError reason.
Example: "invalid"errorsobject[]Possible error causes.
{
"message": "Check the errors field for more details",
"code": 400,
"reason": "invalid",
"errors": [
{
"message": "string",
"field": "size",
"reason": "invalid_type"
}
]
}Unauthorized
message*stringError message.
Example: "Authorization header is expected"code*numberError code.
Example: 401reason*stringError reason.
Example: "unauthorized"errors*object[]Array length: [1, 1]
{
"message": "Authorization header is expected",
"code": 401,
"reason": "unauthorized",
"errors": [
{
"message": "Required",
"field": "headers.authorization",
"reason": "invalid_type"
}
]
}Payment required
message*stringError message.
Example: "Your account does not have access to this entity. Contact SESAMm sales for more information."code*numberError code.
Example: 402reason*stringError reason.
Example: "forbidden"
{
"message": "Your account does not have access to this entity. Contact SESAMm sales for more information.",
"code": 402,
"reason": "forbidden"
}Forbidden
message*stringError message.
Example: "Missing required permissions to perform this action."code*numberError code.
Example: 403reason*stringError reason.
Example: "forbidden"
{
"message": "Missing required permissions to perform this action.",
"code": 403,
"reason": "forbidden"
}Not found
message*stringError message.
Example: "The requested entity does not exist or is not visible to your company."code*numberError code.
Example: 404reason*stringError reason.
Example: "not_found"
{
"message": "The requested entity does not exist or is not visible to your company.",
"code": 404,
"reason": "not_found"
}Generic errors are not shown, see Errors for more details.