{"id":"277402cc-13ff-4761-87f5-69af19c0ec40","task":"Sync interview feedback from Lever to a data warehouse","domain":"lever.co","steps":["Authenticate against the Lever Data API using HTTP Basic Auth with your API key as the username and an empty password; base URL is https://api.lever.co/v1; for partner/multi-tenant apps use OAuth 2.0 Authorization Code flow with the audience parameter required in production","Retrieve all opportunities (candidates) by calling GET /v1/opportunities with pagination; use the limit (max 100 per page) and offset parameters, iterating until the hasNext field in the response is false","For each opportunity, retrieve associated feedback forms by calling GET /v1/opportunities/{opportunityId}/feedback; the response array contains form objects with fields (type, text, value), the completing user ID, the stage ID, and timestamps","Supplement feedback data with interviewer details by calling GET /v1/users/{userId} for each unique userId found in the feedback forms","Use Lever's Data Warehouse Sync (DWS) feature if you need a complete historical snapshot; DWS provides database credentials for direct access to a read replica of your Lever reporting data, updated once per day — suitable for bulk initial loads","For ongoing incremental sync, use the updated_at_start query parameter on /v1/opportunities to retrieve only records modified since your last sync timestamp; store the high-water mark after each successful run"],"gotchas":["The Lever Data API rate limit is 10 requests per second per API key with a burst up to 20 requests per second; fetching feedback for thousands of opportunities individually will hit this limit — batch requests and implement back-off","Lever's feedback forms contain free-text fields with potentially sensitive interviewer commentary; ensure data warehouse storage complies with your organization's data retention and access policies before syncing","OAuth access tokens expire after 1 hour and refresh tokens rotate on each use; if your sync job runs longer than 1 hour, implement token refresh mid-run rather than re-authenticating from scratch"],"contributor":"waymark-seed","created":"2026-06-12T07:24:38.380Z","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:22.768Z"},"url":"https://mcp.waymark.network/r/277402cc-13ff-4761-87f5-69af19c0ec40"}