Generate a sustainability report
/reportsBuilds a PDF sustainability report for the holdings you send and returns a link to it. The report compares the portfolio with one benchmark: benchmark_etf_mutual_fund when you send it, otherwise benchmark_index, which defaults to S&P 500. A request without identifier, without type or with an empty holdings list fails with 400. A snapshot_at in a future year fails with 400 and the message Snapshot date cannot be higher than actual date. A date that cannot be read fails with 400 and the message You are not using a valid date as snapshot parameter.
Authorization
apiKey Your Connect Earth API key.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://eco.datia.app/reports" \ -H "x-api-key: $CE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Pension fund A", "identifier": "pension-fund-a", "type": "esg-overview", "snapshot_at": "2026-06-30", "benchmark_etf_mutual_fund": "IE00B4L5Y983", "holdings": [ { "name": "Apple Inc.", "isin": "US0378331005", "instrument_type": "stock", "currency": "USD", "weight": 40, "market_value": 4000000 }, { "name": "Microsoft Corp.", "isin": "US5949181045", "instrument_type": "stock", "currency": "USD", "weight": 35, "market_value": 3500000 }, { "name": "Bund 2.6% 2033", "isin": "DE000BU2Z015", "instrument_type": "sovereign-bond", "currency": "EUR", "weight": 25, "market_value": 2500000 } ] }'{ "document": { "location_url": "https://cdn.datia.app/reports/report-0001.pdf", "request_id": "REQUEST-ID-0001" }, "metadata": { "snapshot_at": "2026-06-30", "type": "esg-overview", "default_benchmark": "IE00B4L5Y983", "identifier": "report-reference-0001" }}