ESG
Universes

Universes ESG Events

Get events for one universe

GET
https://api.textreveal.com/v3/universes/{universe_id}/esg/events

Request

Parameters

  • universe_id*uuid

    Unique identifier of the universe.

  • sizeinteger

    Number of records per page

    Default: 10Range: [1, 1000]
  • search_afterstring

    search_after field value from the previous page

  • scoreinteger (operator)

    Intensity score

    You can input an integer or use the following operators: lt (<), lte (≤), gt (>), gte (≥), neq (≠), in, nin (not in), between

    Range: [1, 5]
  • start_datedate (operator)

    Start date

    You can input a date or use the following operators: lt (<), lte (≤), gt (>), gte (≥), neq (≠), between

    Example: "between:2022-01-01;2022-01-02"
  • last_activitydate (operator)

    Last activity date

    You can input a date or use the following operators: lt (<), lte (≤), gt (>), gte (≥), neq (≠), between

    Example: "between:2022-01-01;2022-01-02"
  • case_idstring[]

    Unique case identifier to retrieve the associated events

    You can specify multiple values

    Example: "5eb7182b-9b55-4f7a-b3e1-49062ee7cef9"
  • orderfield:direction[]

    Order to apply to the result.

    Possible fields are: score, last_activity, start_date, ungc_classification.

    Possible directions are: asc and desc.

    You can specifiy multiples values.

    When using ungc_classification, results are sorted by the level of importance : low risk, then watchlist, then violator

    Example: "score:asc"
  • 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 title and summary.

    Note: symbols are ignored in the query, if you use hello@world, the query will be hello world, accentuated letters are preserved.

    Example: word will match WORD, words and any conjugated forms such as wording.

    However, it will not match keyword. To match both terms, you must add each one separately.

    Example: hard drive will return result mentioning hard drives but also hard disk drives, but will not mention document that match drive only. To match those you'll have to search them separately.

  • ungc_classification(string (enum))[]

    UN Global Compact classification. Used to filter events based on their assessed compliance status.

    Values: "violator", "watchlist", "low risk"
  • ungc_principles(string (enum))[]

    UN Global Compact principles to filter by (e.g. 'Principle 1: Businesses should support and respect the protection of internationally proclaimed human rights.)' for human rights

    Values: "Principle 1: Businesses should support and respect the protection of internationally proclaimed human rights.", "Principle 2: Businesses should make sure that they are not complicit in human rights abuses.", "Principle 3: Businesse... 
  • fields(string (enum))[]

    Fields to include in the response

    Values: "id", "case_id", "categories", "entity_id", "dashboard_url", "last_activity", "score", "start_date", "sub_categories", "summary", "title", "related_documents_count", "ungc_classification", "ungc_principles", "ungc_explanation", "tra... 
  • translatelanguage-code (enum)

    In which language to translate the results.

    Default translated fields are: title, summary.

    If empty, translated_ fields won't be returned.

    Example: french

    Values: "af", "afr", "afrikaans", "albanian", "am", "amh", "amharic", "ar", "ara", "arabic", "armenian", "az", "aze", "azerbaijani", "ben", "bengali", "bg", "bn", "bos", "bosnian", "bs", "bul", "bulgarian", "ca", "cat", "catalan", "chinese"... 

Response

Response - 200

Properties of the events

  • data*object[]

    Properties of the events.

  • size*integer

    Number of records per page requested.

    Example: 1
  • has_next*boolean

    True if there are more records available.

    Example: true
  • count*integer

    Number of records returned in the current page.

    Example: 1
  • search_after*string | null

    Cursor for next page.

Response
{
  "data": [
    {
      "id": "e7c2464e-0dc8-441a-970b-0d23eeabe3d1",
      "case_id": "5eb7182b-9b55-4f7a-b3e1-49062ee7cef9",
      "categories": [
        "E"
      ],
      "entity_id": "00000000-0000-0000-0000-000000000000",
      "dashboard_url": "https://dashboards.textreveal.com/event/e7c2464e-0dc8-441a-970b-0d23eeabe3d1",
      "last_activity": "2025-11-07T08:35:37.658Z",
      "score": 2,
      "start_date": "2025-10-06T04:55:21.713Z",
      "sub_categories": [
        "Climate Change",
        "Water Pollution"
      ],
      "summary": "string",
      "title": "string",
      "related_documents_count": 43,
      "ungc_classification": "violator",
      "ungc_principles": [
        "Principle 1: Businesses should support and respect the protection of internationally proclaimed human rights.",
        "Principle 2: Businesses should make sure that they are not complicit in human rights abuses."
      ],
      "ungc_explanation": "string",
      "translated_summary": null,
      "translated_title": "string"
    }
  ],
  "size": 1,
  "has_next": true,
  "count": 1,
  "search_after": "string"
}

Error

Error - 400

Bad request

  • message*string

    Error message.

    Example: "The server returned an unexpected response"
  • code*integer

    Error code.

    Example: 400
  • reason*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.

Response
{
  "message": "The server returned an unexpected response",
  "code": 400,
  "reason": "invalid",
  "errors": [
    {
      "message": "Expected number, received string",
      "field": "size",
      "reason": "invalid_type"
    }
  ]
}

Error - 403

Not authorized

  • message*string
    Example: "Not authorized to access this resource"
  • code*number

    Error code.

  • reason*string
Response
{
  "message": "Not authorized to access this resource",
  "code": 0,
  "reason": "string"
}

Error - 404

No universe found

  • message*string
    Example: "[record] not found."
  • code*number

    Error code.

  • reason*string
Response
{
  "message": "[record] not found.",
  "code": 0,
  "reason": "string"
}