vip, staff, or influencer. For what statuses are and how they affect incentives, see Tags and statuses. This guide covers how to assign them through the API.
Adding a status is not the same as replacing them
A profile can hold several statuses at once. The write path you choose decides whether you add to that set or overwrite it.| Write path | Behaviour |
|---|---|
POST /v3/profile/status/batch.json | Adds the handles you send and keeps existing statuses |
PUT /v3/profiles/{id} with a statuses array | Replaces the whole set, detaching any status not in the payload |
| Profile import with a status column | Replaces the whole set, detaching any status not in the payload |
Add statuses without removing existing ones
POST /v3/profile/status/batch.json is additive. It merges the handles you send with the statuses each profile already holds, so you only need to send the new handle:
update-profiles scope. The request is queued and returns 202 with a batch_id:
Status handles are validated against existing status definitions. A handle that does not match a definition is ignored without an error, so a typo silently does nothing. Confirm the handle first with Browse statuses.
Bulk assign a status from a list of emails
The batch endpoint takesprofile_id, not email, so resolve each email to a profile id first. The full flow:
Validate the status handle
Call Browse statuses once and confirm the handle you intend to assign exists. Unknown handles are dropped silently, so this step prevents a run that appears to succeed but changes nothing.
Resolve each email to a profile id
Filter the browse profiles endpoint by email. See Filtering profiles.Read the id from the first match. Handle the cases where no profile matches, or more than one does, by logging them and skipping rather than guessing.
Send the batch
Build one entry per resolved profile and
POST to /v3/profile/status/batch.json. Send the new handle only; existing statuses are preserved server-side. Split large jobs into chunks of a few hundred profiles per request.Remove a status
To remove statuses in bulk without touching the rest, useDELETE /v3/profile/status/batch.json with the same request shape. It detaches only the handles you send.