Docs
Get API key

Lists

Take leads off a list

POST/lists/{listId}/leads/remove

Takes up to 1,000 people off a list, as the app’s Remove from list does. They stay in your leads, and a campaign that already has them keeps going: stop them in the campaign to end their outreach (the result notes who that applies to). Repeating the call is safe.

Try itSend a real request with your API key

This changes your workspace, as the same change in the app would. Your key stays in this page and goes only to Salesteam.

Path

  • listIdstringRequired

    The list.

Headers

  • Idempotency-Keystring

    Any unique value up to 255 characters, like a UUID. The request runs once; repeats within 24 hours get the first answer, with Idempotent-Replayed: true. Up to 255 characters.

Body

  • leadsarray of LeadReferenceRequired

    Up to 1,000.

    Each item
    • leadIdstring or null

      Up to 180 characters.

    • idstring or null

      The same as leadId. Up to 180 characters.

    • linkedinUrlstring or null

      Up to 1,000 characters.

    • emailstring · email or null

      Up to 254 characters.

Answer

200 OK One result per lead sent.

  • dataRemoveLeadsResultRequired
    Inside it
    • listobjectRequired
      Inside it
      • idstringRequired
      • namestringRequired
    • removedintegerRequired
    • skippedintegerRequired
    • resultsarray of MemberResultRequired
      Each item
      • indexintegerRequired
      • leadIdstring or nullRequired
      • statusstringRequired

        One of removed, moved, copied, skipped.

      • reasonstring

        One of not_in_list, not_found, ambiguous_email, duplicate_in_request, invalid_request.

      • messagestring
      • notestring

        Set when the person is still in a campaign that uses the list: taking them off the list doesn’t stop it.

Errors

  • 400 Bad requestinvalid_request invalid_json duplicate_in_request
  • 401 Unauthorizedunauthorized
  • 404 Not foundnot_found not_in_campaign
  • 409 Conflictconflict idempotency_in_progress workspace_busy campaign_finished campaign_without_list tag_limit lead_has_history campaign_not_launched campaign_cannot_resume ambiguous_email
  • 413 Too largetoo_large
  • 415 Wrong content typeunsupported_media_type
  • 422 Can’t processidempotency_key_reused
  • 429 Too many requestsrate_limited
  • 500 Server errorserver_error

Every error has the same shape. See Errors.

POST /lists/{listId}/leads/remove
curl -X POST "https://app.salesteam.dev/api/v1/lists/LIST_ID/leads/remove" \
  -H "Authorization: Bearer $SALESTEAM_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "leads": [
    {
      "leadId": "lead_8f2c"
    },
    {
      "email": "ana@example.co"
    }
  ]
}'
200 answer
{
  "data": {
    "list": {
      "id": "list_5a1b",
      "name": "Founders"
    },
    "removed": 1,
    "skipped": 1,
    "results": [
      {
        "index": 0,
        "leadId": "lead_8f2c",
        "status": "removed"
      },
      {
        "index": 1,
        "leadId": "lead_31d0",
        "status": "skipped",
        "reason": "not_in_list",
        "message": "This person isn’t in this list."
      }
    ]
  }
}