EU Taxonomy

EU Taxonomy data - Asynchronous endpoints

Retrieving data using the Clarity AI Universe API

The different EU Taxonomy objectives have their own endpoints as seen below. Endpoints are available at both the security & securityType (ISIN) level and at the permId (Organization) level, as seen below. The endpoints make a request for an async job to return the whole Clarity AI universe with regards to the EU Taxonomy. Please note all asynchronous calls are POST requests.

The endpoints follow a schema /public/securities/eu-taxonomy/{objective}/metric-by-id/asyncand /public/organizations/eu-taxonomy/{objective}/metric-by-id/async

Some examples of the metrics available for the EU Taxonomy endpoints are showcased below. It’s important to note that there are other activities that can be requested. Please request the data dictionary for an exhaustive list of metricIds. For clients who have contracted access to all metrics within a module, passing empty lists in the body of the request will return the whole universe for all metrics.

Using securities endpoints

{
   "metricIds":["TOTAL", “ENABLING”, “TRANSITION_ACTIVITY”],
   "securityTypes": ["FUND","EQUITY","FIXED_INCOME"]
}

Using organizations endpoints

{  
   "metricIds":["TOTAL", “ENABLING”, “TRANSITION_ACTIVITY”],  
   "permIds": [64849393]  
}

The API request will return within the response body a uuid - this is your jobId. Please see Request data portfolio level for handling Async jobs to download the data.

EU Taxonomy Disclosure Information (Optional)

Both securities and organizations EU Taxonomy endpoints support the option to return Disclosure information. Using “optionalColumns”: [‘DISCLOSURE’] in the body of the API request (see below), disclosure information is returned at the reporting level on the EU Taxonomy step that the company has reported.

Example (body of API request):

{ 
"optionalColumns": ["DISCLOSURE"],
"metricIds": ["TOTAL","ENABLING","AFFORESTATION","CONSERVATION_FOREST"],
"securityTypes":["FUND", "EQUITY", "FIXED_INCOME"]
}

Disclosure information is returned in the column headers REPORTING_LEVEL.VALUE and REPORTING_LEVEL.META

Possible values for REPORTING_LEVEL:

  • STEP_5 (Alignment)
  • ALL_STEPS
  • STEP _1 (Eligibility)
  • STEP_1_5 (Both Eligibility and Alignment)

As the disclosure only applies to organizations, when calling for disclosure information using the securities endpoint we will include values only for rows that are FIXED_INCOME or EQUITY. In the case of FUNDs, we will consider them as not applicable and will return ‘NOT_APPLICABLE’.

EU Taxonomy NFRD Information (Optional)

Both securities and organizations EU Taxonomy endpoints support the option to return NFRD information for a company. Using “optionalColumns”: [‘NFRD’] in the body of the API request (see below), the response will return column headers NFRD.VALUE and NFRD.META indicating whether the issuer (organization) is an NFRD company. Possible values are TRUE, FALSE or blank. A blank NFRD.VALUE is returned when the response is not applicable or not available, e.g. against a FUND ISIN we return NOT_APPLICABLE.

Example (body of API request):

{ 
"optionalColumns": ["NFRD"],
"metricIds": ["TOTAL","ENABLING","AFFORESTATION","CONSERVATION_FOREST"],
"securityTypes":["FUND", "EQUITY", "FIXED_INCOME"]
}

EU Taxonomy data by KPI: Turnover, Capex, Opex

The EU Taxonomy endpoints return data specific to one of three KPIs: Turnover (returned by default when no KPI is specified), Capex, or Opex

By default, the universe endpoints return values with respect to Turnover/Revenue. An optional parameter can be passed into the body of the POST request to specify one of three KPIs. Possible values include CAPEX, OPEX, and TURNOVER:

"kpi": "TURNOVER" | "CAPEX" | "OPEX"

If the kpi parameter is excluded from the body of the request, then turnover data is returned by default.

For example, a request for Capex data for a list of organizations for adaptation can be passed as below:

POST: /public/organizations/eu-taxonomy/adaptation/metric-by-id/async

Request body

{
    "metricIds":["TOTAL",  
          "ENABLING",,  
          "OWN_PERFORMANCE"],
    "kpi":"CAPEX",
        "permIds": [4295912121,  
                    4298036388,  
                    4295905431,  
                    4295905573,  
                    4295903076,  
                    5064610769,  
                    4295912360,  
                    5000069094,  
                    4298015178,  
                    5000072036,  
                    4295905298]
}

Retrieving EU Taxonomy Portfolio data

You need a portfolioId to request information on the portfolio level by passing it as a parameter to the endpoint - assuming you have access to the EU Taxonomy module.
This endpoint takes portfolioId and metricIds as required parameters. If all of the metrics are required pass the metricIds empty as in the example below to receive all of the activities for a requested portfolio. Portfolio EU Taxonomy

/public/portfolios/{{portfolioId}}/eu-taxonomy/mitigation/steps-by-id

If a select few EU Taxonomy Activities are required, pass the required Activity ID as query string parameters with the GET request.

https://api.clarity.ai/clarity/v1/public/portfolios/{{portfolioId}}/eu-taxonomy/mitigation/steps-by-id?metricIds=TRANSMISSION_DISTRIB_ELECTRICITY

For the example response below we have passed the following:
portfolioId = “617xx2060xx6x3495x344x5x”
metricIds = “TRANSMISSION_DISTRIB_ELECTRICITY”

{  
   "name": "+ ACWI",  
   "updateDate": "2021-11-03T12:54:31Z",  
   "totalOrganizations": 2263,  
   "coverageOrganizations": 2196,  
   "coverageWeight": 98.92150000000005,  
   "metrics": [  
       {  
           "id": "TRANSMISSION_DISTRIB_ELECTRICITY",  
           "step1": {  
               "eligible": {  
                   "value": 4.9259353,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "potentiallyEligible": {  
                   "value": 0.0,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "notEligible": {  
                   "value": null,  
                   "units": "%",  
                   "metadata": "NOT_APPLICABLE"  
               }  
           },  
           "step2": {  
               "contribution": {  
                   "value": 0.0,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "potentialContribution": {  
                   "value": 4.6535516,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "potentialNotContribution": {  
                   "value": 0.27238524,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "notContribution": {  
                   "value": null,  
                   "units": "%",  
                   "metadata": "NOT_APPLICABLE"  
               }  
           },  
           "step5": {  
               "aligned": {  
                   "value": 0.0,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "potentiallyAligned": {  
                   "value": 4.6237726,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "potentiallyNotAligned": {  
                   "value": 0.27238524,  
                   "units": "%",  
                   "metadata": "NONE"  
               },  
               "notAligned": {  
                   "value": 0.029779296,  
                   "units": "%",  
                   "metadata": "NONE"  
               }  
           }  
       } ] }