Every broker and every folio in one portfolio.
Consolidated portfolio
GET /v1/portfolio fans out across every broker connection on the key, whatever the provider, folds in the mutual funds from the imported CAS, and returns one portfolio deduplicated by ISIN. The same stock held at three brokers is one position with a per-broker breakdown, not three rows. Allocation, concentration and a 0-100 score come back in the same call, and a broker whose daily token expired is reported as a failed source rather than quietly dropped from the totals.
Endpoints
Every endpoint shares auth, idempotency, consent and metering hooks, a unified error envelope, and a hash-chained audit trail.
Every linked broker plus the imported CAS in one view: holdings deduplicated by ISIN, totals, P&L, allocation, concentration and score. One call, whatever the brokers.
The same stock held at three brokers comes back as ONE position, with a per-broker contributions breakdown. Filter to equity, mutual funds, ETFs or bonds.
Weights by asset class and by broker, plus the concentration a plain P&L screen hides: largest holding, top-5 weight, HHI and effective holdings.
A 0-100 structural health score that always ships its own reasons: breadth, concentration, asset mix and standing, each with its weight and a plain-language note.
How it works
From signup to a live Consolidated portfolio call in four steps.
Create a free account
Sign up and get a prefunded sandbox key in seconds. No card required.
Unlock the rail
Grant the scope on a sandbox key instantly. Live use unlocks after business verification.
Make your first call
Send the sample request to /v1/portfolio with your sandbox key and read back live JSON.
Go live
Swap the sandbox key for a live key. Every call is metered, itemized, and audit-chained.
Call consolidated portfolio
The flagship call for this rail. Swap the sandbox key for your own and you are live.
Developer ready
Docs, MCP, and a prompt that does the work
Every rail ships with an integration guide, an MCP server for AI agents, and a ready-to-paste prompt, so your first Consolidated portfolio call takes minutes, not days.
Integration guide
The quickstart covers keys, auth, idempotency, the error envelope, and paise money units. The catalog documents every Consolidated portfolio endpoint with a live sample you can run from the playground.
MCP server for AI agents
grappi-mcp exposes the API as agent tools over the same gateway, so every tool call keeps auth, consent, metering, and audit. Drop this into your MCP client config.
{
"mcpServers": {
"grappi": {
"command": "npx",
"args": ["grappi-mcp"],
"env": {
"GRAPPI_API_BASE": "https://api.grappi.in",
"GRAPPI_API_KEY": "sk_sandbox_••••"
}
}
}
}Prompt-ready integration
Paste this into Claude, Cursor, or any coding agent. It carries the real contract rules, so the generated client matches the gateway on the first try.
Integrate the Grappi Consolidated portfolio API into my app. Endpoints: - GET /v1/portfolio (Consolidated portfolio) - GET /v1/portfolio/holdings (Deduplicated holdings) - GET /v1/portfolio/allocation (Allocation + concentration) - GET /v1/portfolio/score (Portfolio score) Contract rules: send the key as the x-api-key header, treat all money as integer paise (₹1.00 = 100), send an Idempotency-Key on every POST, and branch on the error envelope error.code (handle 402 insufficient_balance, 403 consent_required, 422 validation_failed, 429 rate_limited). Write a small typed client for these endpoints plus one worked call, with validation and error handling, in my project's language.
Frequently asked questions
Can I try it for free?
Yes. Signing up creates a sandbox key, so you can call this rail immediately without a card. Sandbox calls run against test data, not production.
What comes with every endpoint?
Auth, idempotency, consent and metering hooks, a unified error envelope, and a hash-chained audit trail — identical across every rail on the platform.
What do I need to go live?
Verified business. Grantable in sandbox, live use needs KYB. Once live, the same key and the same contract carry over from sandbox.
Is this compliant for regulated use?
Reads are consent-bound and DPDP and RBI-AA aligned. Every call lands in a hash-chained audit trail, and regulated rails stay locked until an access request is approved.
Related products
Other rails on the verified business tier.
Get started
Start building with Consolidated portfolio
Create a free sandbox account, get a prefunded key, and call Consolidated portfolio on the same contract as every other rail.
- Instant sandbox key, no card required
- One key works across every rail
- Open rails are live the moment you sign up

