---
title: "What is ingestion time?"
description: "Ingestion time is when a system received a piece of data, distinct from the event time of what it describes. Definition, uses, and a backfill example."
canonical: https://past.dev/glossary/ingestion-time
last-updated: 2026-09-02
---
# What is ingestion time?

Source: https://past.dev/glossary/ingestion-time

Ingestion time is the moment a system received a piece of data, recorded separately from when the underlying event happened. A 2024 email imported during a 2026 backfill has a 2026 ingestion time and a 2024 event time. Systems record ingestion time to answer audit questions about what was known and when it was learned. It also marks batch boundaries, so a faulty import can be found and removed.

## What ingestion time captures

Ingestion time is stamped by the receiving system's clock at the moment data arrives. It says nothing about when the described events happened. It answers a different question: when this system first held this information.

- **Assigned by the system**: the receiver's clock, at arrival. The source has no influence on it.
- **Never backdated**: a backfill of 2024 records run in 2026 gets 2026 ingestion times.
- **One per arrival**: re-importing the same record produces a new ingestion time; the event time stays fixed.

## Why it matters for AI agents

Ingestion time supports questions about the system rather than the world: what the agent knew on a given date, which import introduced a wrong fact, and what changed between two syncs. Audit and debugging both run on this axis.

It is the wrong axis for reasoning about the world. An agent that treats arrival as occurrence misdates every backfilled record. [Event time](/glossary/event-time) carries that job, and systems that keep both axes are [bitemporal](/glossary/bitemporal-memory). past.dev asks for the source's own timestamp at ingest, so recalled facts are dated by event time rather than by when the record arrived.

## Ingestion time in practice

On June 10, 2026 a team imports two years of email history. One message, sent November 18, 2024, announces a Basel office closure.

| Fact about the record | Axis | Value |
| --- | --- | --- |
| Date of the announcement | Event time | November 18, 2024 |
| Date the system learned it | Ingestion time | June 10, 2026 |
| Import that introduced it | Ingestion time | The June 10 backfill batch |

If the import proves faulty, ingestion time identifies everything that arrived in that batch so it can be removed together. See [event time vs ingestion time](/guides/event-time-vs-ingestion-time) for choosing the axis per query.

## Related concepts

- **[Event time](/glossary/event-time)**: when the described event happened in the world.
- **[Bitemporal memory](/glossary/bitemporal-memory)**: keeping both timelines queryable.
- **[Point-in-time recall](/glossary/point-in-time-recall)**: as-of queries on either axis.
- **[Audit trail](/glossary/audit-trail)**: reconstructing what was known at a moment, which needs ingestion time.
- **[Data provenance](/glossary/data-provenance)**: where a record came from; ingestion time is one field of it.

## Frequently asked questions

### Is ingestion time the same as a created_at timestamp?

For the receiving system, usually yes: created_at on the stored row records arrival there. Confusion starts when a pipeline copies data through several systems and each stamps its own created_at. Ingestion time should mean arrival at the system doing the reasoning.

### Why keep ingestion time if event time is what matters?

The two answer different questions. Event time dates the world; ingestion time dates the system's knowledge, which is what audits, debugging, and reproducing past behavior need.

### What happens when a backfill imports old data?

Every imported record gets the backfill date as its ingestion time and keeps its original event time. A system that stores only ingestion time misdates the entire backfill as current news.

## Related

- [Event time](https://past.dev/glossary/event-time)
- [Point-in-time recall](https://past.dev/glossary/point-in-time-recall)
- [Event time vs ingestion time](https://past.dev/guides/event-time-vs-ingestion-time)
- [Memory API quickstart](https://past.dev/docs/memory-api/quickstart)
- [Benchmark methodology](https://past.dev/benchmarks/methodology)