---
title: "What moved among the places a portfolio holds"
method: GET
path: "/v1/portfolios/{id}/feed"
tags: ["Portfolios"]
---

# What moved among the places a portfolio holds

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

## Request

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

One entry per stored signal of a held place that a completed refresh changed since `since`, with the value, confidence and national decile before and after, the refresh that recorded it, and both clocks (the data's period and our recording instant). Kept when the value moved by at least threshold_pct at or above min_confidence, the confidence fell, or the decile changed. Pages follow the refresh ledger: pass next_after back as after until it is null. Re-cuts of held places are listed on the first page. No entry is produced for a place the portfolio does not hold.

## Path parameters

- `id` string, required

## Query parameters

- `since` string
- `after` integer
- `limit` integer
- `threshold_pct` number
- `min_confidence` number
- `cause` string

## Response `200`

Default Response

- object
  - `portfolio_id` string, required
  - `since` string, date-time, required
  - `threshold_pct` number, required
  - `min_confidence` number, required
  - `causes` string[], required
  - `places_held` integer, required
  - `areas_without_place` integer, required
  - `entries` object[], required
    - `cursor` integer, required
    - `place` object, required
      - `place_id` string, required
      - `place_type` 'country' | 'nation' | 'region' | 'district' | 'group' | 'neighbourhood', required
      - `name` string, required
      - `country` string, required
      - `nation` string, required
    - `areas` string[], required
    - `signal_key` string, required
    - `category` string, required
    - `label` string, required
    - `unit` string, required
    - `direction` string, required
    - `run` object, required
      - `id` string, required
      - `source` string, required
      - `completed_at` string, date-time, required
    - `observed_period` string, required
    - `period` object
      - `start` string, required
      - `end` string, required
    - `period_basis` 'reference' | 'load'
    - `released_at` string
    - `loaded_at` string, date-time
    - `retrieved_at` string, date-time
    - `recorded_at` string, date-time, required
    - `before` object, required
      - `period` string, required
      - `value` number, required
      - `confidence` number, required
      - `band` integer, required
    - `after` object, required
      - `period` string, required
      - `value` number, required
      - `confidence` number, required
      - `band` integer, required
    - `delta` number, required
    - `pct_change` number, required
    - `movement` 'up' | 'down' | 'flat' | 'first', required
    - `flags` object, required
      - `value_moved` boolean, required
      - `confidence_dropped` boolean, required
      - `band_crossed` boolean, required
    - `cause` 'source' | 'method' | 'source_and_method', required
    - `method_releases` string[], required
    - `engine_version_from` string, required
    - `engine_version_to` string, required
  - `successions` object[], required
    - `from` object, required
      - `place_id` string, required
      - `place_type` 'country' | 'nation' | 'region' | 'district' | 'group' | 'neighbourhood', required
      - `name` string, required
      - `country` string, required
      - `nation` string, required
    - `to` object, required
      - `place_id` string, required
      - `place_type` 'country' | 'nation' | 'region' | 'district' | 'group' | 'neighbourhood', required
      - `name` string, required
      - `country` string, required
      - `nation` string, required
    - `areas` string[], required
    - `change_kind` 'split' | 'merge' | 'irregular', required
    - `share` number, required
    - `effective_on` string, required
    - `recorded_at` string, date-time, required
    - `source` string, required
  - `next_after` integer, required
  - `complete_through` string, date-time, required
  - `notes` string[], required
  - `meta` object, required
    - `engine_version` string, required
    - `generated_at` string, required

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `404`: Default Response
- `429`: 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)
