ArgorantDocs

Move people to another campaign

posthttps://app.argorant.com/api/v1/campaigns/{campaign_id}/leads/move
POST
/api/v1/campaigns/{campaign_id}/leads/move

The campaign the people move to.

Ids from GET .../leads.

The people's addresses.

A tag the people carry.

CSV text of lead ids or email addresses, up to 100,000.

One or more lead statuses.

Also move people who already got an email from this campaign.

Bring the people's own fields along.

The results to take in the other campaign. Without it the other campaign's own choice applies.

true only counts and changes nothing.

Moves people from this campaign into another campaign of your workspace in one step. They join the other campaign first, with their own fields (custom fields, personal lines, tags), and only the ones who landed there leave this one. Choose them by ids, addresses, tag, a file (CSV text of ids or addresses) or status. People who already got an email from this campaign stay unless you send include_contacted: true. The other campaign's own choice of addresses applies unless you send grades. Send preview: true first. People already paid for cost nothing. 2,000 people or more move in the background: the answer is 202 with a job on this campaign (kind move).

CostWhat it doesKey scopes
free for people already paid for; 1 credit per person never paid forWritesargorant:manage_lists

Authorization

BearerAuth
AuthorizationBearer <token>

Your API key from app.argorant.com/profile, sent as Authorization: Bearer <key>. A connector sign-in token (ag_mcp_...) works the same way.

In: header

Path Parameters

campaign_id*string

The campaign id from create or list.

Formatuuid

Header Parameters

Idempotency-Key?string

Any unique text up to 128 characters. A retry with the same key and the same body within 24 hours returns the first answer (with the header Idempotent-Replayed: true) instead of doing the work twice. The same key with another body answers 409 idempotency_conflict.

Lengthlength <= 128
X-Request-Id?string

Your own id for this request, 8 to 64 letters, digits, dot, dash or underscore. Returned as X-Request-Id; one is made for you when you send none.

Match^[A-Za-z0-9._-]{8,64}$

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

Shell
curl -X POST "https://app.argorant.com/api/v1/campaigns/7f3a2c1e-9b4d-4e8a-a1c2-5d6e7f8a9b0c/leads/move" \  -H "Idempotency-Key: 6f1c2e7a-run-42" \  -H "Content-Type: application/json" \  -d '{    "to_campaign_id": "8a4b3d2f-0c5e-4f9b-b2d3-6e7f8a9b0c1d",    "tag": "q4",    "preview": true  }'

JSON
{  "matched": 300,  "would_move": 280,  "kept_contacted": 20,  "preview": true,  "moved": 0,  "summary": "280 people would move to the other campaign. 20 who already got an email stay. Nothing was changed yet."}