Understanding Project Entity
What is a Project Entity?
A Project Entity serves as an “envelope” for one-to-many possible matches returned from Sayari’s Knowledge Graph via the match resolution process. Its primary purpose is to provide clients with a single, unified representation for a given real-world entity.
Three-Tier Hierarchy
Project Entities operate within a three-tier structure:
Project Level
The top-level container where project_entity_id
values are stored. Projects organize related entities for specific business units, use cases, or investigations. Each project has a unique project_id
.
Project Entity Level
The mid-level “envelope” that houses matched entity_id
s. This layer not only contains related entities but also summarizes and de-duplicates risk as well as supply-chains from the entities below it. The project_entity_id
also functions as a stable key within a given project.
Match Level
The base level of the structure. Each match represents a specific entity from Sayari’s Knowledge Graph with its own unique entity_id
. These matched entities contain the underlying attributes, risk factors, relationships, and source data that power your risk assessment and due diligence workflows.

Key Concepts
Uniqueness
Each project_entity_id
is unique to a specific project_id
and set of input parameters provided during matching.
Tip use the Project Entity Exists endpoint as a duplicate check to avoid redundant matching.
Stability
Within a project, the project_entity_id
remains static for the same set of input parameters, providing reliable reference points for integration.
Risk Summary
Risk factors from individual matched entities are consolidated at the Project Entity level, providing a comprehensive risk profile for the real-world entity.
Working with Project Entities
Best Practices
Use Project Entity ID as Primary Key
When integrating with internal systems, use the project_entity_id
as your primary reference key rather than individual entity_id
values, ensuring consistency even if underlying matches change.
Minimize Redundant Matching
Store previously matched parameters and their resulting project_entity_id
values to avoid unnecessary re-matching of similar inputs.
Provide Comprehensive Attributes
Include as many identifying attributes as possible (name, address, identifiers, country) to improve match precision.
Response Structure
The Project Entity response follows a hierarchical structure:
Top-Level Properties
Attributes Object
The attributes object contains the input parameters used during the matching process:
Each attribute includes:
resolve
(Boolean): Indicates if this attribute was used in match resolutionvalues
(Array): Input values, each containing avalue
object with the actual data
Risk Categories Structure
Risk categories provide organized groupings of related risk factors:
Risk Factors Structure
Individual risk factors are listed as simple objects:
To retrieve additional risk metadata such as descriptions, utilize the Get Risk Factors endpoint.
Upstream Object Structure
The upstream object contains supply chain and trade information:
Matches Array
Each match entry represents a potential entity match from Sayari’s Knowledge Graph:
Key Match Properties
Match Upstream Structure
The upstream object within matches includes additional trade count information:
Sources Array Structure
Sources provide detailed provenance information:
Addresses Array Structure
Relationship Count Structure
Frequently Asked Questions
How stable is the project entity id?
Within a given project, the project entity id will remain stable for a specific set of input parameters and values, ensuring consistency for ongoing operations.
Why do multiple matches appear in the project entity?
Multiple matches typically appear when provided attributes are less specific (e.g., name: “Sovcom Bank”, country: “RUS”) and target multi-national entities with several distinct legal entities. Clients who provide more specific attributes such as identifiers are less likely to encounter multiple matches.
How many matches can appear in a given project entity?
Up to 10 matches can appear in a given project entity.
Can I remove or add entities from a match group?
Individual matches / entity_ids can be removed from the group through the API, allowing for manual refinement when necessary. Support to add matches to the group is planned for future development.
What happens to rolled up risk if I add or remove entities from the match group?
When you remove entities from a match group, the system automatically recalculates the rolled-up risk to accurately reflect the cumulative risk profile of the remaining entities. This ensures that risk assessments remain current and comprehensive at the Project Entity level.
How many project entity IDs can I store within a single project?
Current guidance is to store up to 100,000 project entities per project.
Can the Project Entity be used for ongoing monitoring?
Yes, the Project Entity can serve as the stable reference point for monitoring entities identified in a screening process.