When Middesk verifies a business, it analyzes the people, addresses, and business data associated with that business to discover connections to other businesses in its identity graph. These connections surface other businesses that may share common ownership, management, or operating locations, enabling more comprehensive due diligence without manual research.
Middesk automatically discovers connections when you create a business. See the quickstart for a basic introduction to verifying a business.
Middesk maintains an identity graph built from Secretary of State registrations, business filings, and other public records. When Middesk verifies a business, it compares the business’s people, addresses, and data against this graph to find other businesses that share those attributes. A shared officer appearing on two businesses, an overlapping registered address, or a common business relationship each represent a connection worth investigating.
Each discovered connection includes a confidence score between 0 and 1 that reflects the overall strength of the connection. The score increases when multiple attributes overlap. Middesk returns results in descending order by confidence, so the strongest connections appear first.
The API returns up to 250 connections per business and omits any beyond that limit.
Every connection includes the specific connecting elements that link it to the ordered business. There are three connecting element types:
Middesk populates the sources array from the ordered business’s own authoritative records. Inbound references have an empty sources array because the evidence lives on the connected business’s records, not the ordered business’s. To access sources from the connecting business, order a report for the connected business. See Order a report from a connection below.
The confidence field is a float between 0 and 1 that represents how strongly two businesses are connected. Higher values indicate more overlapping data points across the connection types described above.
The score combines weighted signals:
Use the confidence score to prioritize which connections to investigate first. Connections with high confidence are strong leads for further diligence, while lower-confidence connections may warrant manual review.
To discover connections, first create a new business or retrieve an existing verified business.
Wait for the business.updated webhook indicating verification is complete. Set up webhooks to receive notifications.
Once Middesk verifies the business, retrieve its connections. The API paginates results and orders them by confidence score.
Pass page and per_page query parameters to paginate through results.
Each connection in the response includes the connecting people, addresses, and businesses that link it to the ordered business, along with a confidence score.
In this example, “Acme Holdings LLC” shares a person (John Doe, listed as CEO), a primary address, a registered agent, and is also named as its manager on the ordered business’s SOS filing. Together, these signals produce a high confidence score of 0.96. The connected_business_id is null because you haven’t ordered a report on this connection yet.
The connecting_businesses array shows all three reference types: an outbound reference where the ordered business’s own SOS filing names “Acme Holdings LLC” as its owner (sources populated); an inbound reference where “Acme Holdings LLC“‘s filing names “Acme Corporation” (sources and titles empty because the evidence lives on the connected business’s records, not the ordered business’s); and a shared reference to “National Registered Agents Inc”, a registered agent company that appears on both businesses’ filings (sources populated).
To investigate a connection further, create a new business using the connection id as the connection_id. This pre-fills the business details from the connection so you don’t need to provide them manually.
When you provide a connection_id:
connected_business_id on the original connection updates to link back to the newly created businessYou can’t combine connection_id with signal_id. The API allows only one source parameter per request.