---
title: "List a profile's sources, most recently written first"
method: GET
path: "/ai/memory/namespaces/{namespace}/profiles/{profile_id}/sources"
tags: ["Sources"]
---

# List a profile's sources, most recently written first

`GET /ai/memory/namespaces/{namespace}/profiles/{profile_id}/sources`

Everything a profile has stored and extracts memories from: each ingested session, and each remembered fact, which has no session. Content is not listed; read one source for it. A source whose ingest is still queued is not here yet. Re-ingesting a session moves it to the front, so a listing paged while sessions are written can repeat or miss one at a page boundary. A `session_id` narrows the listing to the source that session was stored as: one source or none, and none -- an empty page, not a 404 -- for a session never ingested, still queued, or another profile's.

## Path parameters

- `namespace` string, required
- `profile_id` string, required

## Query parameters

- `session_id` string, nullable
- `page[number]` integer
- `page[size]` integer

## Response `200`

Successful Response

- SourceListResponse
  - `data` Source[], required
    - `id` string, required — Identifies one source within its profile: an ingested session, or one remembered fact. Returned by `ingest` and `remember` when the write is accepted. Re-ingesting a session keeps its source id.
    - `session_id` string, nullable, required — The session this source was ingested as. Null for a remembered fact.
    - `memory_count` integer, required — Memories extracted from this source. A memory derived from several sources is not counted here.
    - `created_at` string, nullable — When the source was first stored.
    - `updated_at` string, nullable — When the source was last written; re-ingesting moves it.
  - `meta` PageMeta, required — Where a listing's page sits in the whole. A page is a snapshot: the counts it reports and the order it is drawn in both move as writes land, so paging through a busy namespace can repeat or miss an entry at a page boundary.
    - `page_number` integer, required — The page returned, counting from 1.
    - `page_size` integer, required — How many results a page holds.
    - `total_pages` integer, required — Pages that can be requested; 0 when nothing matched. Page until `page_number` reaches it rather than until a page comes back short: a page can hold fewer than `page_size` results without being the last. Capped at the deepest page served, so on a very large listing it covers fewer results than `total_results`.
    - `total_results` integer, required — Results the request matched, including any past the deepest page.

## Other responses

- `401` — Unauthorized
- `404` — The namespace does not exist
- `422` — Invalid request
- `502` — Upstream error

## Changes

> 99 revisions in range; 1 not diffed.

- **2026-09-25** `88481995b4ca` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/ai/memory/namespaces/:namespace/profiles/:profile_id/sources/get.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/revisions/227c33b1ac9c?raw)
