last_checked parameter is DocketLayer’s change detection mechanism. Supply it on any query and the response includes a delta block containing every new filing since that timestamp. Without it, the response contains case context only — no delta block is returned.
How it works
Managing last_checked correctly
Always usemeta.queried_at as your next last_checked. Do not use the current system time or the timestamp of the latest filing.
meta.queried_at ensures:
- No gap between queries — you never miss a filing that occurred while your code was running
- No clock skew — the server’s timestamp is authoritative
- Correct timezone handling —
queried_atis always ISO-8601 with a timezone offset
Timestamp format
last_checked must be an ISO-8601 timestamp with a timezone offset. A bare date or a timestamp without offset is rejected with 400.
last_checked value in the future is also rejected with 400.
Filing type filtering
Usefiling_types to narrow the delta to specific event categories:
order and judgment entries appear in new_filings. Other filings are not returned in the delta, but the case context is always returned in full regardless of the filter.
Common filing type values: complaint, motion, order, judgment, notice, stipulation, hearing, brief, subpoena, settlement.
First query — no last_checked
On your first query for a case, omitlast_checked. You receive the case context with no delta block. Store meta.queried_at and use it as last_checked on every subsequent query.
delta vs. docket_history
delta.new_filings and case.docket_history (in context=full) are different things:
delta.new_filings | case.docket_history | |
|---|---|---|
| What it contains | Filings since last_checked | All filings on record |
| When present | Only when last_checked is supplied | Only when context=full |
Filtered by filing_types? | Yes | No |
docket_history is for initial intake or full review.