Introduction
The LP Reporting API exposes every part of the Report Studio as HTTP endpoints: create a fund report, configure it, pull the computed numbers as JSON, and render the investor statement. The Renesis Report Workspace is itself a client of these endpoints, so anything the product can do, your integration can do. Two endpoints do most of the work:GET /api/funds/{report_id}/configreturns the report’s configuration (fund identity, period, strategies, fees, content, branding).GET /api/funds/{report_id}/computedreturns the numbers (NAV, returns, risk, fees by month, holdings, allocations) as JSON floats, the same values that get baked into the rendered statement.
/computed is the endpoint to build against. /config is configuration, /computed is computed metrics; never derive one from the other.
If you don’t need a report at all, just the portfolio’s current value as one number (on-chain NAV publishing, attestation workflows, scheduled pulls), skip the report endpoints entirely and use the Portfolio NAV endpoint.
Numbers come from the same portfolio ledger that drives the Renesis dashboard. If the dashboard NAV is wrong,
/computed will be wrong. Fix the ledger first (re-reconcile the affected wallet or account), then re-read.Base URL
- Production:
https://api.renesis.fi
/lp-report-studio prefix. For other environments, contact your administrator.
Throughout this reference, paths are written relative to that prefix. GET /api/funds means:
Authentication
All endpoints authenticate with a Renesis API key (prefixak_), passed in the X-API-Key header. Create and manage keys from your user page in the dashboard; the secret is shown only once at creation, so copy it then.
/lp-report-studio prefix to call these endpoints. Keep keys secret and server-side.
A Keycloak bearer token works everywhere the API key does (Authorization: Bearer <token>). That is the path in-app sessions use; for a server-to-server integration prefer the API key, since it has no session to keep alive.
Gateway rejections
Key verification happens at the gateway, before the service is reached, and uses its own error envelope:Permissions
Every endpoint on this service requires the caller to hold one of theadmin, trader, or pms_user roles. On top of that, endpoints scoped to a {report_id} enforce per-report access:
GET /api/funds filters to the reports the caller can read, so it is safe to call as a discovery step.
Rendering counts as a write operation. A recipient with read access can download an already-rendered statement through GET /output/{filename}, but cannot trigger a new render.
Resource model
Response format
Every JSON endpoint on this service returns anok boolean alongside its payload:
error or message, whichever is present. The LP Portal endpoints use the isError envelope throughout.
Status codes
Quickstart
Discover a report, read its numbers, render the statement.Health
pg and mongo booleans. The top-level ok is always true and does not reflect dependency health.
Configuration
Create reports, read and patch the unified config, upload logos, detect vault strategies, reuse templates. Includes the validation rules that are not enforced for you.
Computed metrics
The full JSON shape behind every number on the statement, with sign, null, and unit semantics. Build dashboards against this.
Rendering
Render the statement, preview unsaved edits, download the output, and handle render-time validation failures.
Position Groups
Group raw positions into named strategies, and read their combined value, P&L and history.
Portfolio NAV
Pull a portfolio’s current NAV as one number, in your chosen currency, for scheduled pulls and on-chain publishing.
LP Portal
Per-investor endpoints: investors, capital events, share accounting, and the endpoints an LP user can call directly.

