Skip to main content
POST
Copy rows from one list into another

Authorizations

Authorization
string
header
required

Your API token (af_…) as the Basic-auth username, with an empty password.

Body

application/json
sourceListId
string
required

24-character hex id of the contact list whose rows are copied.

limit
integer
required

Maximum number of rows to copy (1-10000).

Required range: 1 <= x <= 10000
filters
object

Optional row-filter object narrowing which source rows are copied, in the same language as the filters query of GET /business/lists/{listId}/rows. Text keys (name, title, dept, level, industryName, country, state, personalLocation, companyName, companyIndustry, companyHeadQuartersCountry, companyLocation, website, campaignEngagement, otherLists) take an array of accepted values, e.g. {"companyName":["pomelo"]} or {"country":["argentina"]}, or {"include":[...],"exclude":[...]} — otherLists takes list NAMES, not ids; numberOfEmployees takes headcount ranges the same way but as STRINGS ("51-200", "10001+" or a bare head count "500" — an unquoted JSON number answers 500) and revenue a plain number; keywords (a wildcard match on the job title only) and linkedinUrl take one string; enrichedEmail, enrichedPhone and emailValidity take {"include":[...]} of their statuses; icpMatch takes ["yes"] or ["no"]; customColumns maps a column id to {"dataType":"string","include":[...]}, {"dataType":"boolean","value":true} or {"dataType":"number","rangeMin":1,"rangeMax":10}. Company lists honour companyName, companyIndustry, companyHeadQuartersCountry, website, numberOfEmployees, campaignEngagement and customColumns. Every key is optional; an unknown key or a wrong value shape is rejected rather than ignored. Values inside one key are OR-joined and different keys are AND-ed. VALUES ARE NOT VALIDATED: level, industryName, country, state, website and companyHeadQuartersCountry are matched as whole values and campaignEngagement, icpMatch and enum cells as exact strings, so a value in the wrong vocabulary is accepted and silently matches nothing — each key's own description names its vocabulary and the endpoint that serves it. A rejected filter answers 422 VALIDATION_FAILED.

listId
string

24-character hex id of an existing contact list to copy into; mutually exclusive with listName.

listName
string

Name of the destination contact list (1-255 characters): an existing list with this exact name (case-insensitive) is reused, otherwise it is created; two lists sharing the name answer 409 LIST_NAME_AMBIGUOUS and reserved system titles answer 422 LIST_NAME_RESERVED.

Required string length: 1 - 255

Response

Success

listIds
string[]
required