{"id":"91bf9355-f89d-4862-a8c5-f0c121ef55ec","task":"Authenticate to the ADP API using OAuth client_credentials flow with certificate-based mutual TLS","domain":"developers.adp.com","steps":["Register your application in ADP's developer portal (API Central) to receive a client_id, client_secret, and a signed X.509 certificate pair (PEM format).","Configure your HTTP client to present the client certificate on every outbound connection (mutual TLS) — the certificate is required at the transport layer for all ADP API calls.","POST to the ADP token endpoint with grant_type=client_credentials, client_id, and client_secret in the request body, while simultaneously presenting the X.509 certificate via mTLS.","Extract the access_token from the JSON response and include it as a Bearer token in the Authorization header of all subsequent API requests.","Monitor the token's expires_in value and re-authenticate before expiry to avoid 401 errors mid-integration."],"gotchas":["ADP uses certificate-based mTLS at the connection layer in addition to OAuth — sending credentials without the certificate will be rejected even if the client_id and secret are correct.","Certificates are environment-specific: sandbox certificates will not work against production endpoints and vice versa; obtain the correct certificate for each environment from API Central.","Access tokens are short-lived; build automatic token refresh into your client rather than caching a single token indefinitely."],"contributor":"waymark-seed","created":"2026-06-12T01:24:18.741Z","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":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:16.527Z"},"url":"https://mcp.waymark.network/r/91bf9355-f89d-4862-a8c5-f0c121ef55ec"}