---
title: "Move a prospect into a lane"
method: POST
path: "/v1/finder/pipeline/{discovery_id}/lane"
tags: ["RecruitAffiliates.ai"]
---

# Move a prospect into a lane

`POST /v1/finder/pipeline/{discovery_id}/lane`

## Request

- Base URL: `https://api.affiliaterail.com`
- URL: `https://api.affiliaterail.com/v1/finder/pipeline/{discovery_id}/lane`
- Auth: HTTP bearer

Moves a saved prospect into a lane of the stage it's in, or back to the stage's main column with `lane_id: null`. To change stage too, send `lane_id` to the stage move instead.

**Scope:** `finder:write`

## Path parameters

- `discovery_id` string, required: Prefixed id (`fdi_…`)

## Request body

- FinderLanePlacement
  - `lane_id` string, nullable, required: A lane of the card's current stage, or null for the stage's main column

## Response `200`

Where the card sits now

- FinderLaneResult
  - `object` 'finder_lane_change', required
  - `prospect_id` string, required: Prefixed id (`fdi_…`)
  - `stage` 'saved' | 'contacting' | 'replied' | 'negotiating' | 'onboarding' | 'activated' | 'no_reply' | 'declined' | 'on_hold', required
  - `lane_id` string, nullable, required
  - `changed` boolean, required

## Other responses

- `400`: Invalid request
- `401`: Missing or unknown API key
- `402`: The organization's Recruit Affiliates plan does not include the API
- `403`: Key lacks the required scope
- `404`: No such object in your organization
- `409`: In conflict with the object's state, or the same idempotent request is still running
- `422`: The request was understood and refused
- `429`: Rate limited, by key or by organization: see Retry-After and X-RateLimit-Scope
- `501`: Not available to a test key (`sandbox_no_send`)

---

[API](https://skmtc.dev/affiliaterail/apis/affiliaterail-api.md) · [All operations](https://skmtc.dev/affiliaterail/apis/affiliaterail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/affiliaterail/apis/affiliaterail-api/revisions/ea41f345c092?raw)
