# Lever

Manage Lever ATS: candidates, opportunities, postings, interviews, offers. Exposes **30 actions** covering the full API surface
the agent needs - read and write.

## What it can do

| Method | What it does |
| --- | --- |
| `lever_users_list` | List all team members - GET /users. |
| `lever_users_get` | Get a team member by ID - GET /users/&#123;id&#125;. |
| `lever_candidates_search` | Search candidates (opportunities) - GET /opportunities. |
| `lever_candidates_get` | Get candidate (opportunity) details - GET /opportunities/&#123;id&#125;. |
| `lever_candidates_create` | Create a new candidate - POST /opportunities. |
| `lever_candidates_update` | Update candidate - PATCH /opportunities/&#123;id&#125;. |
| `lever_candidates_add_file` | Attach a file (resume, portfolio) to a candidate - POST /opportunities/&#123;id&#125;/files. |
| `lever_postings_list` | List job postings - GET /postings. |
| `lever_postings_get` | Get posting details - GET /postings/&#123;id&#125;. |
| `lever_postings_create` | Create a new job posting - POST /postings. |
| `lever_postings_update` | Update a job posting - PATCH /postings/&#123;id&#125;. |
| `lever_interviews_list` | List interviews - GET /interviews. |
| `lever_interviews_get` | Get interview details - GET /interviews/&#123;id&#125;. |
| `lever_interviews_create` | Schedule an interview - POST /interviews. |
| `lever_interviews_update` | Update an interview - PATCH /interviews/&#123;id&#125;. |
| `lever_offers_list` | List offers - GET /offers. |
| `lever_offers_get` | Get offer details - GET /offers/&#123;id&#125;. |
| `lever_offers_create` | Create a new offer - POST /offers. |
| `lever_offers_update` | Update an offer - PATCH /offers/&#123;id&#125;. |
| `lever_offers_sign` | Mark an offer as signed/accepted - POST /offers/&#123;id&#125;/sign. |
| `lever_offers_void` | Void/cancel an offer - POST /offers/&#123;id&#125;/void. |
| `lever_stages_list` | List all hiring pipeline stages - GET /stages. |
| `lever_requisitions_list` | List requisitions (hiring projects) - GET /requisitions. |
| `lever_requisitions_get` | Get requisition details - GET /requisitions/&#123;id&#125;. |
| `lever_requisitions_create` | Create a new requisition - POST /requisitions. |
| `lever_requisitions_update` | Update a requisition - PATCH /requisitions/&#123;id&#125;. |
| `lever_notes_list` | List comments/notes on a candidate - GET /opportunities/&#123;id&#125;/notes. |
| `lever_notes_create` | Add a note to a candidate - POST /opportunities/&#123;id&#125;/notes. |
| `lever_notes_update` | Update a note on a candidate - PATCH /opportunities/&#123;id&#125;/notes/&#123;note_id&#125;. |
| `lever_notes_delete` | Delete a note from a candidate - DELETE /opportunities/&#123;id&#125;/notes/&#123;note_id&#125;. |

## How to get credentials

This connector uses an **API key / token**. Create one in the provider
dashboard, then paste it into FlyMyAI:

- **`LEVER_API_KEY`** - Lever - Settings - Integrations and API - API credentials - Generate key. (https://hire.lever.co/settings/integrations)

## Fields to fill in FlyMyAI

| FlyMyAI field | Where it comes from |
| --- | --- |
| `LEVER_API_KEY` | Lever - Settings - Integrations and API - API credentials - Generate key. |

## Troubleshooting

- **`401 Unauthorized` / `403 Forbidden`** - the token is wrong, expired, or missing a required scope - regenerate it.
- **`429 Too Many Requests`** - you hit the provider rate limit; retry after a short backoff.
- **Unexpected `4xx` on writes** - double-check required fields; the agent confirms before write actions.

## Links

- [Lever API documentation](https://hire.lever.co/developer/documentation)
