> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tckg.factagora.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Look up ids

> POST /v1/memories/lookup. Whether each id is in the ledger now, whatever its validity, with when it became known.

Use it before a reload to skip ids already written. It answers "is it in the ledger", not "does it hold at an instant": a block whose `valid` interval closed is still `present`. For what was visible at an instant, read with [`GET /v1/memories?id=`](/api-reference/list-memories). No `as_of`: the answer is the ledger as of this request.

## Body

<ParamField body="ids" type="string[]" required>
  Up to 10000 ids. Ids with `/` or `?` are fine here. Duplicates are answered once.
</ParamField>

<ParamField body="space" type="string">
  Only rows of this space count; a block of another space is not `present`.
</ParamField>

## Response

<ResponseField name="items" type="object[]">
  One per distinct id, in id order: `id`, `present`, `known_at` (when the id first became known: `captured_at`, or the declared instant of its backfill batch), `backfill_batch` (that row's batch, or null). `known_at` and `backfill_batch` are null when `present` is false.
</ResponseField>

<CodeGroup>
  ```bash Request theme={null}
  curl -s -X POST "$TCKG/v1/memories/lookup" -H 'content-type: application/json' \
    -d '{"ids": ["c1", "never-written"]}'
  ```

  ```json Response theme={null}
  {"items": [
    {"id": "c1", "present": true, "known_at": "2026-10-03T07:12:41.183412+00:00", "backfill_batch": null},
    {"id": "never-written", "present": false, "known_at": null, "backfill_batch": null}]}
  ```
</CodeGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.