> ## 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.

# Get target

> Retrieve one Target, its counts, stored query, and latest job summary.

Returns the Target identified by `id` in the authenticated organization's scope. Reading a Target also promotes any `proposed` members if `auto_admit` is already `true`; it does not start a new discovery job.

## Request

<ParamField path="id" type="string" required>
  Target UUID. The route does not declare a separate path-schema format, but the stored ID is a UUID.
</ParamField>

No query parameters or body.

## Response

`200 OK` returns `{ "data": Target }`. The Target schema is:

| Field                                                                                                                 | Type                    | Nullability and meaning                                                                                                                     |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                                                                                                                  | string                  | Non-null Target UUID.                                                                                                                       |
| `kind`                                                                                                                | `"company" \| "people"` | Non-null.                                                                                                                                   |
| `name`                                                                                                                | string                  | Non-null display name.                                                                                                                      |
| `linkedin_url`                                                                                                        | string                  | Nullable; company LinkedIn URL, or `null` for people/unresolved company Targets.                                                            |
| `auto_admit`                                                                                                          | boolean                 | Non-null.                                                                                                                                   |
| `watching_count`, `proposed_count`, `excluded_count`, `current_count`, `alum_count`, `enriched_count`, `member_count` | integer                 | Non-null counts. Current/alumni counts include only `watching` members.                                                                     |
| `allocation_used`, `in_graph_count`                                                                                   | integer                 | Included after graph allocation is attached; `in_graph_count` is never negative.                                                            |
| `result_limit`                                                                                                        | integer                 | Nullable stored discovery cap.                                                                                                              |
| `created_at`                                                                                                          | string                  | Non-null ISO timestamp.                                                                                                                     |
| `query`                                                                                                               | object                  | Non-null stored config/query object.                                                                                                        |
| `job`                                                                                                                 | object                  | Non-null latest job summary. `job.id`, `job.phase`, and `job.error` are nullable; `job.status`, totals, completed, and failed are non-null. |

`job.status` reflects the latest associated ingest job, commonly `pending`, `running`, `done`, or `failed`. There is no Target-level `status` property in this response.

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "data": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "kind": "company",
      "name": "Anduril",
      "linkedin_url": "https://www.linkedin.com/company/anduril",
      "auto_admit": true,
      "watching_count": 38,
      "proposed_count": 0,
      "excluded_count": 4,
      "current_count": 31,
      "alum_count": 7,
      "enriched_count": 38,
      "member_count": 42,
      "allocation_used": 38,
      "in_graph_count": 0,
      "result_limit": null,
      "created_at": "2026-09-16T11:43:00.000Z",
      "query": { "input": "anduril.com" },
      "job": {
        "id": "7b1d9b3c-0b8f-4d4d-a8b4-72ef8fbb4c81",
        "status": "done",
        "phase": "done",
        "total": 38,
        "completed": 38,
        "failed": 0,
        "error": null
      }
    }
  }
  ```
</ResponseExample>

## Examples

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl --fail-with-body --max-time 30 "https://api.freshtalent.ai/v1/targets/550e8400-e29b-41d4-a716-446655440000" \
    -H "Authorization: Bearer $FRESHTALENT_API_KEY"
  ```

  ```js JavaScript fetch theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const id = "550e8400-e29b-41d4-a716-446655440000";
  const response = await fetch(`https://api.freshtalent.ai/v1/targets/${id}`, {
    signal: AbortSignal.timeout(30_000), headers: { Authorization: `Bearer ${process.env.FRESHTALENT_API_KEY}` },
  });
  const body = await response.json();
  if (!response.ok) throw new Error(`${response.status}: ${JSON.stringify(body)}`);
  console.log(body.data);
  ```

  ```python Python stdlib theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import json
  import os
  import urllib.request

  request = urllib.request.Request(
      "https://api.freshtalent.ai/v1/targets/550e8400-e29b-41d4-a716-446655440000",
      headers={"Authorization": f"Bearer {os.environ['FRESHTALENT_API_KEY']}"},
  )
  with urllib.request.urlopen(request, timeout=30) as response:
      body = json.load(response)
  print(body["data"])
  ```
</RequestExample>

## Errors and recovery

* `401 unauthorized`, `402 payment_required`, and platform-key `400 invalid_request` have the shared authentication/access meanings.
* `404 not_found` with `{"error":{"type":"not_found","message":"watch not found"}}` means the ID is absent from this organization. Do not retry unchanged.
* `429` and `5xx`: retry this read with bounded backoff and honor `Retry-After`.

## Lifecycle and side effects

This is a read, but it calls the service's auto-admit reconciliation. If the Target has `auto_admit: true`, `proposed` members are moved to `watching` and the default lists are synchronized. That transition is not a completion guarantee for enrichment or Monitoring. The route then loads the latest job and attaches graph allocation counts.

## Next

* [List target members](/api-reference/targets/members) for member rows, filters, and pagination.
* [Update target](/api-reference/targets/update) to rename it or change `auto_admit`.
* [Retry target](/api-reference/targets/retry) when its latest job is failed.
