Authenticate against a Cityworks AMS/PLL instance and obtain a bearer token for subsequent API calls
domain: help.cityworks.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
POST credentials to https://<your-cityworks-site>/<tenant>/services/General/Authentication/Authenticate to obtain a session token
Store the returned token value for use on subsequent AMS, PLL, or Admin API calls
Pass the token on each request using the Authorization header in the format 'cityworks {token}'
Re-authenticate and obtain a new token once the session expires, since Cityworks does not accept a token passed via query string
Confirm access by calling a lightweight read endpoint (e.g. a WorkOrder or Case lookup) before running write operations
Known gotchas
As of Cityworks 23, the token must be sent in the Authorization header with the 'cityworks {token}' prefix; tokens passed only in the query string are ignored
Authentication endpoint paths are tenant-specific (include your instance's tenant segment), so a hardcoded path from another agency's instance will not work
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?