.png)
Lever Integration Guide
Connect Lever recruiting data with enterprise systems through REST APIs, selected webhook events, OAuth 2.0 or API-key authentication, and Martini workflows.
Lever integration options at a glance
Lever’s primary integration mechanism is its REST API, which provides access to recruiting resources such as Candidates, Opportunities, Postings, Requisitions, Interviews, Offers, Users, and Stages. Lever also supports webhook-style notifications for selected recruiting events, although coverage is not universal for every object or field. OAuth 2.0 and API-key authentication support delegated and account-level integration models. Martini can consume the REST API, receive webhook requests, retrieve authoritative object data, process paginated collections, map JSON, and orchestrate downstream writes. Scheduled workflows, bounded batching, checkpoints, retries, and optional file handling support reliable synchronization and reporting use cases.
Common Lever integration patterns
Common Lever data objects used in integrations
Authentication and security considerations
OAuth 2.0 and API keys
Lever supports OAuth 2.0 for delegated integrations and API keys for suitable account-level integrations. OAuth access is governed by requested scopes and the permissions of the authorizing Lever user.
- Store client credentials, access tokens, and API keys in Martini secrets or protected environment configuration.
- Request only the read and write scopes required by the workflow.
- Rotate API keys and client credentials according to organizational policy.
- Use bearer authentication for OAuth requests and the documented HTTP Basic Authentication pattern for API keys.
Recruiting data protection
Candidates, Offers, Interviews, and related recruiting objects may contain personally identifiable or sensitive employment information.
- Restrict Martini APIs and workflows to authorized users and applications.
- Avoid logging resumes, personal contact details, and sensitive payload content.
- Protect data in transit and at rest and define retention and deletion behavior.
- Validate webhook requests and keep event intake separate from expensive processing where appropriate.
Operational considerations for Lever integrations
Rate limits and pagination
Lever requests may be subject to account and endpoint rate limits, and collection responses may be paginated. Martini workflows should follow cursors or links, avoid unbounded parallelism, honor Retry-After when supplied, and use bounded exponential backoff.
Idempotency and reconciliation
Webhook deliveries and scheduled runs can overlap or repeat. Use stable Candidate, Opportunity, Posting, Requisition, Offer, or event identifiers to create idempotency keys, and make downstream writes safe to retry.
Schema and account variation
Optional fields, custom fields, pipeline stages, permissions, and posting metadata vary by Lever account. Mappings should tolerate missing values and new fields, use stable identifiers where possible, and maintain explicit status cross-references.
Testing and monitoring
Test representative webhook events, paginated collections, permission failures, rate-limit responses, deleted objects, malformed payloads, and downstream errors. Record workflow outcomes and failed object identifiers without exposing sensitive candidate data.
Files and privacy
Candidate file and attachment processing is endpoint- and permission-specific. Confirm content types, size limits, download behavior, retention, and malware-scanning controls before transferring documents.
Why use Martini instead of scripts or point-to-point integrations?
Coordinate more than an API call
Scripts can call Lever, but production integrations also need authentication management, pagination, checkpoints, mappings, status rules, idempotency, retries, privacy controls, and downstream coordination. Martini provides a workflow-based way to keep these concerns visible and maintainable.
Support multiple integration styles
Martini can consume Lever REST APIs, receive selected webhook notifications, expose controlled APIs for downstream consumers, and run scheduled or asynchronous workflows. This allows event-driven processing and reconciliation to coexist rather than forcing every use case into one point-to-point flow.
Improve reuse and operations
Reusable mappings, validation logic, secrets, error handling, and transformation steps reduce duplicated integration code. Checkpoints, bounded processing, monitoring, and recorded failures help teams operate recruiting synchronizations without losing the relationship between source objects and downstream actions.