---
title: "Get one session's memory ingestion outcome and attributed facts"
method: GET
path: "/v1/memory/sessions/{session_id}/memories"
tags: ["memory"]
---

# Get one session's memory ingestion outcome and attributed facts

`GET /v1/memory/sessions/{session_id}/memories`

## Path parameters

- `session_id` string, uuid, required

## Response `200`

Successful Response

- SessionMemoriesResponse — Per-session memory ingestion outcome and attributed facts (customer-facing). ``state`` = ConvSessionMeta.memory_sync_state (pending/synced/skipped/suppressed). ``status`` / ``message_count`` / ``synced_at`` come from the latest ``sync_session`` MemoryAuditLog row for the session (None/0 if never synced). ``facts`` / ``facts_status`` are populated by a live vendor read when the session is synced.
  - `session_id` string, uuid, required
  - `state` 'pending' | 'synced' | 'skipped' | 'suppressed', required
  - `status` string, nullable
  - `message_count` integer
  - `synced_at` string, date-time, nullable
  - `created_at` string, date-time, nullable
  - `facts` MemoryFactResponse[]
    - `fact` string, required
    - `name` string, nullable
    - `valid_at` string, nullable
    - `invalid_at` string, nullable
    - `id` string, uuid, nullable
    - `source_session_id` string, uuid, nullable
  - `facts_status` 'ready' | 'unavailable'

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `404` — Memory feature not deployed, or session not found
- `422` — Validation Error

## Changes

- **2026-08-12** `5a5597ebb2d6` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/oneloop-hq/apis/feather-api/changes/v1/memory/sessions/:session_id/memories/get.md)

---

[API](https://skmtc.dev/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.dev/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
