contacts-import is a platform-mode command. Before running it:landbase-cli auth login— authenticate the session.landbase-cli account set— pick and persist the target account.- Have a
datasetIdfrom a prior search or agent run — the CLI does not produce datasets, so run a search/agent flow first.
No account id...; pass
--account=<id> per call as an escape hatch.contacts-import start
Start an import. Reads a JSON body —{ datasetId, tagName, importId? } — and
enqueues processing in one call. Pass - to read the body from stdin. Returns
{ importId, runRef }. With --watch, the command stays attached, polls until
the import is terminal, and writes the final status to stdout instead of the
start response.
Usage
Path to a JSON file with the import body, or
- to read it from stdin. Body
shape: { "datasetId": "<dataset-id>", "tagName": "Q2 outreach", "importId"?: 7 }.
datasetId and tagName (1–100 chars) are required; importId resumes an
existing draft.contacts-import status
Read one status snapshot. Designed for scripts that drive their own polling loop. UsageThe import id returned by
contacts-import start.{ importId, phase, percent, counts, error } —
where keys are present in every phase and null until known. See
output schemas.
contacts-import wait
Block until the import is terminal, then print the final status to stdout. Runs the same polling loop asstart --watch, streaming a progress line to stderr per
poll. Backoff schedule: 5s, 10s, then a 20s cap; overall timeout 30 minutes.
Usage
The import id to wait on.
wait (or start --watch) over an external polling loop unless you need
a custom cadence. Avoid sub-second polling — it won’t return results faster and
may trip rate limits.
Phases
phase is the value to branch on. The import is done once it reaches a terminal
phase.

