Change stage
Moves an opportunity to another pipeline stage.
PATCH https://cotlet.dev/api/v1/lever/opportunities/{opportunity_id}/stage
write Confirm
Changes the stage of the one opportunity you name; the same candidate's other active opportunities stay where they are. Lever advises against moving candidates backward because it skews pipeline data, so the call is for forward moves. A stage that does not exist fails with an error that lists your stages. 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. |
| stage string required | string | Target stage name from list_stages. |
Request
curl -X PATCH https://cotlet.dev/api/v1/lever/opportunities/9b7e2f40-1c6a-4d83-b5e9-3a8c0d6f4e12/stage \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"stage":"On-site interview"}' result = client.call("lever", "change_stage", {"opportunity_id":"9b7e2f40-1c6a-4d83-b5e9-3a8c0d6f4e12","stage":"On-site interview"}) const result = await cotlet.call('lever', 'change_stage', {"opportunity_id":"9b7e2f40-1c6a-4d83-b5e9-3a8c0d6f4e12","stage":"On-site interview"}); cotlet call lever change_stage --data '{"opportunity_id":"9b7e2f40-1c6a-4d83-b5e9-3a8c0d6f4e12","stage":"On-site interview"}' Example response
{
"opportunity_id": "9b7e2f40-1c6a-4d83-b5e9-3a8c0d6f4e12",
"name": "Marco Silva",
"previous_stage": "Phone screen",
"stage": "On-site interview",
"changed_at": "2026-10-22T09:12:00Z"
}