Skip to main content

Output schemas

Commands that return data write JSON to stdout on success. Progress and human-readable status messages may be written to stderr; auth status, for example, reports authentication state there. This page documents the main machine-readable response shapes.

search / default query


match person / match company


enrich

Fields present depend on which --company-fields or --person-fields you requested. Absent fields were not requested or not available.

workflow contact-enrich

Contact enrichment is a dataset workflow. The trigger and wait responses contain workflow metadata, including the workflow run ID and, after success, the enriched child dataset ID.
Use landbase-cli workflow status <workflow-run-id> or landbase-cli workflow wait <workflow-run-id> to inspect the run. Continue with output_dataset_id; it is a child dataset and does not replace the source dataset in place. See workflow contact-enrich for channel flags, row slices, background recovery, and pending-row behavior.

datasets list


datasets show

runs is populated when --include-runs is passed.

upload


workflow trigger (without —wait)


runs list


account

landbase-cli account (no args) — the active account, read from local config:
landbase-cli account list — every account the user can access:
landbase-cli account set prints the newly active account: { "accountId": "5093" }. landbase-cli account users — the users of the active account you can assign campaigns or dialer sessions to (Account Owners see every current member; everyone else sees only themselves):

onboarding get

Iterate schema and ask the user the question verbatim for every entry where required is true and filled is false, then submit one update combining the answers.

onboarding update

Request body — a partial payload; at least one section is required:
The response echoes the updated profile in the same shape as onboarding get. Partial-merge rules. aboutCompany and aboutCompetition are partial-mergeable — send only the fields you’re changing and the server spreads them over current state. aboutAudience must be a complete segment (every required audience field in one payload); the validator rejects partials. Field types (per schema.type — what to put on the wire): Clear a field. The merge is a JS object spread ({ ...current, ...incoming }), so the incoming value wins — including null and []. To clear a field, send it explicitly with a falsy/empty value, e.g. { "aboutCompany": { "customerCount": null, "painPoints": [] } }. Omitting a field preserves its prior value. Clearing a required field flips it back to filled: false and the validator may reject the next update until it’s refilled.

contacts-import

contacts-import start response (202 Accepted):
runRef is for audit only — don’t branch on it. Processing is asynchronous; poll status <importId> until phase is terminal. contacts-import status / wait / start --watch final status — a compact, stable shape (keys present in every phase, null until known):

email-campaigns status


email-campaigns list


linkedin-campaigns status


linkedin-campaigns list

Same shape as email-campaigns list.

dialer-sessions

landbase-cli dialer-sessions create --json session.json:
landbase-cli dialer-sessions status 9:
See dialer-sessions for the create body and full workflow.

Error response (stderr)