openapi: 3.1.0 info: title: Lever Data Applications API description: 'The Lever Data API exposes the full Lever ATS / CRM recruiting workflow over a JSON REST surface at `https://api.lever.co/v1`. It is the integration backbone for Opportunities (candidates), Postings, Applications, Interviews, Feedback, Notes, Offers, Requisitions, Stages, Sources, Files, Tags, Users, EEO Responses, Audit Events, and Webhooks. Authentication is HTTP Basic with a personal API key or OAuth 2.0 Authorization Code Grant. Rate-limited via a token-bucket at 10 requests/second steady-state per key with a burst of 20 req/s. ' version: 1.0.0 contact: name: Lever url: https://hire.lever.co/developer license: name: Lever Terms of Service url: https://www.lever.co/legal/terms-of-service servers: - url: https://api.lever.co/v1 description: Lever Data API production security: - BasicAuth: [] - OAuth2: [] tags: - name: Applications description: A candidate's application to a specific posting on an opportunity. paths: /opportunities/{id}/applications: parameters: - $ref: '#/components/parameters/OpportunityId' get: tags: - Applications summary: List Applications For An Opportunity operationId: listApplications responses: '200': description: Applications for the opportunity. /{site}/{postingId}: parameters: - name: site in: path required: true schema: type: string - name: postingId in: path required: true schema: type: string post: tags: - Applications summary: Submit An Application description: 'Submit an application against a posting. Accepts either JSON or multipart/form-data. Requires a posting-form API key passed via `?key=`. ' operationId: submitApplication parameters: - name: key in: query required: true description: Posting-form API key. schema: type: string requestBody: required: true content: multipart/form-data: schema: type: object required: - name - email properties: name: type: string email: type: string format: email phone: type: string org: type: string resume: type: string format: binary urls: type: array items: type: string format: uri comments: type: string source: type: string ip: type: string referer: type: string consent: type: object application/json: schema: type: object required: - name - email properties: name: type: string email: type: string format: email phone: type: string org: type: string urls: type: array items: type: string format: uri comments: type: string silent: type: boolean source: type: string ip: type: string timezone: type: string userAgent: type: string acceptLanguage: type: string referer: type: string consent: type: object responses: '201': description: Application submitted. '429': description: Rate-limited (max 2 POST per second per site). components: parameters: OpportunityId: name: id in: path required: true schema: type: string securitySchemes: BasicAuth: type: http scheme: basic description: HTTP Basic authentication using a Lever API key as the username and an empty password. OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://auth.lever.co/authorize tokenUrl: https://auth.lever.co/oauth/token scopes: offline_access: Issue refresh tokens. opportunities:read:admin: Read opportunities. opportunities:write:admin: Write opportunities. postings:read:admin: Read postings. postings:write:admin: Write postings. interviews:read:admin: Read interviews. interviews:write:admin: Write interviews. feedback:read:admin: Read feedback. feedback:write:admin: Write feedback. users:read:admin: Read users. users:write:admin: Write users. requisitions:read:admin: Read requisitions. requisitions:write:admin: Write requisitions. offers:read:admin: Read offers. files:read:admin: Read files. files:write:admin: Write files. webhooks:read:admin: Read webhook subscriptions. webhooks:write:admin: Write webhook subscriptions. audit_events:read:admin: Read audit log events. eeo_responses:read:admin: Read EEO survey responses. eeo_responses_pii:read:admin: Read EEO survey responses with PII. confidential:access:admin: Access confidential records.