---
title: "Get Graph"
method: GET
path: "/api/mind/v2/perspective/{identity_id}/graph"
tags: ["mind-v2"]
---

# Get Graph

`GET /api/mind/v2/perspective/{identity_id}/graph`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/mind/v2/perspective/{identity_id}/graph`
- Auth: none declared

## Path parameters

- `identity_id` string, uuid, required

## Query parameters

- `limit` integer, nullable
- `include_content` boolean

## Headers

- `x-impersonate-identity-id` string, nullable

## Response `200`

Successful Response

- V2GraphPayload
  - `entities` V2Entity[], required
    - `id` string, uuid, required
    - `kind` string, required
    - `summary` string, required
    - `content` object, required
    - `identity_id` string, uuid, nullable, required
    - `external_ref` string, nullable, required
    - `scope_kind` string, required
    - `owner_mind_id` string, uuid, nullable, required
    - `created_at` string, date-time, required
    - `display_name` string, nullable
    - `position` V2Position: Stored mind-graph coordinate (TOS-518). Null until the layout pass runs.
      - `x` number, required
      - `y` number, required
      - `z` number, required
    - `avatar_url` string, nullable
    - `identity_kind` string, nullable
    - `references` number, nullable
  - `propositions` V2Proposition[], required
    - `id` string, uuid, required
    - `subject_entity_id` string, uuid, nullable, required
    - `predicate` string, nullable, required
    - `object_entity_id` string, uuid, nullable, required
    - `claim_key` string, nullable, required
    - `summary` string, required
    - `content` object, required
    - `source` string, required
    - `created_at` string, date-time, required
    - `evaluation` V2MindEvaluation, required
      - `id` string, uuid, required
      - `confidence` number, required
      - `salience` number, required
      - `decay_rate` number, required
      - `valence` number, required
      - `arousal` number, required
      - `confirmed` boolean, required
      - `protection_level` 'none' | 'seeded' | 'user_confirmed' | 'system_consolidated' | 'system_stable' | 'locked', required
      - `layer` 'core' | 'reinforced' | 'transient', required
      - `importance` number, nullable
      - `created_at` string, date-time, required
      - `constitution_pinned` boolean
      - `lifecycle_status` 'active' | 'contradicted' | 'superseded' | 'archived' | 'pending_review', required
      - `source_type` 'declared' | 'extracted' | 'inferred' | 'observed' | 'consolidated' | 'constitutional' | 'external_observed' | 'imported', required
      - `reinforcement_count` integer, required
      - `last_reinforced_at` string, date-time, required
      - `last_challenged_at` string, date-time, nullable, required
      - `activation_count` integer
      - `usage_count` integer
      - `last_stated_at` string, date-time, nullable
      - `last_recalled_at` string, date-time, nullable
      - `last_activated_at` string, date-time, nullable
    - `source_chat` V2PropositionSourceChat: Source-conversation provenance for an extracted proposition. TOS-256 introduced this for external captures only; TOS-615 P3 unified it across both conversation kinds: - ``kind="external"``: the backing chat arrived through an external ingest adapter (non-null ``chats.source``). ``source`` / ``source_external_id`` drive the connected-integrations session back-link, exactly as before. - ``kind="in_app"``: a normal thinqOS chat. ``chat_id`` / ``chat_title`` drive the Evidence panel's deep link to the conversation; they are populated ONLY when the caller is a participant of that chat (active or left). Non-participant callers get ``source_chat=null`` instead. ``display_label`` is the chat's default agent identity display name (e.g. ``"Claude Code"``) - convenient for rendering without a second lookup. ``window_seq`` is the source turn's 1-based position within the chat. ``occurred_at`` is the created_at of the earliest live assert_proposition event - "when this was learned".
      - `kind` string
      - `source` string, nullable
      - `source_external_id` string, nullable
      - `instance_id` string, nullable
      - `display_label` string, nullable
      - `label` string, nullable
      - `window_seq` integer, nullable
      - `chat_id` string, nullable
      - `chat_title` string, nullable
      - `occurred_at` string, date-time, nullable
    - `position` V2Position: Stored mind-graph coordinate (TOS-518). Null until the layout pass runs.
      - `x` number, required
      - `y` number, required
      - `z` number, required
    - `about` string, nullable
    - `status` string, nullable
  - `holdings` V2Holding[], required
    - `id` string, uuid, required
    - `kind` 'goal' | 'preference' | 'working_thought' | 'procedure' | 'task' | 'lesson', required
    - `summary` string, required
    - `content` object, required
    - `confidence` number, required
    - `salience` number, required
    - `decay_rate` number, required
    - `lifecycle_status` 'active' | 'contradicted' | 'superseded' | 'archived' | 'completed' | 'abandoned' | 'provisional' | 'lapsed', required
    - `layer` 'core' | 'reinforced' | 'transient', required
    - `created_at` string, date-time, required
    - `position` V2Position: Stored mind-graph coordinate (TOS-518). Null until the layout pass runs.
      - `x` number, required
      - `y` number, required
      - `z` number, required
    - `status` string, nullable
  - `edges` V2Edge[], required
    - `kind` 'mind_edge' | 'proposition_relation' | 'about', required
    - `type` string, required
    - `weight` number, required
    - `source_kind` string, nullable
    - `source_id` string, uuid, required
    - `target_kind` string, nullable
    - `target_id` string, uuid, required
    - `edge_source` string, nullable
  - `themes` V2Theme[]
    - `id` string, uuid, required
    - `label` string, required
    - `summary` string, required
    - `member_count` integer, required
    - `created_at` string, date-time, required
  - `theme_members` V2ThemeMember[]
    - `theme_id` string, uuid, required
    - `ref_kind` 'proposition' | 'mind_holding' | 'entity', required
    - `ref_id` string, uuid, required
    - `affinity` number, required
  - `documents` V2DocumentNode[]
    - `id` string, uuid, required
    - `title` string, required
    - `usage_count` integer, required
    - `segment_count` integer, required
    - `created_at` string, date-time, required
  - `document_links` V2DocumentLink[]
    - `document_id` string, uuid, required
    - `ref_kind` 'theme' | 'entity', required
    - `ref_id` string, uuid, required
    - `similarity` number, required
  - `user_facts` V2UserFact[]
    - `id` string, uuid, required
    - `subject_identity_id` string, uuid, required
    - `key` string, required
    - `value` string, required
    - `confidence` number, nullable
    - `source_chat_id` string, uuid, nullable
    - `version` integer, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `applied_limit` integer, nullable
  - `total_counts` V2GraphCounts: TOS-471: total active facet counts for the Mind, independent of the render cap, so the UI can show "showing N of TOTAL". A null field means the total was unavailable this call; the UI should then show only the rendered count rather than a wrong total.
    - `propositions` integer, nullable
    - `holdings` integer, nullable
  - `edges_truncated` boolean

## Other responses

- `422`: Validation Error

---

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