check_pacer_credentials
ChatGPTCheck whether PACER credentials are stored in CourtAPI. The username and password are never returned. Credential setup, validation, and removal are available only on the secure CourtAPI account settings page. Stored PACER credentials are required before any billable live-PACER fetch (refresh_*_from_pacer / purchase_document_from_pacer).
fetch_document_text
ChatGPTFetch a court document's redacted OCR text into THIS sandbox for reading, summarization, or Q&A. Pass only the ocr_link returned by get_document. If the user wants the original PDF, do not call this tool; give them get_document's signed download_url or preview_url directly. Binary PDF/image bytes are rejected so unredacted files are never inserted into model context. Only allowlisted CourtAPI document URLs are accepted.
find_cases
ChatGPTDiscover federal court cases you don't have the court+number for yet. Pass a party/company name, a (partial) case number, or free-text keywords. Returns court_code + case_number needed by all other tools. Examples: query='Sbarro', query='1:14-bk', query='retail chapter 11 2026'.
get_calendar_events
ChatGPTRetrieve hearings and calendar events from the linked CourtDrive user’s active cases. AI Calendar permission is required. Each page costs one regular CourtAPI call; CourtDrive separately charges each newly delivered upcoming event once per connection. Repeat retrievals do not repeat the event charge. Both date_from and date_to are required. Follow links.next for date-range search results; concurrent edits may shift pages. This endpoint is not recommended for polling or synchronization. There is no complete change feed or deletion notification.
get_case
ChatGPTGet all metadata for a known case: title, chapter, judge, key dates (filed/closed/discharged), assets, liabilities, and reviewed sub-resource availability (dockets, claims, parties, etc.). Always call this first after finding a case. The response includes a 'menu' object showing which sub-resources are available from PACER. Returns the data CourtAPI already has (instant, free); if it looks stale and freshness matters, call refresh_case_from_pacer (billable) first.
get_case_activity
ChatGPTGet the recent-activity feed for your firm's tracked cases — the new dockets and claims filed recently on cases in the firm casefolders, grouped by case. Windowed by document-filed date; defaults to the last 3 days so you see what is new. Widen with since_days, or pass an explicit date_doc_filed_from/to range. Always scoped to the firm; relies on the CourtAPI app credential being linked to a firm, and returns nothing if it is not. Reads cached/indexed data. (Within the window, cases are ordered alphabetically by title, not by recency.)
get_claims
ChatGPTGet the bankruptcy claims register — all proofs of claim filed by creditors, with amounts (filed/allowed/paid), claim type (secured/unsecured), creditor names, and filing dates. Essential for Chapter 11 analysis and creditor research. Supports keyword search and date/number range filtering. Returns the claims CourtAPI already has (instant, free); if you need fresher claims, call refresh_claims_from_pacer (billable) then read again here.
get_creditors
ChatGPTGet the creditor list for a bankruptcy case — all creditors scheduled in Schedules D/E/F, whether or not they filed a proof of claim. Different from get_claims (which shows filed proofs of claim). Returns the data CourtAPI already has (instant, free); for a fresh copy call refresh_creditors_from_pacer (billable) first.
get_dockets
ChatGPTGet the docket sheet for a case — all filings in chronological order with dates, descriptions, and attached document info (is_cached, download_cost). The header includes judge, attorneys, trustees, and 341 meeting date. Supports keyword search and date/number range filtering. Returns the docket CourtAPI already has (instant, free) — almost always sufficient. If you need filings newer than what is stored, call refresh_dockets_from_pacer (billable) then read again here.
get_document
ChatGPTGet the status and links for a PDF attached to a docket entry, WITHOUT ever charging. If cached (is_cached=true), returns download_url + preview_url + ocr_link. If not cached, returns its availability/status (including download_cost) so you can decide whether to buy it with purchase_document_from_pacer. docket_seq comes from docket entries (e.g. '42.00000'). part defaults to 1 (main doc). download_url / preview_url are SIGNED, publicly fetchable links: if the user just wants the document, give them the link directly — it opens in their browser (they don't need to allowlist anything). Only call fetch_document_text when YOU need to read the content in this sandbox, and pass its ocr_link; give download_url or preview_url directly to the user for binary files.
get_pacer_refresh_status
ChatGPTCheck a live PACER refresh started by refresh_dockets_from_pacer or refresh_claims_from_pacer. Pass the task_id you were given. Returns the refreshed data once ready, or { status: "pending", progress_percent } while it is still running — in which case wait a few seconds and call again with the same task_id.
get_parties
ChatGPTGet all parties in a case (debtors, creditors, plaintiffs, defendants, trustees) and optionally their attorneys with firm name, contact info, and bar number. Useful for conflicts checks, service lists, and identifying who is involved.
list_courts
ChatGPTList all PACER courts with their court codes. Call this when you need a court_code and don't know it. Returns ~200 courts; use type to filter. Common codes: nysbke, debke, ilnbke, cacdbe, txnbke.
ncl_search
ChatGPTSearch PACER's National Case Locator across all federal courts at once. BILLABLE: this queries PACER live and incurs a PACER charge (about $0.10 for the result page). This is not a free cached read (use find_cases for that); confirm before running. More comprehensive than find_cases for party name searches. Returns the first result page. Pagination tokens and PACER receipt details are not exposed. Use for: finding a person's cases across all courts, cross-court party searches. Searches by name / case number only — Social Security and Tax ID number lookups are not supported.
purchase_document_from_pacer
ChatGPT⚠ INCURS A PACER CHARGE. Buy a PDF that CourtAPI does not have cached yet from PACER, and return its download_url. Check get_document first: if the document is already cached (is_cached=true) prefer that — it is free. This tool GETs first and, if the document turns out to already be cached, returns it WITHOUT charging; it only pays PACER when the document is genuinely uncached. docket_seq comes from docket entries (e.g. '42.00000').
refresh_case_from_pacer
ChatGPT⚠ INCURS A PACER CHARGE. Fetch a fresh copy of a case live from PACER and update CourtAPI's stored copy. Only use when get_case's cached data is known to be stale and freshness genuinely matters — the cached read (get_case) is free and almost always enough. Returns the refreshed case record.
refresh_claims_from_pacer
ChatGPT⚠ INCURS A PACER CHARGE. Fetch a live claims-register update from PACER for a case. Returns immediately with status=refresh_started and a task_id; then call get_pacer_refresh_status with that task_id to retrieve the result when ready, and read the refreshed register with get_claims. Only use when get_claims is known to be stale. Pass date_filed_from to limit the range fetched (recommended to keep cost down).
refresh_creditors_from_pacer
ChatGPT⚠ INCURS A PACER CHARGE. Fetch a fresh creditor list live from PACER and update CourtAPI's stored copy. Only use when get_creditors is known to be stale — the cached read is free and almost always enough. Returns the refreshed creditor list.
refresh_dockets_from_pacer
ChatGPT⚠ INCURS A PACER CHARGE. Fetch an updated docket sheet live from PACER for a case. Returns immediately with status=refresh_started and a task_id; then call get_pacer_refresh_status with that task_id to retrieve the result when ready, and read the refreshed docket with get_dockets. Only use when get_dockets is known to be stale and freshness genuinely matters. Pass date_filed_from so it fetches only entries newer than what CourtAPI already has — omitting it fetches the entire docket (slower and pricier, especially for active cases).