---
title: "Fetch the mind-graph visualization data of an AI consciousness."
method: POST
path: "/v1/get_mind_cluster"
tags: ["Insights"]
---

# Fetch the mind-graph visualization data of an AI consciousness.

`POST /v1/get_mind_cluster`

## Request

- Base URL: `https://partner.mindupload.app`
- URL: `https://partner.mindupload.app/v1/get_mind_cluster`
- Auth: API key in header `X-Partner-Key`

## Request body

- object
  - `preferred_language` string, nullable: BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages.
  - `username` string, nullable: The end-user's username.
  - `password` string, nullable: The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage.
  - `codename` string, nullable: Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone.
  - `node_id` string, nullable
  - `texts_offset` integer, nullable
  - `texts_page_size` integer, nullable
  - `force_rebuild` boolean, nullable

## Response `200`

Result envelope — check the success field.

- object
  - `success` boolean: Whether the call succeeded.
  - `error_message` string, nullable: Human-readable reason when success is false.
  - `error_code` string
  - `root_node_id` string, nullable
  - `node` object, nullable
  - `children` object[], nullable
  - `texts` object[], nullable
    - `text_id` string, required
    - `text` string, required
    - `type` string, required
    - `created_at` integer, nullable, required
    - `updated_at` integer: Opaque freshness watermark to send back as `known_updated_at` on the next poll.
    - `multimedia_ids` string[]
    - `reading_provenance` object
      - `content_state` 'checked_candidate' | 'owner_edited', required
      - `memory_kinds` string[], required
      - `sources` object[], required
        - `source_kind` 'page' | 'media', required
        - `title` string
        - `url` string: Where the attachment is — the `media_url` an upload returned, or an external link. Echoed back in the result so you can match each entry to what you sent.
        - `media_id` string
        - `source_id` string, required
  - `total_texts` integer, nullable
  - `texts_offset` integer, nullable
  - `has_more_texts` boolean, nullable
  - `is_building` boolean, nullable

## Other responses

- `400`: Invalid request payload.
- `401`: Missing or invalid partner key.
- `403`: Partner is not authorized for this operation.
- `429`: Rate limit exceeded — retry later.
- `500`: Internal server error.

---

[API](https://skmtc.dev/mindupload/apis/mind-upload-partner-api.md) · [All operations](https://skmtc.dev/mindupload/apis/mind-upload-partner-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mindupload/apis/mind-upload-partner-api/revisions/0371bdf78533?raw)
