curviate contact import

Import Contacts from a CSV, JSON (an array of objects) or NDJSON file. The format comes from the extension; with --file - pass --format. A file above 10000 rows or 9 MiB is split into several imports, run one after the other (a CSV's header is repeated), each awaited unless --no-wait; the first refused or failed import stops the run. Only the file's structure is checked here; the server skips bad rows and reports why. Re-importing merges: a Contact already there is updated or left as it is. Needs Automate.

Usage

curviate contact import --file <file> [flags]

Examples

curviate contact import --file prospects.csv --list-name "Q4 prospects" --tag conference
curviate contact import --file prospects.csv --map "LinkedIn Profile=linkedin_url" --list cl_YOUR_LIST_ID --no-wait
curviate contact import --file - --format ndjson --list cl_YOUR_LIST_ID

Flags

FlagTypeRequiredDescription
--filestringyesThe file: a path, or - to read it from stdin (then --format is required).
--formatstringnocsv | json | ndjson. Default: from the file extension (.csv, .json, .ndjson).
--liststringnoAdd every imported Contact to this Contact list (cl_...).
--list-namestringnoAdd them to the list of this name (up to 100 characters), creating it. Not with --list.
--tagstringnoPut this Tag on every imported Contact (up to 64 characters); repeatable.
--remove-tagstringnoTake this Tag off every imported Contact; repeatable.
--mapstringnoMap a file header to a Contact field: header=target, for example "LinkedIn Profile=linkedin_url"; repeatable.
--delimiterstringnoA CSV's separator: comma, semicolon or tab. Default: found by the server.
--no-waitbooleannoPrint the imports' ids without waiting for them to finish. Stops only on a refused request.

Also accepts these global flags: --api-key, --profile, --account, --team, --base-url, --timeout, --json, --fields, --preview, --verbose, --beta.

Exit codes: the exit code table. More commands: Contact.