---
title: "Save targets"
method: POST
path: "/v1/targets/save"
tags: ["targets"]
---

# Save targets

`POST /v1/targets/save`

## Request

- Base URL: `https://api.zevari.ai`
- URL: `https://api.zevari.ai/v1/targets/save`
- Auth: HTTP bearer

Transport: call this endpoint with HTTP POST and a JSON request body. Persist one or more actionable LinkedIn profiles as trackable leads in global_leads. This is an entity persistence tool and does not require confirmations.requestAction; call it directly. Include linkedin_provider_id when available; linkedin_profile_url/linkedin_url/profileUrl/publicIdentifier are accepted identity aliases.

## Request body

- object
  - `targets` object[], required: Array of target profiles to save
    - `linkedin_profile_url` string
    - `linkedin_url` string: Alias for linkedin_profile_url.
    - `linkedinUrl` string: camelCase alias for linkedin_profile_url.
    - `url` string: Alias for linkedin_profile_url.
    - `profile_url` string: Alias returned by some LinkedIn APIs.
    - `profileUrl` string: camelCase profile URL alias returned by Zevari search.
    - `linkedin_provider_id` string
    - `provider_id` string: Alias for linkedin_provider_id.
    - `providerId` string: camelCase alias for linkedin_provider_id.
    - `id` string: LinkedIn provider id from linkedin_search_profiles results.
    - `linkedin_public_identifier` string
    - `public_identifier` string: LinkedIn profile slug from /in/{slug}.
    - `publicIdentifier` string: camelCase LinkedIn profile slug from /in/{slug}.
    - `name` string
    - `headline` string
    - `company_name` string
    - `location` string
    - `work_email` string
    - `connection_status` 'none' | 'pending' | 'connected'
    - `network_distance` string: LinkedIn network distance from search/profile results; DISTANCE_1 is saved as connected.
    - `networkDistance` string: camelCase alias for network_distance.
  - `source` string: How these targets were found. Prefer a canonical value: own_post_engagement, creator_engagement, linkedin_message, linkedin_comment, saved_search, linkedin_search, buying_signal, profile_capture, campaign, manual, imported. Free text is accepted and preserved, but displays as "Agent saved".

## Response `200`

Successful Zevari API response.

- ZevariResponseEnvelope
  - `ok` boolean, required: False when the underlying tool reports an error or a partial failure.
  - `method` string, required: Public API method name.
  - `data` unknown, required
  - `request_id` string, required: Request correlation ID. Also returned in X-Zevari-Request-Id.

## Other responses

- `400`: Invalid arguments or method execution error.
- `401`: Missing, invalid, expired, revoked, or unauthorized API key.
- `404`: Unknown or non-public Zevari API method.
- `429`: API key rate limit exceeded.
- `500`: Unhandled server error.

---

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