Archive opportunity
Archives an opportunity with an archive reason and can email the candidate.
MCP tool lever_write → archive_opportunity
write Confirm
Archives only the opportunity you name, not the candidate's other active opportunities. With send_email the email goes out in the same step, as with Archive + Send Now in Lever, and it cannot be recalled. A reason that your account does not define fails with an error that lists the reasons. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| opportunity_id string required | string | Opportunity ID from list_opportunities. |
| reason string required | string | Archive reason name from list_archive_reasons. |
| send_email boolean | boolean | true sends an email to the candidate as part of archiving. Default: false. |
| email_body string | string | Text of the email. Required when send_email is true. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "lever_write",
"arguments": {
"operation": "archive_opportunity",
"arguments": {
"opportunity_id": "2d6f9b83-a41e-4c07-9e52-b8c3a0f17d64",
"reason": "Underqualified",
"send_email": true,
"email_body": "Hi Dana, thank you for your time on the phone screen for Senior Designer. We have decided not to move forward, and we wish you the best in your search."
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"opportunity_id": "2d6f9b83-a41e-4c07-9e52-b8c3a0f17d64",
"name": "Dana Whitfield",
"previous_stage": "Phone screen",
"archived": {
"reason": "Underqualified",
"archived_at": "2026-10-22T09:14:00Z"
},
"email_sent": true
},
"isError": false
}