Pipory
Node reference

Lever

Lever node reference - all 71 operations, the credential it needs, and a worked example.

Lever ATS (Recruiting & Meetings). 71 operations: opportunities (candidates) with stage moves, archiving, tags, sources and links; applications; notes; postings; interviews and panels; feedback and feedback templates; profile forms; requisitions; users and contacts; files, resumes and offers; referrals; stage, archive-reason, source and tag lookups; webhook configs.

Credential: Lever API key - see Credentials.

Scopes

Each operation below lists the scope it needs. Scopes are requested by an OAuth app. Pipory's Lever credential is an API KEY, and a Lever API key carries no scopes at all - it inherits the permissions of the Lever user who created it, so a 403 means that user cannot do this in Lever's own UI either. The scope named below is what an OAuth integration would request, and it is also the honest answer to which resource an operation touches. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (71)

Opportunities (candidates)

OperationWhat it doesScope
listOpportunitiesList / search opportunitiesopportunities:read:admin
getOpportunityGet opportunityopportunities:read:admin
createOpportunityCreate opportunity (candidate)opportunities:write:admin
updateOpportunityStageMove to stageopportunities:write:admin
updateOpportunityArchivedArchive / unarchiveopportunities:write:admin
addOpportunityTagsAdd tagsopportunities:write:admin
removeOpportunityTagsRemove tagsopportunities:write:admin
addOpportunitySourcesAdd sourcesopportunities:write:admin
removeOpportunitySourcesRemove sourcesopportunities:write:admin
addOpportunityLinksAdd profile linksopportunities:write:admin
removeOpportunityLinksRemove profile linksopportunities:write:admin
listOpportunityFileActionsList file actionsopportunities:read:admin

Applications

OperationWhat it doesScope
listApplicationsList applications on a candidateapplications:read:admin
getApplicationGet applicationapplications:read:admin
applyToPostingApply to a postingpostings:write:admin

Notes

OperationWhat it doesScope
listNotesList notesnotes:read:admin
getNoteGet notenotes:read:admin
createNoteAdd notenotes:write:admin

Postings (jobs)

OperationWhat it doesScope
listPostingsList postingspostings:read:admin
getPostingGet postingpostings:read:admin
createPostingCreate postingpostings:write:admin
updatePostingUpdate postingpostings:write:admin
listPostingUsersList users with access to a postingpostings:read:admin

Interviews

OperationWhat it doesScope
listInterviewsList interviewsinterviews:read:admin
getInterviewGet interviewinterviews:read:admin
createInterviewSchedule interviewinterviews:write:admin
updateInterviewUpdate interviewinterviews:write:admin
deleteInterviewCancel interviewinterviews:write:admin

Interview panels

OperationWhat it doesScope
listPanelsList panelspanels:read:admin
getPanelGet panelpanels:read:admin
createPanelCreate panelpanels:write:admin
updatePanelUpdate panelpanels:write:admin
deletePanelCancel panelpanels:write:admin

Feedback

OperationWhat it doesScope
listFeedbackList feedback formsfeedback:read:admin
getFeedbackGet feedback formfeedback:read:admin
createFeedbackAdd feedback formfeedback:write:admin
updateFeedbackUpdate feedback formfeedback:write:admin
listFeedbackTemplatesList feedback templatesfeedback_templates:read:admin
getFeedbackTemplateGet feedback templatefeedback_templates:read:admin

Profile forms

OperationWhat it doesScope
listProfileFormsList completed profile formsforms:read:admin
getProfileFormGet completed profile formforms:read:admin
createProfileFormAdd completed profile formforms:write:admin
listProfileFormTemplatesList profile form templatesform_templates:read:admin
getProfileFormTemplateGet profile form templateform_templates:read:admin

Requisitions

OperationWhat it doesScope
listRequisitionsList requisitionsrequisitions:read:admin
getRequisitionGet requisitionrequisitions:read:admin
createRequisitionCreate requisitionrequisitions:write:admin
updateRequisitionUpdate requisitionrequisitions:write:admin

Users & contacts

OperationWhat it doesScope
listUsersList usersusers:read:admin
getUserGet userusers:read:admin
getContactGet contactcontact:read:admin
updateContactUpdate contactcontact:write:admin

Files, resumes & offers

OperationWhat it doesScope
listFilesList filesfiles:read:admin
getFileGet filefiles:read:admin
uploadFileUpload filefiles:write:admin
downloadFileDownload filefiles:read:admin
listResumesList resumesresumes:read:admin
getResumeGet resumeresumes:read:admin
downloadResumeDownload resumeresumes:read:admin
listOffersList offersoffers:read:admin
downloadOfferDownload offeroffers:read:admin

Referrals

OperationWhat it doesScope
listReferralsList referralsreferrals:read:admin
getReferralGet referralreferrals:read:admin

Lookups (stages, reasons, sources, tags)

OperationWhat it doesScope
listStagesList pipeline stagesstages:read:admin
getStageGet stagestages:read:admin
listArchiveReasonsList archive reasonsarchive_reasons:read:admin
getArchiveReasonGet archive reasonarchive_reasons:read:admin
listDispositionStagesList disposition stagesstages:read:admin
listSourcesList sourcessources:read:admin
listTagsList tagstags:read:admin

Webhooks

OperationWhat it doesScope
listWebhooksList webhook configurationswebhooks:read:admin

Example

Post a note on a candidate, attributed to a real user

perform_as is the field that matters on every Lever write. Lever attributes the action to the user id you name, and rejects or mis-attributes writes without it — a note that appears to come from nobody is the kind of error nobody notices until an audit. The dialog surfaces it on each write rather than hiding it in an advanced section.

Set Operation to createNote, then fill in:

FieldValueNotes
opportunityId{{ myTrigger.opportunityId }}The candidate opportunity
performAs{{ vars.leverUserId }}The Lever user this note is attributed to — effectively required
bodyJson{"value": "Screening call booked for {{ myTrigger.startsAt }}."}The note body

Sets {{note.id}} and {{note.note}}. Every Lever response arrives in a {data, next, hasNext} envelope, which the dispatcher unwraps.