Reference
Filing timestamps
Point-in-time (PIT) queries filter rows using a single timestamp. The response returns the timestamp used. Set visible_by to published_at, available_at, or committed_at.
Reference page. Updated 2026-08-26 against the corpus described on coverage.
The five fields
Every row includes all five timestamp fields.
visible_by accepts three of them. The response
returns event_at and acceptance_at as
read-only fields on the row.
| Field | What it records | Query clock |
|---|---|---|
event_at |
When the underlying event happened, where the publisher states one. | No |
published_at |
The filer, publisher, or index clock. This is the default. | Yes |
available_at |
The first public availability we hold evidence for. Null where we hold none. | Yes |
acceptance_at |
SEC ACCEPTANCE-DATETIME from the filing header, converted from Eastern. It records when EDGAR accepted the submission, which is earlier than dissemination. |
No |
committed_at |
When we wrote the row. A 2026 backfill of a 2020 filing carries a 2026 committed_at. |
Yes |
acceptance_at is populated only for filings where we
fetched the EDGAR header. Most SEC rows have null. Read this field
per row. Do not assume an entire partition (one source, one day)
contains it.
visible_by
visible_by accepts published_at,
available_at, or committed_at. If empty
or omitted, it defaults to published_at. Any other
value (including event_at and
acceptance_at) returns HTTP 400 with
invalid_clock.
{
"status": "error",
"count": null,
"error": {
"code": "invalid_clock",
"message": "visible_by must be one of published_at, available_at, committed_at. Received: \"acceptance_at\"",
"param": "visible_by"
}
}
A row matches when its chosen timestamp is less than or equal to
as_of. Both timestamps use UTC and the comparison is
inclusive. For example, as_of=2023-03-10T23:59:59Z
includes a row stamped 23:59:59 on that day.
Asking for a clock the corpus does not hold
Requesting available_at for a source without
availability evidence returns HTTP 409. The response sets
count to null and includes an
availability. key under coverage.missing
that names the source and day.
$ curl -s "https://api.pit.aqx.llc/v1/sample/news?example=svb&as_of=2023-03-10T23:59:59Z&visible_by=available_at"
{
"visible_by": "available_at",
"status": "coverage_missing",
"results": [],
"count": null,
"coverage": {
"touched": ["sec.edgar/2023-03-10", …],
"missing": ["availability.sec.edgar/2023-03-10"]
}
}
All 563,594 sec.edgar rows have available_at:
null, so every strict cut over SEC data returns HTTP 409
today. Federal Register public inspection and CFTC Commitments of
Traders include this timestamp and return normal responses. See
Coverage for all refusal rules.
Where available_at comes from
availability_basis describes the evidence behind
available_at. Use this field to distinguish an actual
receipt timestamp from a published release schedule.
availability_basis | Meaning | Where it appears |
|---|---|---|
unknown |
No evidence of first availability, and available_at is null. |
All of sec.edgar, all of us.ofac.sdn, and the 2,208 Federal Register special filings. |
ofr_regular_pi |
The Office of the Federal Register's documented 08:45 America/New_York public-inspection batch. | 19,528 us.federal_register.pi rows. |
scheduled_release |
A release time the publisher states in advance. | All 1,149 us.cftc.cot rows, at 15:30 America/New_York on the release date. |
The 08:45 Eastern batch converts to 13:45Z in winter and 12:45Z in summer due to daylight saving time. During the two annual daylight saving transitions, ambiguous wall-clock times fail during ingest instead of guessing the instant.
Dates with no time
When a publisher provides only a date without a time, the system sets the timestamp to the end of that day rather than the start.
| Source | Date-only case | published_at |
|---|---|---|
sec.edgar |
Every daily-index row. The index gives Date Filed and no time. | Later of Date Filed and the index's own day, at 23:59:59Z |
us.federal_register.pi |
A special filing with no filed_at. |
Available-on date at 23:59:59Z |
If EDGAR lists a filing after its filing date, the dates differ. Across the 204 SEC index files in the corpus, 197 rows have a Date Filed earlier than the index that first listed them. These rows use the index date because that is when the filing appeared in the public feed.
Setting timestamps to the start of the day would make filings
visible before publication. For example,
2023-03-10T00:00:00Z is 19:00 on 9 March in New York.
The SVB 8-K was accepted at 17:23 Eastern on the 10th, so a
day-start timestamp would make it visible 22 hours and 23 minutes
early. Because timestamps use the end of the day, treat
published_at on date-only rows as an upper bound with
day-level resolution.
The upper bound remains within the same UTC day, so
partition_date matches the UTC date of
published_at. To query an entire day, set
as_of to 23:59:59Z or later. Earlier
cutoffs exclude all date-only rows for that day. When an intraday
timestamp exists, the system uses it instead of the day-end bound.
Examples include the Federal Register filed_at, the
08:45 public-inspection batch, and acceptance_at from
EDGAR headers.
One filing, three cuts
The SVB receivership 8-K (accession
0001193125-23-067777) has four timestamps
and produces three possible query cuts.
2023-03-10T23:59:59Z: date-only row with a day-end bound.null, with availability_basis: unknown2023-03-10T22:23:03Z: converted from ACCEPTANCE-DATETIME 20230310172303 Eastern.| Call | Result |
|---|---|
?example=svb&as_of=2023-03-09T20:00:00Z |
200 · count 0 The 8-K did not exist yet. |
?example=svb&as_of=2023-03-10T23:59:59Z |
200 · count 1 Default published_at. |
…&visible_by=available_at |
409 · count null SEC holds no availability evidence. |
You can test these three cuts on the as-of demo or review the 8-K worked example.
Two lanes
The lane field indicates how a row received its timestamp. Each
row contains one lane value, and query results never mix lanes.
certified_pit rows come from a stored, hashed
publisher document. forward_first_seen rows record
when our poller first detected the item, which may be later than
the publisher release time.
Backfill jobs set available_at to null. This field
requires proof of first public availability recorded at ingestion
time. A backfill job running in 2026 cannot verify when an item
was reachable in 2020.