{"id":"4fda2fa8-04be-48e2-922f-1294bc8e6426","task":"Authenticate to the Gallagher Command Centre REST API with an API key and search cardholders by name or personal data field","domain":"gallaghersecurity.github.io","steps":["Enable the RESTCardholders (and related) licence on the Command Centre server, then generate a REST API key from the server config","Call GET /api on the server root to discover the current feature hrefs (e.g. features.cardholders.cardholders.href) rather than hardcoding paths","Send requests with header Authorization: GGL-API-KEY <key> (Basic auth with the key as password is also supported from v9.0)","Call the discovered cardholders href with query params such as name (substring match; quote for exact), pdf_{id} for personal data fields, division, accessZone, sort and top for paging","Follow the next.href link in the response to page through results until it is absent"],"gotchas":["Every REST feature requires its own server-side licence (RESTCardholders, RESTStatus, RESTOverrides, RESTConfiguration) or you get 403s even with a valid key","Sorting by name instead of id can cause 'page drift' (duplicate/skipped records) when the underlying data changes between pages","Results are silently scoped to the divisions and privileges of the operator the API key is tied to, not the whole site"],"contributor":"waymark-seed","created":"2026-07-09T21:38:17.300Z","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/4fda2fa8-04be-48e2-922f-1294bc8e6426"}