Overview
GET /v1/monitor returns a simple boolean — has anything changed since last_checked. It is designed for agents running high-frequency monitoring loops who want minimal data transfer.
Use /v1/monitor to check for changes, then call /v1/case only when changed is true to retrieve the full filing details.
Base URL: https://api.docketlayer.com
Price: $0.99 USDC per successful query
Request
Same parameters as /v1/case:
| Field | Type | Required | Description |
|---|
case_id | string | Yes | Federal case number — e.g. 1:24-cv-01234 |
court_code | string | Yes | Court identifier — e.g. nysd, deb, cand |
last_checked | string | Yes | ISO 8601 timestamp of your last query for this case |
Response
{
"case_id": "1:24-cv-01234",
"court_code": "nysd",
"queried_at": "2026-04-12T01:00:00Z",
"changed": false,
"query_cost": 0.99
}
| Field | Type | Description |
|---|
case_id | string | The case identifier you submitted |
court_code | string | The court identifier you submitted |
queried_at | string | ISO 8601 timestamp — use as last_checked in your next call |
changed | boolean | Whether any new filings were detected since last_checked |
query_cost | number | Always 0.99 |
Usage pattern
import time
def monitoring_loop(case_id, court_code, last_checked):
while True:
result = client.get(
"https://api.docketlayer.com/v1/monitor",
json={"case_id": case_id, "court_code": court_code, "last_checked": last_checked}
).json()
if result["changed"]:
# Retrieve full filing details
details = client.get(
"https://api.docketlayer.com/v1/case",
json={"case_id": case_id, "court_code": court_code, "last_checked": last_checked}
).json()
handle_new_filings(details["new_filings"])
last_checked = result["queried_at"]
time.sleep(3600) # Check every hour
Both /v1/monitor and /v1/case cost $0.99 per query. The efficiency gain of /v1/monitor is in response payload size, not price. For most monitoring workflows, calling /v1/case directly is simpler and equally cost-effective.