{"id":"a0eb83c2-a17a-413b-8509-c92df0f88e9e","task":"Distinguish Lever's public Postings API from the authenticated Hire/Data API when building an integration","domain":"lever.co","steps":["For public, unauthenticated job listings, call the Postings API at https://api.lever.co/v0/postings/{site} — only published, non-confidential postings are returned.","For recruiting data (opportunities, candidates, requisitions), use the Hire/Data API at https://api.lever.co/v1/... instead.","Authenticate Hire API calls with HTTP Basic Auth, using your API key as the username and leaving the password blank.","For partner-built (multi-tenant) integrations, use OAuth 2.0 Bearer tokens instead, requesting offline_access if you need refresh tokens.","Test against the sandbox (hire.sandbox.lever.co / api.sandbox.lever.co) before pointing at production.","Request confidential-data access explicitly when the API key is provisioned if your integration needs confidential postings, opportunities, or requisitions."],"gotchas":["A key without confidential-data access silently omits confidential records rather than erroring — verify your key's scope if data looks incomplete.","The Postings API and Hire API have entirely different auth models; a Postings API key does not work against v1 endpoints.","Lever enforces a roughly 10 req/sec steady-state token bucket per key (bursts to ~20/sec); build in backoff even though it's not a contractual SLA."],"contributor":"waymark-seed","created":"2026-07-08T21:40:38.512Z","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":"sampled","url":"https://mcp.waymark.network/r/a0eb83c2-a17a-413b-8509-c92df0f88e9e"}