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

{
  "run_id": "run_abc123",
  "session_id": "ses_xyz789",
  "dataset_id": "ds_def456",
  "status": "complete",
  "content": "Found 142 B2B SaaS companies in New York...",
  "created_at": "2026-06-05T10:00:00Z"
}
FieldTypeDescription
run_idstringID of this agent run
session_idstringUUID of the session this run belongs to
dataset_idstringID of the dataset created by this search
statusstringcomplete, failed, or pending
contentstringPlain-English summary of results
created_atstringISO 8601 timestamp

match person / match company

{
  "result": {
    "tier": "strong",
    "match_reason": "Matched on LinkedIn URL and company domain",
    "candidate": {
      "member_name_first": "Sarah",
      "member_name_last": "Chen",
      "member_websites_linkedin": "https://www.linkedin.com/in/sarahchen",
      "member_title": "VP of Sales",
      "company_domain": "acme.com",
      "company_name": "Acme Corp"
    }
  }
}
FieldTypeDescription
result.tierstringstrong, likely, plausible, or unlikely
result.match_reasonstringHuman-readable explanation of match signals
result.candidateobjectThe matched record’s fields

enrich

{
  "person": {
    "member_name_first": "Sarah",
    "member_name_last": "Chen",
    "member_title": "VP of Sales",
    "member_seniority": "vp",
    "member_department": "sales",
    "member_websites_linkedin": "https://www.linkedin.com/in/sarahchen"
  },
  "company": {
    "company_name": "Acme Corp",
    "company_domain": "acme.com",
    "company_industry": "Software",
    "company_size_range": "51-200",
    "company_hq_city": "New York",
    "company_hq_state": "NY",
    "company_hq_country": "United States"
  }
}
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)

{
  "request_id": "cer_abc123",
  "status": "SUCCEEDED",
  "results": [
    {
      "first_name": "Sarah",
      "last_name": "Chen",
      "email": "sarah.chen@acme.com",
      "phone": "+14155551234",
      "linkedin_url": "https://www.linkedin.com/in/sarahchen",
      "company_domain": "acme.com"
    }
  ],
  "total": 1,
  "enriched": 1,
  "failed": 0
}
FieldTypeDescription
request_idstringID to retrieve this job later with contact-enrich get
statusstringSUCCEEDED, FAILED, or USER_REJECTED
resultsarrayOne object per input contact
results[].emailstring or absentWork email if found
results[].phonestring or absentDirect phone if found and --enrich-phone was passed
totalnumberTotal contacts submitted
enrichednumberContacts with at least one enriched field
failednumberContacts that could not be processed

contact-enrich submit (without —wait)

{
  "request_id": "cer_abc123",
  "status": "PENDING"
}
Use landbase-cli contact-enrich get <request_id> to retrieve results when the job completes.

datasets list

[
  {
    "id": "ds_abc123",
    "name": "CRM Export Jun 2026",
    "created_at": "2026-06-05T10:00:00Z",
    "row_count": 142,
    "status": "ready"
  }
]

datasets show

{
  "id": "ds_abc123",
  "name": "CRM Export Jun 2026",
  "created_at": "2026-06-05T10:00:00Z",
  "row_count": 142,
  "status": "ready",
  "fields": ["company_name", "company_domain", "industry"],
  "runs": []
}
runs is populated when --include-runs is passed.

upload

{
  "id": "ds_abc123",
  "name": "CRM Export Jun 2026",
  "status": "ready"
}

workflow trigger (without —wait)

{
  "workflow_run_id": "wfr_abc123",
  "dataset_id": "ds_abc123",
  "status": "pending"
}

runs list

[
  {
    "run_id": "run_abc123",
    "session_id": "ses_xyz789",
    "dataset_id": "ds_def456",
    "status": "complete",
    "content": "Found 142 B2B SaaS companies...",
    "created_at": "2026-06-05T10:00:00Z"
  }
]

Error response (stderr)

{
  "error": {
    "code": "AUTH_FAILED",
    "message": "No valid API key or session found.",
    "meta": {}
  }
}