---
title: "Get an aggregate sandbox institutional portfolio summary"
method: GET
path: "/institutional-portfolio/current/summary"
tags: ["Institutional portfolio"]
---

# Get an aggregate sandbox institutional portfolio summary

`GET /institutional-portfolio/current/summary`

## Request

- Base URL: `https://platform-api.homejourney.sg/v1`
- URL: `https://platform-api.homejourney.sg/v1/institutional-portfolio/current/summary`
- Auth: HTTP bearer

Returns a deterministic aggregate-only sandbox portfolio summary when the authenticated automation client has `portfolio.read`. External URL: `/v1/institutional-portfolio/current/summary`. Current Next.js implementation path: `/api/platform/v1/institutional-portfolio/current/summary`. This read-only route does not require `Idempotency-Key` and never exposes exact asset or unit identifiers, addresses, tenant identity, lease terms, rent or valuation amounts, vendor details, investor reports, source exports, credentials, write controls, or live portfolio integrations. Professional and data review remain required; all portfolio, lease, maintenance, capex, compliance, reporting, and export actions are explicitly deferred.

## Headers

- `X-Correlation-Id` string

## Response `200`

Minimized aggregate sandbox institutional portfolio summary.

- InstitutionalPortfolioSummaryResponse
  - `portfolio_summary` InstitutionalPortfolioSummary, required
    - `id` string, required
    - `display_label` string, required
    - `reporting_period` string, required
    - `aggregation` object, required
      - `asset_count` integer, required
      - `planning_area_count` integer, required
      - `occupancy_band` 'eighty_to_ninety_percent', required
      - `occupancy_exact_exposed` false, required
      - `asset_records_exposed` false, required
      - `unit_records_exposed` false, required
    - `lease_posture` object, required
      - `active_lease_count_band` 'twenty_to_forty', required
      - `tenant_identity_exposed` false, required
      - `lease_terms_exposed` false, required
      - `rent_amounts_exposed` false, required
      - `expiry_schedule_exposed` false, required
    - `valuation_posture` object, required
      - `coverage_status` 'professional_review_in_progress', required
      - `valuation_amounts_exposed` false, required
      - `raw_reports_exposed` false, required
      - `professional_review_required` true, required
    - `operations` object, required
      - `open_maintenance_count_band` 'one_to_five', required
      - `capex_status` 'review_required', required
      - `compliance_status` 'review_required', required
      - `vendor_identity_exposed` false, required
      - `work_order_details_exposed` false, required
    - `reporting` object, required
      - `investor_reporting_status` 'not_generated', required
      - `investor_reports_exposed` false, required
      - `source_data_export_exposed` false, required
      - `data_review_required` true, required
    - `source_attribution` object, required
      - `source_type` 'sandbox_fixture', required
      - `freshness_status` 'current', required
      - `fixture_updated_at` string, date-time, required
    - `redaction` object, required
      - `exact_addresses_exposed` false, required
      - `asset_or_unit_identifiers_exposed` false, required
      - `tenant_identity_exposed` false, required
      - `lease_terms_exposed` false, required
      - `valuation_amounts_exposed` false, required
      - `vendor_details_exposed` false, required
      - `investor_reports_exposed` false, required
      - `credentials_exposed` false, required
    - `side_effects` object, required
      - `portfolio_record_mutated` false, required
      - `lease_record_mutated` false, required
      - `maintenance_or_capex_action_created` false, required
      - `compliance_action_created` false, required
      - `investor_report_generated` false, required
      - `live_callback_sent` false, required
  - `access` object, required
    - `organization_id` string, uuid, required
    - `client_id` string, uuid, required
    - `granted_scopes` PlatformScope[], required
    - `sandbox_fixture_mode` 'aggregate_read_only', required
    - `live_portfolio_reads` 'deferred', required
    - `blocked_actions` string[], required
  - `livemode` false, required
  - `request_id` string, required

## Other responses

- `400`: Request validation failed.
- `401`: Missing or invalid platform API key.
- `403`: Credential, environment, or scope is not allowed.
- `404`: Platform API feature or resource is not available.
- `429`: Rate limit exceeded.
- `500`: Unexpected platform API failure.

---

[API](https://skmtc.dev/homejourney/apis/homejourney-platform-api.md) · [All operations](https://skmtc.dev/homejourney/apis/homejourney-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/homejourney/apis/homejourney-platform-api/revisions/a2c6fe063db1?raw)
