---
title: "Get contact memory"
method: GET
path: "/api/v1/contacts/{id}/memory"
---

# Get contact memory

`GET /api/v1/contacts/{id}/memory`

## Request

- Base URL: `https://memchats.com`
- URL: `https://memchats.com/api/v1/contacts/{id}/memory`
- Auth: HTTP bearer

While the initial sweep is running the sheet is returned as it stands, with `partial: true` and the live counter in `importing`. A half-built memory is useful and is labelled rather than hidden; the alternative was showing it as if it were finished.

## Path parameters

- `id` integer, required

## Response `200`

Full memory: traits, timeline, commitments, and the verdicts it adds up to, plus `partial` and `importing`

- object
  - `partial` boolean: True while the sweep is still running. Same fact as `importing !== null`.
  - `importing` ImportingStatus, nullable: Non-null while the initial memory sweep of this contact is running. `phase` alternates between reading a stretch of conversation and filing what was found in it; a pass is about a minute, which is why both are published.
    - `processed` integer: Messages read so far.
    - `total` integer: Messages this sweep will read.
    - `passIndex` integer
    - `passCount` integer
    - `phase` 'reading' | 'writing'
    - `passRange` object, nullable: The stretch of conversation the current pass covers.
      - `fromMessageId` integer
      - `toMessageId` integer
      - `fromAt` string, date-time
      - `toAt` string, date-time
      - `messages` integer
    - `startedAt` string, date-time
    - `updatedAt` string, date-time: Last heartbeat. `startedAt` alone cannot tell a sweep that is working from one whose worker died.

## Other responses

- `404`: Contact not found

---

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