GET https://api.lever.co/v1/archive_reasons to retrieve all configured archive reason objects and their IDs; note the ID for the reason you want to apply.
Send PUT https://api.lever.co/v1/opportunities/:opportunity_id/archived with a JSON body containing a reason_id field set to the archive reason ID.
The response returns the updated opportunity; verify the archived field is now an object containing the reason_id and archivedAt timestamp.
To unarchive, send PUT /opportunities/:opportunity_id/archived with a body of null or an empty body depending on API version; confirm the archived field returns to null.
After archiving, you can still read the opportunity via GET /v1/opportunities/:id; archived opportunities are excluded from default list queries but retrievable with archived=true.
Log the archive action and reason in your system for compliance and recruiter reporting purposes.
Known gotchas
Archiving a Lever opportunity uses PUT /opportunities/:id/archived — not POST; sending a POST to this path returns a method-not-allowed error.
The reason_id must come from your account's configured archive reasons; sending an ID that does not exist in your account returns a validation error.
Archiving is distinct from deleting; archived opportunities remain in Lever and can be unarchived, while deleted records are permanently removed.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp