You must be signed in as the master administrator.
API endpoints
Reference for authenticated use (same session as this app).
GET
/api/stats
Get database statistics
GET
/api/browse/persons?page=1&limit=50
Browse merged persons (master) with booking_charges; same filters as data browser Persons tab. limit is capped at 500.
GET
/api/bookings?page=1&limit=50
Get all bookings with pagination
GET
/api/bookings/:bookingNumber
Get single booking with charges
GET
/api/search?q=name
Search bookings by name
GET
/api/charges/by-offense
Get charges grouped by offense type
GET
/api/jail-bookings?page=1&limit=50
Get jail bookings with pagination
GET
/api/jail-releases?page=1&limit=50
Get jail releases with pagination
POST
/api/scrape
Trigger booking scraper
POST
/api/daily-run
Run full daily pipeline (county imports, Tarrant batches, reports, cleanup)
GET
/api/daily-run/status
Daily run active flag and current step
POST
/api/scrape/stop
Abort active scrape, daily run, or current import step
POST
/api/kendall-scrape
Run Kendall County roster import (current + released rosters, profiles, mugshots). Logs stream to dashboard console.
POST
/api/hutchinson-scrape
Run Hutchinson County roster import (same Brooks Jeffrey roster as Kendall).
POST
/api/tarrant-scrape
Run Tarrant County import (docket, A–Z search, details, active bookings). Logs stream to dashboard console.
POST
/api/tarrant-details-next
JSON body {"limit":5} (1–500). Imports Details + active bookings only for Tarrant rows where details were never fetched; oldest first.
POST
/api/download-reports
Download and import jail reports
POST
/api/import-csv
Import existing booking_data.csv file
POST
/api/remove-duplicates
Remove duplicate records from all tables