Skip to main content

Output schemas

All landbase-cli commands write JSON to stdout on success. This page documents the shape of each command’s response.

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.

contact-enrich submit (with —wait)


contact-enrich submit (without —wait)

Use landbase-cli contact-enrich get <request_id> to retrieve results when the job completes.

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" }.

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.

Error response (stderr)