---
title: "Observe snapshot-coupled feed updates without changing pages"
method: GET
path: "/v2/me/feed/activity"
tags: ["Social Community"]
---

# Observe snapshot-coupled feed updates without changing pages

`GET /v2/me/feed/activity`

## Request

- Base URL: `https://api.arbital.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.arbital.xyz/v2/me/feed/activity`
- Auth: HTTP bearer

Compares the current first visible page with an authenticated first-page checkpoint. This is a bounded refresh hint, not an inventory of all changes: changes below the first page may be missed. Keep the accepted baseline while showing the hint; new_checkpoint is an observation, never an acknowledgment. Pagination pages return null checkpoints. Required source failure returns 503 rather than a false quiet result. Checkpoints bind scope, filters and viewer and expire after 15 minutes (410); legacy cf1_ checkpoints also require refresh. The social endpoint accepts discovery/native_posts; the me endpoint accepts friends/watching. Probes never mark items read.

## Query parameters

- `checkpoint` string, required

## Response `200`

Frozen feed evidence with current authorized content

- SocialFeedActivity
  - `has_new_activity` boolean, required: Whether the current first visible page differs from the baseline. Changes outside that bounded page may not be detected until they reach the head.
  - `new_item_count` integer, nullable, required
  - `new_checkpoint` string, required
  - `refresh_action` 'request_first_page', required
  - `sources` SocialCombinedSourceStatus[], required
    - `stream_id` 'application' | 'fomo_posts' | 'pump_posts' | 'x_posts', required
    - `state` 'healthy' | 'pending' | 'delayed' | 'paused' | 'partial' | 'unavailable' | 'unsupported' | 'unknown', required
    - `reason` string, nullable, required
    - `coverage` object, required
      - `state` 'complete_for_scope' | 'limited' | 'not_monitored' | 'unknown', required
      - `scope` string, required
      - `description_code` string, nullable, required
    - `last_collection_success_at_ms` string, nullable, required: Last confirmed provider collection success, independently of content or generation updates. Null when collection evidence is unavailable or not applicable.
    - `last_successful_update_at_ms` string, nullable, required: Last successful imported content write, or application capture whose content, membership or interaction fingerprints changed. Quiet snapshot rebuilds and reads do not advance this clock. Null means no successful update is known.
    - `last_attempt_at_ms` string, nullable, required
    - `observed_at_ms` string, required
    - `data_as_of_ms` string, nullable, required
    - `cache` object, required
      - `usable` boolean, required
      - `age_ms` string, nullable, required
    - `retry_after_ms` integer, nullable, required

## Other responses

- `400`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `401`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `410`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `429`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.
- `501`: A required capability is unavailable; no sample fallback
- `503`: Stable machine-readable problem. HTTP 429 and 503 responses include retry and cache-validity fields plus Retry-After and X-Request-ID headers.

---

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