Search & Insights
Once records are resolved, you get one clean entity to query. Fetch it by any record, search it fuzzily ranked by relevance, aggregate across every source, and ask what-if — all over a single GraphQL API, in milliseconds.
One entity, many ways to ask
Fetch by entity ID, look it up from any single record, or search fuzzily and get results ranked by hitScore. Switch tabs to see the GraphQL request and the response it returns.
query {
entity(id: "E-4471") {
id score
records { source email }
recordInsights {
orders: sum(field: "orders")
}
}
} { "data": { "entity": {
"id": "E-4471",
"score": 0.96,
"records": [
{ "source": "Shopify", "email": "jsmith@googlemail.com" },
… 4 more
],
"recordInsights": { "orders": 14 }
} } } Ask “what if this record weren’t here?”
recordInsights aggregate across every source into one Customer 360. With considerRecords you can drop a source and watch the aggregates recompute — no re-ingest, no rebuild.
Excluding a record mirrors considerRecords — the entity stays intact; only the view recomputes.
Ranked by relevance
search returns entities ordered by hitScore — how closely each match aligns with the query — so the best candidate is always first. Page and sort as you like.
Insights, not just records
recordInsights and edgeInsights aggregate, count, group, and distribute across an entity’s data — turn a pile of records into answers without a separate analytics job.
Real-time, sub-150ms
Queries hit the resolved graph directly. No batch, no nightly rebuild — the entity you read reflects the record you wrote a moment ago.
Query your unified customers
Explore the full GraphQL schema in the docs, or book a demo to see it against your own resolved data.