Common Types

Shared types and models used across the API.

CriteriaItem

Represents a search or enrichment criterion.

{
  name: string;                // Criterion name (required)
  value?: string;              // Criterion value
  column_name?: string;        // Associated column name
  columnType?: string;         // Column display type
  description?: string;        // Criterion description
  type?: string;               // Criterion type
}

Example:

{
  "name": "Industry",
  "value": "SaaS",
  "column_name": "industry",
  "description": "Software as a Service companies"
}

TableStructure

Complete table structure with columns and rows.

{
  columns: TableColumn[];      // Table columns
  rows: TableRow[];            // Table rows
  total_target: number;        // Target row count (default: 25)
  current_count: number;       // Current row count (default: 0)
}

TableColumn

Table column definition.

{
  id: string;                  // Unique column ID (required)
  header: string;              // Display name (required)
  type: string;                // 'fixed' | 'dynamic' | 'custom' (required)
  width: number;               // Column width in pixels (default: 180)
  required: boolean;           // Whether required (default: false)
  columnType?: string;         // Display type ('badge' | 'text' | etc.)
  dataType?: string;           // Data type ('string' | 'array' | etc.)
}

TableRow

Table row with cells.

{
  id: string;                  // Unique row ID (required)
  cells: Record<string, TableCell>;  // Cells keyed by column_id
  step_source?: string;        // Which step generated this row
  metadata: object;            // Row metadata (source, _id, etc.)
}

TableCell

Individual table cell with status.

{
  row_id: string;              // Row identifier (required)
  column_id: string;           // Column identifier (required)
  value?: string;              // Cell value
  status: CellStatus;          // Cell status (default: 'pending')
  metadata?: object;           // Additional cell metadata
  expandable?: boolean;        // Whether expandable (default: false)
}

CellStatus

Cell status enumeration.

type CellStatus = 
  | 'pending'
  | 'loading'
  | 'completed'
  | 'error'
  | 'cancelled'
  | 'empty';

CSVColumnDescription

Column description for CSV import.

{
  column_name: string;         // Display column name (required)
  description: string;         // Column description (required)
  column_id?: string;          // Original CSV column name
}

Note: column_name and description are user-editable. column_id is preserved for mapping.


Enrichment Types

type EnrichmentType = 
  | 'custom'
  | 'contacts'
  | 'people'
  | 'predefined'
  | 'people_predefined';

Workflow Types

type WorkflowType = 
  | 'list_builder'
  | 'base_data_list'
  | 'predefined_agent';

Workflow Steps

Common workflow step values:

  • criteria_extraction - Extracting search criteria
  • waiting_for_user - Waiting for user input
  • data_collection - Collecting data
  • enrichment - Enriching data
  • processing - Processing results
  • completed - Workflow complete
  • error - Workflow failed

Next Steps