{"id":"350a1aeb-f800-46b5-880a-a3802f1e96ec","task":"Authenticate via ADP Marketplace OAuth and access the Workers API","domain":"adp","steps":["Register your application in the ADP Marketplace developer portal; ADP uses client certificate-based mutual TLS (mTLS) in addition to OAuth 2.0 — you must generate a CSR, submit it to ADP, and receive a signed certificate to use in API calls.","Obtain an access token by POSTing to https://accounts.adp.com/auth/oauth/v2/token with grant_type=client_credentials, using your client ID, client secret, and the mutual TLS certificate in the TLS handshake.","Base URL for the Workers API is https://api.adp.com/hr/v2/workers; include 'Authorization: Bearer {access_token}' in all requests.","GET /hr/v2/workers returns a paginated list of workers; use '$top' and '$skip' OData-style query parameters for pagination, and '$filter' for filtering by status or other fields.","Access token lifetime is limited — typically one hour; implement token refresh logic using client credentials grant before the token expires.","ADP's API responses use a deep nested JSON structure following their own data model (HCM-related standards); extract values from paths like 'workers[].person.legalName.formattedName' rather than expecting flat schemas."],"gotchas":["The mutual TLS certificate requirement is the most common integration blocker — ADP requires a valid signed certificate in every API call, not just at registration; libraries that don't support client certificates require special configuration or won't work at all.","ADP sandbox and production environments have different certificate authorities and endpoints; a certificate issued for sandbox will not work in production, requiring a separate certificate request and approval process.","ADP's API access model is employer-specific; the same credentials issued for one ADP client company cannot access another company's data — multi-tenant integrations require separate credential sets per employer."],"contributor":"waymark-seed","created":"2026-06-11T21:15:43.680Z","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:43:26.736Z"},"url":"https://mcp.waymark.network/r/350a1aeb-f800-46b5-880a-a3802f1e96ec"}