StreamFuse

How StreamFuse Works

StreamFuse resolves messy records into durable entity IDs across streaming API calls and bulk imports. It combines extracted identifiers, configurable entity-type behavior, vector candidate search, and explainable match decisions.

1

You send records by API or CSV/XLSX upload.

2

StreamFuse extracts identifiers, finds candidates, and applies match rules.

3

You get a canonical entity ID with confidence and audit context.

This page walks through the current buyer workflow end to end.

1. Choose an Entity Type

Key idea

The entity type tells StreamFuse what kind of thing you are resolving, such as a person, company, device, product, claim, or account.

In Practice

You can start with a simple entity type name, then tighten behavior as you learn where the data overmatches or undermatches.

  • Flexible JSON records are accepted through the API.
  • CSV and XLSX files can be imported through Data Import.
  • Entity-type-specific rules can place more weight on identifiers, names, emails, addresses, SKUs, or other strong fields.

Choosing precision vs recall

Context

The most important product decision is how aggressively StreamFuse should merge records. A support workflow may prefer conservative matching; an analytics dedupe workflow may prefer broader candidate discovery.

Definition
Precision

How often a match is correct. Higher precision means fewer false positives.

Recall

How many true matches are found. Higher recall means fewer false negatives.

Precision-first Conservative ↔ Aggressive Recall-first
Precision-first

Fewer false positives. Safer for regulated or customer-facing systems. Recommended when incorrect merges are costly.

Recall-first

Fewer false negatives. Better at finding all possible matches. Recommended for investigation, analytics, or enrichment pipelines.

Presets

Admins can choose the same matching profiles in the app or through the API:

  • high-precision
  • person-matching
  • company-matching
  • high-recall
  • balanced
  • default
These presets can later be fine-tuned, but most teams start with one and iterate.

Match Profiles are configured per entity type. A product import can run high precision while people and account enrichment workflows use person-matching, company-matching, balanced, or recall-first behavior.

2. Bring Data In

StreamFuse supports two practical onboarding paths.

POST /v1/identify

API path

Send one record at a time for streaming systems, enrichment pipelines, or application workflows.

You provide:

  • entity_type
  • source_system
  • external_id
  • record JSON payload
View in API Reference →

UI Data Import

Bulk path

Upload CSV or XLSX files when you want to evaluate matching behavior without writing code first.

You provide:

  • An organization workspace
  • An entity type
  • A source system label
  • A file with records to resolve

The import screen shows status, progress, recent throughput, and performance hints while worker jobs process the file.

3. How Matching Works

The matching pipeline is intentionally hybrid. Identifiers matter a lot, but they are not the only signal; text similarity helps when identifiers are missing, inconsistent, or duplicated across systems.

Pipeline
  • Normalize the incoming record. StreamFuse extracts useful text and identifiers from flexible payloads.
  • Find candidates. Approximate vector search narrows the comparison set so every record is not compared to every entity.
  • Score candidates. The system combines vector similarity, extracted identifiers, source fields, and entity-type rules.
  • Apply vetoes and thresholds. Strong contradictory signals can block a merge even when the text looks similar.
  • Link or create. StreamFuse returns the matched entity or creates a new one.
Why this matters

Pure fuzzy matching can overmerge. Pure identifier matching can miss real-world duplicates. StreamFuse is designed to let identifiers, text, and entity-type rules work together.

4. Inspect Results

After records are resolved, you can inspect what happened from the dashboard or API.

Entities

Browse canonical entity IDs, filter by entity type, and open an entity to review linked records.

Records

Look up raw source records and trace which entity they were linked to.

Imports

Track bulk import progress, success and failure counts, throughput, and stale-job signals.

GET /v1/entity/{entity_id}/records

Retrieve Entity Records

Once you have an entity ID, you can retrieve:

  • All records associated with that entity
  • Across source systems
  • With full record payloads

This allows you to:

  • Inspect how an entity was formed
  • Audit merged records
  • Power downstream systems with canonical views
View in API Reference →

5. Operate and Iterate

GET /v1/identify/jobs/{job_id}

Check Job Status (Async workflows)

When using async identify mode, StreamFuse returns a job_id.

This endpoint allows you to:

  • Poll job status
  • Retrieve results once processing completes

This is useful for:

  • High-throughput pipelines
  • Background processing
  • Batch-like async integrations
View in API Reference →

StreamFuse handles the repetitive resolution mechanics:

  • Canonical entity IDs
  • Candidate search
  • Match scoring
  • Bulk job tracking
  • Entity and record inspection

You focus on data sources and match policy. StreamFuse handles the resolution workflow.

6. API Reference

For full request/response schemas, examples, and error details, see the interactive API reference.