---
title: "Probe portfolio changes (read-only)"
method: GET
path: "/v1/portfolios/{id}/changes"
tags: ["Portfolios"]
---

# Probe portfolio changes (read-only)

`GET /v1/portfolios/{id}/changes`

## Request

- Base URL: `https://api.onegoodarea.com`
- URL: `https://api.onegoodarea.com/v1/portfolios/{id}/changes`
- Auth: HTTP bearer

Read-only variant of POST /changes. Detects material signal changes for tracked areas without triggering webhooks. Use this for dashboards and previews; use POST when you want the side-effects.

## Path parameters

- `id` string, required

## Query parameters

- `cause` string

## Response `200`

Default Response

- object
  - `portfolio_id` string, required
  - `baseline` 'previous' | 'first', required
  - `threshold_pct` number, required
  - `min_transactions` number, required
  - `areas_checked` number, required
  - `material_count` number, required
  - `causes` string[], required
  - `changes` object[], required
    - `signal_key` string, required
    - `label` string, required
    - `area` string, required
    - `geo_code` string, required
    - `period_from` string, required
    - `period_to` string, required
    - `value_from` number, required
    - `value_to` number, required
    - `delta` number, required
    - `pct_change` number, required
    - `direction` 'up' | 'down' | 'flat', required
    - `material` boolean, required
    - `cause` 'source' | 'method' | 'source_and_method', required
    - `method_releases` string[], required
    - `engine_version_from` string, required
    - `engine_version_to` string, required
  - `generated_at` string, date-time, required

## Other responses

- `400`: Default Response
- `404`: Default Response
- `500`: Default Response

---

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