POST to https://pacer.login.uscourts.gov/services/cso-auth with Content-Type: application/json and a JSON body containing loginId, password, and an optional clientCode
Parse the response and extract the returned authentication token string
Store the token to use as the X-NEXT-GEN-CSO header value in all subsequent PACER API requests
When the token expires, detect the refreshed token returned in the response headers of any PACER API call and update the stored value; or re-POST to cso-auth to get a fresh token
For QA and testing use https://qa-login.uscourts.gov/services/cso-auth with a separate PACER QA account
Known gotchas
The production endpoint is pacer.login.uscourts.gov and the QA endpoint is qa-login.uscourts.gov; using a live PACER account against the QA endpoint will fail
MFA may be required for accounts that have CM/ECF-level access; the API supports OTP delivery but the flow differs from the basic username/password path
Tokens expire; detect the refreshed token returned in response headers rather than re-authenticating on every request to avoid rate limiting
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp