---
title: "Read imported thesis position history"
method: GET
path: "/v2/social/theses/{event_id}/position-history"
tags: ["Social Community"]
---

# Read imported thesis position history

`GET /v2/social/theses/{event_id}/position-history`

## 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/social/theses/{event_id}/position-history`
- Auth: HTTP bearer

Requires Privy bearer authentication. Reads prepared external Fomo/Pump thesis results through the authenticated indexer SocialQuery service; never fetches Codex history on the request. The event_id is the backend public thesis UUID, not the provider post ID. Rechecks current post/profile visibility and provider wallet association on every page. Initial supported coverage is unambiguous non-native Solana wallet/token positions. Current status older than five minutes becomes unknown while previously observed closed cycles remain. Cursors are opaque, bound to this thesis and the observation revision; a changed revision returns 400 and the client must restart without a cursor. An unavailable or older indexer without this RPC returns 503, never an empty successful history. Results are gross provider estimates with unavailable fees and must not authorize portfolios or trading. request_status distinguishes pending acquisition, retry scheduling, available observations, and terminal unavailable results. This GET never creates or prioritizes work.

## Path parameters

- `event_id` string, uuid, required

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

Retained position cycles visible to the authenticated viewer.

- ExternalSocialPositionHistoryPage: Read-only indexer social position observations. Unknown/stale current status may retain previously observed closed cycles. These results never supply portfolio balances, quote eligibility, transaction authority, or tax basis. Wallet addresses are not exposed.
  - `source` 'codex', required
  - `calculation_status` 'provider_estimate', required
  - `fees_status` 'unavailable', required
  - `asset` object, required
    - `chain_id` 'solana:mainnet-beta', required
    - `address` string, required
    - `decimals` integer, nullable, required
  - `lifecycle` object, required
    - `state` 'open' | 'closed' | 'unknown', required
    - `reason` string, nullable, required
    - `observed_at_ms` integer, nullable, required
    - `freshness` 'fresh' | 'stale', required
    - `calculation_version` string, required
    - `current_quantity_atomic` string, nullable, required
  - `items` ExternalSocialPositionCycle[], required
    - `id` string, required
    - `state` 'open' | 'closed', required
    - `opened_at_ms` integer, required
    - `closed_at_ms` integer, nullable, required
    - `bought_quantity_atomic` string, required
    - `sold_quantity_atomic` string, required
    - `remaining_quantity_atomic` string, required
    - `realized_pnl_usd` string, nullable, required
    - `cost_basis_usd` string, nullable, required
    - `proceeds_usd` string, nullable, required
    - `includes_thesis` boolean, required
  - `next_cursor` string, nullable, required
  - `request_status` ExternalSocialPositionRequestStatus, required: Explicit computation status. unavailable identifies an unsupported or terminally unresolved observation; an empty items array alone is not a work signal. queued/running/retry_scheduled are pending. Observe Retry-After; GET never queues work.
    - `state` 'available' | 'queued' | 'running' | 'retry_scheduled' | 'unavailable', required
    - `reason` string, nullable, required
    - `retry_after_seconds` integer, 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.
- `404`: 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.
- `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)
