> ## Documentation Index
> Fetch the complete documentation index at: https://docs.freshtalent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Targets

> Standing people searches and company networks. Accept who to keep, then start monitoring.

**Targets** is the dashboard page (`/dash/targets`). A one-off Search goes stale. A Target keeps finding people.

Two kinds, matching the toggles in the app:

| Kind          | Button in the app        | What it does                                                                                                  |
| ------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------- |
| People search | **Start people search**  | Re-runs a search. Confirm who to keep, then keep finding new matches.                                         |
| Company       | **Start company search** | Finds people at that company (current + alumni). Confirm who to keep, then keep finding new hires and alumni. |

## Confirm who to keep

Nothing is monitored until you confirm. The review screen is **Not live yet**.

| Dashboard            | Meaning                                                                                   | API status |
| -------------------- | ----------------------------------------------------------------------------------------- | ---------- |
| **Pending Approval** | FreshTalent found them. Review.                                                           | `proposed` |
| **Monitored**        | You accepted them. They stay enriched and show up in Monitoring. They count toward slots. | `watching` |
| **Removed**          | Leave them out.                                                                           | `excluded` |

Buttons in the app: **Accept** / **Decline**, or **Add them** / **Leave out**. Then **Start monitoring this search** (or company), or **Keep all N and start monitoring**.

Live filters on a Target:

| Dashboard                           | API                                                  |
| ----------------------------------- | ---------------------------------------------------- |
| Everyone                            | `all`                                                |
| Monitored                           | `watching`                                           |
| Pending Approval                    | `proposed`                                           |
| Removed                             | `excluded`                                           |
| Current + alumni / Current / Alumni | `stint` `all` / `current` / `alum` (company Targets) |

Counts read *N monitored · M waiting*.

If find-people fails, **Retry** re-queues the job (`POST /targets/:id/retry`). **Delete this target** removes people who are only on that Target; people also on another Target or List stay.

Toggles that skip the queue:

* People search: **Add new matches automatically**
* Company: **Add new hires and alumni automatically**

API name: `auto_admit`. Use it when the query is tight. Do not turn it on for a broad company network.

<Tip>
  A Target that is still **Needs attention** will not ping Monitoring. Open it, Accept who you would actually contact, then start monitoring.
</Tip>

Empty Targets: **No targets yet**. **New people search** / **New company** start a Target. **Start people search** / **Start company search** opens a confirm dialog: **This may take up to 24h**, plus how many people to find (capped at remaining monitoring capacity). The Target then shows **Loading**, a countdown, and a note that you can close the page. Status badges: **Live**, **Needs attention**, **Loading**, **Couldn't finish**.

## Recruiter flow

1. Search (or Companies → open a company).
2. **Targets** → People search → **Start people search**, or Company → **Start company search**.
3. Confirm the search. This may take up to 24h. Set how many people to find (at most your remaining capacity), then start it.
4. The Target shows **Loading** and a countdown. Grab a coffee — email and Slack notify you when it's ready.
5. Review **Pending Approval** → Accept.
6. **Start monitoring**. Badge goes **Live**. Counts read *N monitored · M waiting*.

## Integrator names

Same object. Different words:

| Dashboard        | REST                      | MCP             |
| ---------------- | ------------------------- | --------------- |
| Targets          | `POST /targets`           | tool `watch`    |
| Accept (keep)    | member `status: watching` | `watch` `admit` |
| Pending Approval | `proposed`                | `members`       |

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.freshtalent.ai/v1/targets" \
  -H "Authorization: Bearer $FRESHTALENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Foundry FDE discovery",
    "kind": "people",
    "app_query": {
      "keywords": "Foundry",
      "roles": [{"family": "forward-deployed-engineer"}]
    }
  }'
```

`app_query` is the Target mapper's camelCase object, not the echoed snake\_case graph-search object. Target discovery uses a different schema and is not an exact replay of the graph search. See [Search query compatibility](/api-reference/targets/create#search-query-compatibility). Create returns `202` if a find-people job was queued.

Accept everyone currently pending:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST \
  "https://api.freshtalent.ai/v1/targets/{id}/members?status=proposed" \
  -H "Authorization: Bearer $FRESHTALENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "watching", "apply": "filter"}'
```

Playground: [Create a target](/api-reference/targets/create), [Accept members](/api-reference/targets/admit), [Update](/api-reference/targets/update), [Delete](/api-reference/targets/delete), [Retry](/api-reference/targets/retry).
