Skip to main content
POST
Adds people to a Target created with kind: "manual". URLs are normalized and de-duplicated the same way as on Create target. New people start as watching; a person who was excluded comes back as watching; people already watching are left alone.

Request

string
required
Manual Target UUID.
string[]
required
1–2000 strings, each at most 500 characters. Values that are not LinkedIn profile URLs are ignored; at least one must be valid.

Response

202 Accepted returns { "data": { "added": integer, "already_added": integer, "target": Target } }. added counts people who became watching (new or restored); already_added counts people who were already watching. target uses the schema from List targets. People already in the graph are ready at once. Everyone else is loaded in the background. If a load job is already queued or running for this Target, the new people join it or get a follow-up load when it finishes; no second job is queued.

Examples

Lifecycle and retry safety

Adding is idempotent for the same URLs: a replay reports them as already_added and changes nothing. To take someone off the Target, set them to excluded with Accept target members.

Errors and recovery

  • 400 invalid_request: missing urls, more than 2000 entries, no valid profile URL, or the Target is not kind: "manual". Fix the request.
  • 401 unauthorized, 402 payment_required, 403 upgrade_required: fix the API key or organization access.
  • 404 not_found: the Target is not in the authenticated organization.
  • 409 conflict: a message starting slot_limit: means the new people need more monitoring slots than remain. Nothing was added. Check with Preview target people, remove some URLs, or add capacity.
  • 429/5xx: back off. Replaying is safe.

Next