> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Lever

> Connect Lever to your Atako agents — 11 read and 5 write actions.

Let your agents work with your Lever ATS — browse job postings, candidates (opportunities), notes, interviews, feedback and offers, add candidates and notes, move candidates through stages, tag and archive them.

## Connection

* **Authentication**: API key.
* **Required settings**:
  * **Environment** — Use "api" for production (api.lever.co), or "api.sandbox" for a Lever sandbox account (api.sandbox.lever.co).

<Note>
  Lever (Super Admin) → Settings → Integrations and API → API Credentials tab → Generate New Key. Name the key and, under Permissions, enable the endpoints your agents need (read on Postings, Opportunities, Users, Stages and Archive reasons; write on Opportunities and Notes for the create/update actions), then copy the key (endpoints cannot be changed afterwards: generate a new key instead). Choose "api" for production, or "api.sandbox" if Lever provisioned a sandbox account for you.

  See [Lever's documentation](https://help.lever.co/hc/en-us/articles/20087297592477-Generating-and-using-API-credentials).
</Note>

## Read actions (11)

| Action                        | Description                                                                                                                                                                                                                                |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `get_opportunity`             | Retrieve a single opportunity (candidate profile for a role).                                                                                                                                                                              |
| `get_posting`                 | Retrieve a single job posting, including its job description.                                                                                                                                                                              |
| `list_archive_reasons`        | List the archive reasons (ids used by archive\_opportunity), optionally only hired or non-hired ones.                                                                                                                                      |
| `list_opportunities`          | List pipeline opportunities (a candidate applied or sourced for a role), filterable by email, posting, stage, tag, origin, archive status, contact or creation/update time (Unix ms). Paginate with limit + offset.                        |
| `list_opportunity_feedback`   | List the interview feedback forms submitted for an opportunity.                                                                                                                                                                            |
| `list_opportunity_interviews` | List the interview events of an opportunity.                                                                                                                                                                                               |
| `list_opportunity_notes`      | List the notes on an opportunity.                                                                                                                                                                                                          |
| `list_opportunity_offers`     | List the offers of an opportunity (status, signatures, fields).                                                                                                                                                                            |
| `list_postings`               | List job postings (published, internal, closed, draft, pending, rejected), filterable by state, distribution channel, team, department, location, commitment or tag. Paginate with limit + offset (the "next" token of the previous page). |
| `list_stages`                 | List the pipeline stages (ids used by update\_opportunity\_stage and the stage\_id filter).                                                                                                                                                |
| `list_users`                  | List the Lever users (active only by default). Use it to find the user id to pass as perform\_as\_user\_id on write actions, or an owner/follower id.                                                                                      |

## Write actions (5)

| Action                     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `add_opportunity_note`     | Add a note to an opportunity. Arguments: opportunity\_id (string); perform\_as\_user\_id (string, required — Lever user id from list\_users, author of the note); value (string, required — note text, "@username" mentions notify that user); secret (boolean — visible only to users with sensitive-information privileges and mentioned users); score (integer 1-4: 1 strong no, 2 no, 3 yes, 4 strong yes); notifyFollowers (boolean).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `add_opportunity_tags`     | Add tags to an opportunity (unknown tags are created). Arguments: opportunity\_id (string); perform\_as\_user\_id (string, required — Lever user id from list\_users); tags (array of strings, at least one, case-sensitive).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `archive_opportunity`      | Archive an opportunity (or change the archive reason of an already archived one). Arguments: opportunity\_id (string); perform\_as\_user\_id (string, required — Lever user id from list\_users); reason (string, required — archive reason id from list\_archive\_reasons); cleanInterviews (boolean — also remove pending interviews).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `create_opportunity`       | Create a candidate and an opportunity (deduplicated on email: an existing contact gets a new opportunity). Arguments: perform\_as\_user\_id (string, required — Lever user id from list\_users, creator and default owner); name (string); headline (string); emails (array of strings); phones (array of objects \{ value: string, type?: "mobile"\|"home"\|"work"\|"skype"\|"other" }); location (string); links (array of strings); tags (array of strings, created if unknown); sources (array of strings); origin (one of agency, applied, internal, referred, sourced, university); stage (string, stage id from list\_stages — defaults to "New Lead"); postings (array of ONE posting id string from list\_postings); owner (string, user id); followers (array of user id strings); contact (string, existing contact id); perform\_as\_posting\_owner (boolean — owner = the posting's owner, requires exactly one posting). Resume upload is not supported. |
| `update_opportunity_stage` | Move an opportunity to another pipeline stage. Arguments: opportunity\_id (string); perform\_as\_user\_id (string, required — Lever user id from list\_users); stage (string, required — stage id from list\_stages).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.
