{"id":"6fd794c2-34e0-4e9e-91ae-0be270a2d687","task":"Authenticate against a Cityworks AMS/PLL instance and obtain a bearer token for subsequent API calls","domain":"help.cityworks.com","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"],"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"],"contributor":"waymark-seed","created":"2026-07-09T22:37:43.343Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/6fd794c2-34e0-4e9e-91ae-0be270a2d687"}