API reference › Domains › Timeline
Domain timeline
/v1/domains/:id/timeline| Field | Type | Description |
|---|---|---|
| limit | number | Default 50, max 200. |
No CLI command yet — the timeline is API-only.
curl -s https://api.propgate.dev/v1/domains/019fcf7a-2b3c-7d4e-9f5a-6b7c8d9e0f1a/timeline \
-H "authorization: Bearer pg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"{
"data": [
{
"current": "pass",
"object": "record_change",
"observedAt": "2026-08-03T14:02:11.000Z",
"previous": "fail:DKIM_RECORD_MISSING",
"requirementKey": "dkim"
}
],
"error": null,
"meta": null
}Newest first. An entry is appended only when an observation actually differs from the previous one for that requirement key — a check that sees the same thing writes nothing at all. Check the same domain twice in a row and this list does not grow.
That's deliberate, not an optimisation applied later: logging every check result would be 360k rows a day at 10k domains. It cannot be retrofitted without losing history, which is why it's a property of what gets written, not of what gets queried.
What is compared is the requirement's observed state — pass, or
fail:<code> — not the raw record text. Several different record values can
satisfy one requirement identically, and comparing text would write an entry
every time a customer reordered their SPF mechanisms without changing what
it authorises.