client.attributes.post_attribute(...)
-
-
-
Adds a new attribute to an entity in the project
-
-
-
from sayari import Sayari from sayari.attributes import AddAttribute client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.attributes.post_attribute( request=AddAttribute( entity="zq04axX2dLn9tE6W6Q8Qhg", type="address", value={ "street1": "1600 Pennsylvania Avenue NW", "city": "Washington DC", "state": "Washington DC", "postalCode": "20500", "country": "US", }, to_date="2024-04-30", from_date="2024-01-01", date="2024-02-15", ), )
-
-
-
request:
AddAttribute
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.attributes.patch_attribute(...)
-
-
-
This endpoint is in beta and is subject to change. It is provided for early access and testing purposes only. Updates an existing Attribute
-
-
-
from sayari import Sayari from sayari.attributes import UpdateAttribute client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.attributes.patch_attribute( attribute_id="enEwNGF4WDJkTG45dEU2VzZROFFoZ3xhZGRyZXNzfDBwbEVCMHxVNzhzN21yOUVFTThIZ3pwREM3UDFB", request=UpdateAttribute( value={ "street1": "1600 Pennsylvania Avenue NW", "city": "Washington DC", "state": "Washington DC", "postalCode": "20500", "country": "US", }, to_date="2024-04-30", from_date="2024-01-01", date="2024-02-15", ), )
-
-
-
attribute_id:
str
-
request:
UpdateAttribute
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.attributes.delete_attribute(...)
-
-
-
This endpoint is in beta and is subject to change. It is provided for early access and testing purposes only. Delete an existing Attribute
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.attributes.delete_attribute( attribute_id="enEwNGF4WDJkTG45dEU2VzZROFFoZ3xhZGRyZXNzfDBwbEVCMHxVNzhzN21yOUVFTThIZ3pwREM3UDFB", )
-
-
-
attribute_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.auth.get_token(...)
-
-
-
Hit the auth endpoint to get a bearer token
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.auth.get_token( client_id="your client_id here", client_secret="your client_secret here", )
-
-
-
client_id:
str
-
client_secret:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.entity.get_entity(...)
-
-
-
To retrieve a L1 Due Dilligence PDF Report. Include 'Accept: application/pdf' in request headers. Retrieve an entity profile from the database based on the entity ID. This endpoint returns the full profile, entity_summary returns the same payload minus relationships.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.entity.get_entity( id="mGq1lpuqKssNWTjIokuPeA", attributes_name_limit=1, attributes_address_limit=1, attributes_country_limit=1, attributes_additional_information_limit=1, attributes_business_purpose_limit=1, attributes_company_type_limit=1, attributes_identifier_limit=1, attributes_status_limit=1, relationships_limit=1, possibly_same_as_limit=1, referenced_by_limit=1, )
-
-
-
id:
str— Unique identifier of the entity
-
attributes_additional_information_next:
typing.Optional[str]— The pagination token for the next page of attributeadditional_information.
-
attributes_additional_information_prev:
typing.Optional[str]— The pagination token for the previous page of attributeadditional_information.
-
attributes_additional_information_limit:
typing.Optional[int]— Limit total values returned for attributeadditional_information. Defaults to 100.
-
attributes_address_next:
typing.Optional[str]— The pagination token for the next page of attributeaddress.
-
attributes_address_prev:
typing.Optional[str]— The pagination token for the previous page of attributeaddress.
-
attributes_address_limit:
typing.Optional[int]— Limit total values returned for attributeaddress. Defaults to 100.
-
attributes_business_purpose_next:
typing.Optional[str]— The pagination token for the next page of attributebusiness_purpose.
-
attributes_business_purpose_prev:
typing.Optional[str]— The pagination token for the previous page of attributebusiness_purpose.
-
attributes_business_purpose_limit:
typing.Optional[int]— Limit total values returned for attributebusiness_purpose. Defaults to 100.
-
attributes_company_type_next:
typing.Optional[str]— The pagination token for the next page of attributecompany_type.
-
attributes_company_type_prev:
typing.Optional[str]— The pagination token for the previous page of attributecompany_type.
-
attributes_company_type_limit:
typing.Optional[int]— Limit total values returned for attributecompany_type. Defaults to 100.
-
attributes_country_next:
typing.Optional[str]— The pagination token for the next page of attributecountry.
-
attributes_country_prev:
typing.Optional[str]— The pagination token for the previous page of attributecountry.
-
attributes_country_limit:
typing.Optional[int]— Limit total values returned for attributecountry. Defaults to 100.
-
attributes_identifier_next:
typing.Optional[str]— The pagination token for the next page of attributeidentifier.
-
attributes_identifier_prev:
typing.Optional[str]— The pagination token for the previous page of attributeidentifier.
-
attributes_identifier_limit:
typing.Optional[int]— Limit total values returned for attributeidentifier. Defaults to 100.
-
attributes_name_next:
typing.Optional[str]— The pagination token for the next page of attributename.
-
attributes_name_prev:
typing.Optional[str]— The pagination token for the previous page of attributename.
-
attributes_name_limit:
typing.Optional[int]— Limit total values returned for attributename. Defaults to 100.
-
attributes_status_next:
typing.Optional[str]— The pagination token for the next page of attributestatus.
-
attributes_status_prev:
typing.Optional[str]— The pagination token for the previous page of attributestatus.
-
attributes_status_limit:
typing.Optional[int]— Limit total values returned for attributestatus. Defaults to 100.
-
relationships_next:
typing.Optional[str]— The pagination token for the next page of relationship results
-
relationships_prev:
typing.Optional[str]— The pagination token for the previous page of relationship results
-
relationships_limit:
typing.Optional[int]— Limit total relationship values. Defaults to 50.
-
relationships_type:
typing.Optional[Relationships]— Filter relationships to relationship type, e.g. director_of or has_shareholder
-
relationships_sort:
typing.Optional[str]— Sorts relationships by As Of date or Shareholder percentage, e.g. date or -shares
-
relationships_start_date:
typing.Optional[dt.date]— Filters relationships to after a date
-
relationships_end_date:
typing.Optional[dt.date]— Filters relationships to before a date
-
relationships_min_shares:
typing.Optional[int]— Filters relationships to greater than or equal to a Shareholder percentage
-
relationships_country:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Filters relationships to a list of countries
-
relationships_arrival_country:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Filters shipment relationships to a list of arrival countries
-
relationships_arrival_state:
typing.Optional[str]— Filters shipment relationships to an arrival state
-
relationships_arrival_city:
typing.Optional[str]— Filters shipment relationships to an arrival city
-
relationships_departure_country:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Filters shipment relationships to a list of departure countries
-
relationships_departure_state:
typing.Optional[str]— Filters shipment relationships to a departure state
-
relationships_departure_city:
typing.Optional[str]— Filters shipment relationships to a departure city
-
relationships_partner_name:
typing.Optional[str]— Filters shipment relationships to a trade partner name
-
relationships_partner_risk:
typing.Optional[typing.Union[Risk, typing.Sequence[Risk]]]— Filters shipment relationships to a trade partner risk tag
-
relationships_hs_code:
typing.Optional[str]— Filters shipment relationships to an HS code
-
possibly_same_as_next:
typing.Optional[str]— The pagination token for the next page of possibly same entities.
-
possibly_same_as_prev:
typing.Optional[str]— The pagination token for the previous page of possibly same entities.
-
possibly_same_as_limit:
typing.Optional[int]— Limit total possibly same as entities. Defaults to 100.
-
referenced_by_next:
typing.Optional[str]— The pagination token for the next page of the entity's referencing records
-
referenced_by_prev:
typing.Optional[str]— The pagination token for the previous page of the entity's referencing records
-
referenced_by_limit:
typing.Optional[int]— Limit totals values returned for entity's referencing records. Defaults to 100.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.entity.entity_summary(...)
-
-
-
The Entity Summary endpoint returns a similar payload, minus relationships.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.entity.entity_summary( id="mGq1lpuqKssNWTjIokuPeA", )
-
-
-
id:
str— Unique identifier of the entity
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.info.get_usage(...)
-
-
-
The usage endpoint provides a simple interface to retrieve information on usage made by your API account. This includes both views per API path and credits consumed. The time period for the usage query is also specified in the response and whether or not this includes total usage.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.info.get_usage()
-
-
-
from_:
typing.Optional[dt.date]— An ISO 8601 encoded date string indicating the starting time period to obtain usage stats. In the format YYYY-MM-DD
-
to:
typing.Optional[dt.date]— An ISO 8601 encoded date string indicating the ending time period to obtain usage stats. In the format YYYY-MM-DD
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.info.get_history(...)
-
-
-
The history endpoint return a user's event history.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.info.get_history()
-
-
-
events:
typing.Optional[typing.Union[str, typing.Sequence[str]]]— The type of events to filter on.
-
from_:
typing.Optional[dt.date]— An ISO 8601 encoded date string indicating the starting time period for the events. In the format YYYY-MM-DD
-
to:
typing.Optional[dt.date]— An ISO 8601 encoded date string indicating the ending time period for the events. In the format YYYY-MM-DD
-
size:
typing.Optional[int]— Size to limit number of events returned
-
token:
typing.Optional[str]— Pagination token to retrieve the next page of results
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.metadata.metadata()
-
-
-
Get metadta about the api, both its versions, which releases are present, and the identity of the authenticated user.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.metadata.metadata()
-
-
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.negative_news.negative_news(...)
-
-
-
This endpoint is in beta and subject to change Screens entities against news articles and public records to identify risk-relevant content. Leverages machine learning to detect and classify risks across various domains. Provides detailed article metadata with risk assessments and direct source references.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.negative_news.negative_news( name="Alameda Research", topic="financial", )
-
-
-
name:
str— Target entity name for adverse media screening.
-
topic:
typing.Optional[Topics]— Risk category filter for targeted screening. Each topic represents a distinct risk domain (e.g.,environmentalfor environmental violations,financialfor financial misconduct).
-
until:
typing.Optional[dt.date]— Date cutoff for article inclusion inYYYY-MM-DDformat. If provided, only articles published after this date will be included in results.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.notifications.project_notifications(...)
-
-
-
Legacy endpoint. New integrations should contact Sayari for best practices. The Project Notifications endpoint returns a list of notifications on all entities saved to a project.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.notifications.project_notifications( id="0oZnoG", limit=20, sort="-date", )
-
-
-
id:
str— Unique identifier of the project
-
limit:
typing.Optional[int]— Limit total notifications in the response. Defaults to 100.
-
offset:
typing.Optional[int]— Offset which notifications are returned. Defaults to 0.
-
sort:
typing.Optional[NotificationsSortField]
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.notifications.resource_notifications(...)
-
-
-
Legacy endpoint. New integrations should contact Sayari for best practices. The Resource Notifications endpoint returns a list of notifications for a saved entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.notifications.resource_notifications( id="03ePyj", limit=20, )
-
-
-
id:
str— Unique identifier of the resource
-
limit:
typing.Optional[int]— Limit total notifications in the response. Defaults to 100.
-
offset:
typing.Optional[int]— Offset which notifications are returned. Defaults to 0.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.notifications.delete_project_notifications(...)
-
-
-
Legacy endpoint. New integrations should contact Sayari for best practices. Deletes all notifications from a project.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.notifications.delete_project_notifications( project_id="YWmNKV", )
-
-
-
project_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.notifications.delete_entity_notifications(...)
-
-
-
Legacy endpoint. New integrations should contact Sayari for best practices. Deletes notifications for saved resources of an entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.notifications.delete_entity_notifications( entity_id="N0xLDy4wcud-M1ZtwdsvRA", )
-
-
-
entity_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.notifications.delete_resource_notifications(...)
-
-
-
Legacy endpoint. New integrations should contact Sayari for best practices. Deletes notifications for a saved resource.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.notifications.delete_resource_notifications( resource_id="oGxxqG", )
-
-
-
resource_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_ontology()
-
-
-
Get ontology data for all resource types.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_ontology()
-
-
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_attributes(...)
-
-
-
Get attributes from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_attributes( id=["additional_information"], )
-
-
-
id:
typing.Optional[typing.Sequence[Attributes]]— Attribute Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_countries(...)
-
-
-
Get countries from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_countries( id=["USA"], )
-
-
-
id:
typing.Optional[typing.Sequence[Country]]— Country Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_currencies(...)
-
-
-
Get currencies from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_currencies( id=["USD"], )
-
-
-
id:
typing.Optional[typing.Sequence[Currency]]— Currency Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_entity_types(...)
-
-
-
Get entity types from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_entity_types( id=["aircraft"], )
-
-
-
id:
typing.Optional[typing.Sequence[Entities]]— Entity type Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_enums(...)
-
-
-
Get enums from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_enums( id=["address_type"], )
-
-
-
id:
typing.Optional[typing.Sequence[str]]— Enum Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_hs_codes(...)
-
-
-
Get HS codes from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_hs_codes( code=["1503"], )
-
-
-
code:
typing.Optional[typing.Sequence[str]]— HS code filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_identifiers(...)
-
-
-
Get identifiers from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_identifiers( id=["aer_free_zone_license"], )
-
-
-
id:
typing.Optional[typing.Sequence[IdentifierType]]— Identifier Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_languages(...)
-
-
-
Get languages from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_languages( id=["en"], )
-
-
-
id:
typing.Optional[typing.Sequence[Language]]— Language Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_regions(...)
-
-
-
Get regions from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_regions( id=["usa_&_canada"], )
-
-
-
id:
typing.Optional[typing.Sequence[str]]— Region Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_relationships(...)
-
-
-
Get relationships from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_relationships( id=["auditor_of"], )
-
-
-
id:
typing.Optional[typing.Sequence[Relationships]]— Relationship Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_risk_factors(...)
-
-
-
Get risk factors from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_risk_factors( id=["psa_owner_of_ofac_fto_sanctioned"], risk_category=["sanctions"], level=["high"], risk_type=["network"], enabled=True, visible=True, )
-
-
-
id:
typing.Optional[typing.Sequence[Risk]]— Risk factor Id filter.
-
risk_category:
typing.Optional[typing.Sequence[RiskCategory]]— Risk category filter.
-
level:
typing.Optional[typing.Sequence[RiskLevel]]— Risk level filter.
-
risk_type:
typing.Optional[typing.Sequence[str]]— Risk type filter.
-
enabled:
typing.Optional[bool]— Risk enabled filter.
-
visible:
typing.Optional[bool]— Risk visible filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_sources(...)
-
-
-
Get sources from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_sources( id=["e85d865943ee6d8369307569d2ad9de0"], country=["XXX"], source_type=["adverse_media_/_negative_news_data"], )
-
-
-
id:
typing.Optional[typing.Sequence[str]]— Source Id filter.
-
country:
typing.Optional[typing.Sequence[Country]]— Source country filter.
-
source_type:
typing.Optional[typing.Sequence[str]]— Source type filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.ontology.get_source_types(...)
-
-
-
Get source types from ontology data.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.ontology.get_source_types( id=["adverse_media_/_negative_news_data"], )
-
-
-
id:
typing.Optional[typing.Sequence[str]]— Source type Id filter.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_attributes.get_project_entity_attributes(...)
-
-
-
Retrieves all attributes for a project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_attributes.get_project_entity_attributes( project_id="V03eYM", project_entity_id="BG72YW", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_attributes.create_project_entity_attribute(...)
-
-
-
Creates a new attribute for a project entity.
-
-
-
from sayari import Sayari from sayari.project_entity_attributes import CreateProjectEntityAttributeRequest client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_attributes.create_project_entity_attribute( project_id="V03eYM", project_entity_id="BG72YW", request=CreateProjectEntityAttributeRequest( field="custom_phone", value="+1-555-123-4567", match_resolution=False, ), )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request:
CreateProjectEntityAttributeRequest
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_attributes.update_project_entity_attribute(...)
-
-
-
Updates a specific attribute for a project entity.
-
-
-
from sayari import Sayari from sayari.project_entity_attributes import UpdateProjectEntityAttributeRequest client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_attributes.update_project_entity_attribute( project_id="V03eYM", project_entity_id="BG72YW", attribute_id="xG8wYP", request=UpdateProjectEntityAttributeRequest( field="name", value="updated name", match_resolution=True, ), )
-
-
-
project_id:
str
-
project_entity_id:
str
-
attribute_id:
str
-
request:
UpdateProjectEntityAttributeRequest
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_attributes.delete_project_entity_attribute(...)
-
-
-
Deletes a specific attribute for a project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_attributes.delete_project_entity_attribute( project_id="project_id", project_entity_id="project_entity_id", attribute_id="attribute_id", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
attribute_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_supply_chain_snapshots.get_project_entity_supply_chain_snapshots(...)
-
-
-
Retrieves all supply chain snapshots for a project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_supply_chain_snapshots.get_project_entity_supply_chain_snapshots( project_id="V03eYM", project_entity_id="BG72YW", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_supply_chain_snapshots.get_project_entity_supply_chain_snapshot_by_id(...)
-
-
-
Retrieves a specific supply chain snapshot by ID for a project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_supply_chain_snapshots.get_project_entity_supply_chain_snapshot_by_id( project_id="V03eYM", project_entity_id="BG72YW", snapshot_id="sN4p2K", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
snapshot_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_supply_chain_snapshots.create_project_entity_supply_chain_snapshot(...)
-
-
-
Creates a new supply chain snapshot for a project entity.
-
-
-
from sayari import Sayari from sayari.project_entity_supply_chain_snapshots import ( CreateProjectEntitySupplyChainSnapshotRequest, ) client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_supply_chain_snapshots.create_project_entity_supply_chain_snapshot( project_id="V03eYM", project_entity_id="BG72YW", request=CreateProjectEntitySupplyChainSnapshotRequest( label="Q1 2024 Supply Chain Analysis", ), )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request:
CreateProjectEntitySupplyChainSnapshotRequest
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity_supply_chain_snapshots.delete_project_entity_supply_chain_snapshot_by_id(...)
-
-
-
Deletes a specific supply chain snapshot by ID for a project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity_supply_chain_snapshots.delete_project_entity_supply_chain_snapshot_by_id( project_id="project_id", project_entity_id="project_entity_id", snapshot_id="snapshot_id", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
snapshot_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.create_project_entity(...)
-
-
-
The resolution endpoints allow users to search for matching entities against a provided list of attributes. The endpoint is similar to the search endpoint, except it's tuned to only return the best match so the client doesn't need to do as much or any post-processing work to filter down results.
-
-
-
from sayari import Sayari from sayari.project_entity import CreateResolvedProjectEntityRequest client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.create_project_entity( project_id="0n4473", request=CreateResolvedProjectEntityRequest( name=["Marvel Garment"], country=["KHM"], address=[ "Beung Thom 3 Village, Sangkat Beung Thom, Posenchey, Phnom Penh" ], ), )
-
-
-
project_id:
str
-
request:
CreateResolvedProjectEntityRequest
-
enable_llm_clean:
typing.Optional[bool]— Whether to enable LLM-based data cleaning to remove noise and standardize entity attributes. Defaults to true if not supplied. Set to false to disable LLM cleaning.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.get_project_entities(...)
-
-
-
Retrieves a list of entities for a specific project with pagination support.
Response Formats:
- JSON (default): Returns structured data with nested objects
- CSV: Returns tabular data with dynamic columns for attributes and risk categories
CSV Format: The CSV response includes dynamic columns based on the data:
attribute_{field_name}: Dynamic columns for each attribute field found in the datarisk_category_{category_id}: Dynamic columns for each risk category found in the data- Standard columns: project_id, project_entity_id, label, project_entity_url, upload_ids, strength, countries, tags, case_status, created_at, match_count, upstream_products, upstream_risk_factors, upstream_countries
Use the
Accept: text/csvheader to request CSV format.
-
-
-
from sayari import Sayari from sayari.project_entity import ( ProjectEntitiesExactFilter, ProjectEntitiesFilter, ProjectEntitiesFuzzyFilter, ) client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.get_project_entities( project_id="YVB88Y", limit=25, filter=ProjectEntitiesFilter( risk_category=["sanctions", "export_controls"], upstream_product=["8536", "8544"], shipment_country=["CHN", "VNM"], tier_1_shipment_country=["CHN"], city=ProjectEntitiesFuzzyFilter( fuzzy=["moscow", "beijing"], ), identifier=ProjectEntitiesFuzzyFilter( fuzzy=["253400V1H6ART1UQ0N98"], ), source=ProjectEntitiesExactFilter( exact=[ "92edb8fe6615498f6e3e7b0e220f74e6", "c10d482320f207d92aa814519c3bd686", ], ), status=["active"], bounds="55.680357237879136|-71.53607290158526|41.10876347746233|-40.963927098414736", match_entity_id=["dy-rh2g0QtzUN_jC_e9S_A"], entity_type=["company"], upload=["upload_123"], match_count="one", ), )
-
-
-
project_id:
str
-
next:
typing.Optional[str]— The pagination token for the next page of projects.
-
prev:
typing.Optional[str]— The pagination token for the previous page of projects.
-
limit:
typing.Optional[int]— Limit total values returned for projects. Defaults to 100. Max 100.
-
filter:
typing.Optional[ProjectEntitiesFilter]— Filter the project entities. Supports both dot notation (e.g., 'filter.attribute.name') and bracket notation (e.g., 'filter[attribute][name]') for nested field filtering.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.get_project_entity(...)
-
-
-
Retrieves a specific entity in a project.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.get_project_entity( project_id="project_id", project_entity_id="project_entity_id", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.add_project_entity_matches(...)
-
-
-
Adds matches to a project entity.
-
-
-
from sayari import Sayari from sayari.project_entity import UpdateProjectEntityMatchesBody client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.add_project_entity_matches( project_id="project_id", project_entity_id="project_entity_id", request=UpdateProjectEntityMatchesBody( entity_ids=["entity_ids", "entity_ids"], ), )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request:
UpdateProjectEntityMatchesBody
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.replace_project_entity_matches(...)
-
-
-
Replace matches in a project entity.
-
-
-
from sayari import Sayari from sayari.project_entity import UpdateProjectEntityMatchesBody client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.replace_project_entity_matches( project_id="project_id", project_entity_id="project_entity_id", request=UpdateProjectEntityMatchesBody( entity_ids=["entity_ids", "entity_ids"], ), )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request:
UpdateProjectEntityMatchesBody
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.delete_project_entity(...)
-
-
-
Deletes a project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.delete_project_entity( project_id="project_id", project_entity_id="project_entity_id", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.delete_project_entity_match(...)
-
-
-
Deletes a specific project entity match.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.delete_project_entity_match( project_id="project_id", project_entity_id="project_entity_id", match_id="match_id", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
match_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.project_entity_exists(...)
-
-
-
Checks if a project entity with the given attributes already exists.
-
-
-
from sayari import Sayari from sayari.project_entity import ResolutionAttributes client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.project_entity_exists( project_id="YVB88Y", request=ResolutionAttributes( name=["Example Company"], country=["USA"], ), )
-
-
-
project_id:
str
-
request:
ResolutionAttributes
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.save_project_entity(...)
-
-
-
Stores a project entity given entity IDs and a list of attributes.
-
-
-
from sayari import Sayari from sayari.project_entity import ResolutionAttributes, SaveProjectEntityBody client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.save_project_entity( project_id="YVB88Y", request=SaveProjectEntityBody( entity_ids=["entity_id_1", "entity_id_2"], attributes=ResolutionAttributes( name=["Example Company"], country=["USA"], ), profile="corporate", ), )
-
-
-
project_id:
str
-
request:
SaveProjectEntityBody
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.get_project_risk_changes(...)
-
-
-
Retrieves the risk changes for all project entities in a project.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.get_project_risk_changes( project_id="YVB88Y", )
-
-
-
project_id:
str
-
limit:
typing.Optional[int]— The maximum number of risk changes to return. Default is 100.
-
next:
typing.Optional[str]— Token to retrieve the next page of risk changes
-
prev:
typing.Optional[str]— Token to retrieve the previous page of risk changes
-
sort_date:
typing.Optional[SortOrder]— Sort by timestamp in ascending or descending order. Default is desc.
-
filter_from:
typing.Optional[str]— Filter risk changes from the provided date
-
filter_to:
typing.Optional[str]— Filter risk changes up to the provided date
-
filter_risk_factor:
typing.Optional[typing.Sequence[str]]— Filter risk changes for the provided risk factors
-
filter_risk_category:
typing.Optional[typing.Sequence[str]]— Filter risk changes for risk factors from the provided risk categories
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.get_project_entity_risk_changes(...)
-
-
-
Retrieves the risk changes for a single project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.get_project_entity_risk_changes( project_id="YVB88Y", project_entity_id="52z4Wa", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
limit:
typing.Optional[int]— The maximum number of risk changes to return. Default is 100.
-
next:
typing.Optional[str]— Token to retrieve the next page of risk changes
-
prev:
typing.Optional[str]— Token to retrieve the previous page of risk changes
-
sort_date:
typing.Optional[SortOrder]— Sort by timestamp in ascending or descending order. Default is desc.
-
filter_from:
typing.Optional[str]— Filter risk changes from the provided date
-
filter_to:
typing.Optional[str]— Filter risk changes up to the provided date
-
filter_risk_factor:
typing.Optional[typing.Sequence[str]]— Filter risk changes for the provided risk factors
-
filter_risk_category:
typing.Optional[typing.Sequence[str]]— Filter risk changes for risk factors from the provided risk categories
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.delete_project_risk_changes(...)
-
-
-
Dismiss risk changes for all project entities in a project.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.delete_project_risk_changes( project_id="project_id", )
-
-
-
project_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.delete_project_entity_risk_changes(...)
-
-
-
Dismiss risk changes for a single project entity.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.delete_project_entity_risk_changes( project_id="project_id", project_entity_id="project_entity_id", )
-
-
-
project_id:
str
-
project_entity_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.project_entity_supply_chain(...)
-
-
-
Execute a traversal of the upstream trade network (supply chain) for all matched entities of a project entity, returning a set of entities and edges between them.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.project_entity_supply_chain( project_id="Gam5qG", project_entity_id="GOeOE8", min_date="2023-03-15", product=["3204"], risk=["forced_labor_xinjiang_origin_subtier"], )
-
-
-
project_id:
str— The project Identifier
-
project_entity_id:
str— The project entity Identifier
-
product:
typing.Optional[typing.Sequence[str]]— Product root edge filter. Filters results to include only trade relationships where the associated component is part of the specified product's blueprint or is a sub-component of that product.
-
not_product:
typing.Optional[typing.Sequence[str]]— Product root edge filter. Filters results to exclude any trade relationships where the associated component is part of the specified product's blueprint or is a sub-component of that product.
-
risk:
typing.Optional[typing.Sequence[Risk]]— Risk leaf node filter. Only return supply chains that end with a supplier that has 1+ of the specified risk factors.
-
not_risk:
typing.Optional[typing.Sequence[Risk]]— Risk leaf node filter. Only return supply chains that end with a supplier that has none of the specified risk factors.
-
countries:
typing.Optional[typing.Sequence[Country]]— Country leaf node filter. Only return supply chains that end with a supplier in 1+ of the specified countries.
-
not_countries:
typing.Optional[typing.Sequence[Country]]— Country leaf node filter. Only return supply chains that end with a supplier in none of the specified countries.
-
shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from any tier matches the provided values.
-
not_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where none of the shipment countries from any tier matches the provided values.
-
tier_1_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 1 matches the provided values.
-
tier_2_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 2 matches the provided values.
-
tier_3_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 3 matches the provided values.
-
tier_4_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 4 matches the provided values.
-
tier_5_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 5 matches the provided values.
-
component:
typing.Optional[typing.Sequence[str]]— Component edge filter. Only return supply chains that contain at least one edge with 1+ of the specified HS codes.
-
not_component:
typing.Optional[typing.Sequence[str]]— Component edge filter. Only return supply chains that contain no edges with any of the specified HS codes.
-
min_date:
typing.Optional[str]— Minimum date edge filter in format. Only return supply chains with edge dates that are greater than or equal to this date.
-
max_date:
typing.Optional[str]— Maximum date edge filter in format. Only return supply chains with edge dates that are less than or equal to this date.
-
max_depth:
typing.Optional[int]— The maximum depth of the traversal, from 1 to 4 inclusive. Default is 4. Reduce if query is timing out.
-
limit:
typing.Optional[int]— The maximum number of results to return. Default is no limit.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.get_project_entity_risk_summary(...)
-
-
-
Retrieves a risk summary for a specific project entity, including risk factors with network paths and risk intelligence data.
Response includes:
- Risk factors with their levels (elevated, high, critical)
- Network paths showing relationships between entities
- Risk intelligence scores and metadata
- Risk categories and source entity information
-
-
-
from sayari import Sayari from sayari.project_entity import ProjectEntityRiskSummaryFilters client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.get_project_entity_risk_summary( project_id="YVB88Y", project_entity_id="52z4Wa", filter=ProjectEntityRiskSummaryFilters( risk_factor=["sanctioned", "regulatory_action"], risk_category=["sanctions", "export_controls"], ), )
-
-
-
project_id:
str
-
project_entity_id:
str
-
filter:
ProjectEntityRiskSummaryFilters— Filter risk factors by risk factor IDs and risk categories
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project_entity.project_entity_supply_chain_summary(...)
-
-
-
Execute a traversal of the upstream trade network (supply chain) for all matched entities of a project entity, returning a summary of countries, risks, and components.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project_entity.project_entity_supply_chain_summary( project_id="Gam5qG", project_entity_id="GOeOE8", min_date="2023-03-15", product=["8536", "8544", "4016"], risk_factors=[ "forced_labor_xinjiang_name", "forced_labor_xinjiang_uflpa", "forced_labor_uflpa_origin_direct", "exports_russian_gold", "export_to_sanctioned", ], )
-
-
-
project_id:
str— The project Identifier
-
project_entity_id:
str— The project entity Identifier
-
product:
typing.Optional[typing.Sequence[str]]— Product root edge filter. Filters results to include only trade relationships where the associated component is part of the specified product's blueprint or is a sub-component of that product.
-
not_product:
typing.Optional[typing.Sequence[str]]— Product root edge filter. Filters results to exclude any trade relationships where the associated component is part of the specified product's blueprint or is a sub-component of that product.
-
risk_factors:
typing.Optional[typing.Sequence[Risk]]— Risk leaf node filter. Only return supply chains that end with a supplier that has 1+ of the specified risk factors.
-
not_risk:
typing.Optional[typing.Sequence[Risk]]— Risk leaf node filter. Only return supply chains that end with a supplier that has none of the specified risk factors.
-
countries:
typing.Optional[typing.Sequence[Country]]— Country leaf node filter. Only return supply chains that end with a supplier in 1+ of the specified countries.
-
not_countries:
typing.Optional[typing.Sequence[Country]]— Country leaf node filter. Only return supply chains that end with a supplier in none of the specified countries.
-
component:
typing.Optional[typing.Sequence[str]]— Component edge filter. Only return supply chains that contain at least one edge with 1+ of the specified HS codes.
-
not_component:
typing.Optional[typing.Sequence[str]]— Component edge filter. Only return supply chains that contain no edges with any of the specified HS codes.
-
min_date:
typing.Optional[str]— Minimum date edge filter in format. Only return supply chains with edge dates that are greater than or equal to this date.
-
max_date:
typing.Optional[str]— Maximum date edge filter in format. Only return supply chains with edge dates that are less than or equal to this date.
-
max_depth:
typing.Optional[int]— The maximum depth of the traversal, from 1 to 4 inclusive. Default is 4. Reduce if query is timing out.
-
limit:
typing.Optional[int]— The maximum number of results to return. Default is no limit.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project.create_project(...)
-
-
-
Create a new project.
-
-
-
from sayari import Sayari from sayari.project import CreateProjectRequest, ProjectShareOnCreate client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project.create_project( request=CreateProjectRequest( label="My First Project", type="network", share=ProjectShareOnCreate( org="admin", ), ), )
-
-
-
request:
CreateProjectRequest
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project.get_projects(...)
-
-
-
Retrieve a list of projects including upload progress info.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project.get_projects( archived=True, limit=5, )
-
-
-
next:
typing.Optional[str]— The pagination token for the next page of projects.
-
prev:
typing.Optional[str]— The pagination token for the previous page of projects.
-
limit:
typing.Optional[int]— Limit total values returned for projects. Defaults to 100. Max 100.
-
archived:
typing.Optional[bool]— Toggle between projects that have been archived (true) or not (false). Defaults to false.
-
type:
typing.Optional[ProjectType]— Which project types to return
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.project.delete_project(...)
-
-
-
Deletes an existing project.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.project.delete_project( project_id="Gam5qG", )
-
-
-
project_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.record.get_record(...)
-
-
-
Retrieve a record from the database based on the ID
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.record.get_record( id="74cf0fc2a62f9c8f4e88f8a0b3ffcca4%2FF0000110%2F1682970471254", )
-
-
-
id:
str— The unique identifier for a record in the database
-
references_limit:
typing.Optional[int]— A limit on the number of references to be returned. Defaults to 100.
-
references_offset:
typing.Optional[int]— Number of references to skip before returning response. Defaults to 0.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.resolution.resolution(...)
-
-
-
The resolution endpoints allow users to search for matching entities against a provided list of attributes. The endpoint is similar to the search endpoint, except it's tuned to only return the best match so the client doesn't need to do as much or any post-processing work to filter down results.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.resolution.resolution( name="Oleg Deripaska", country="RUS", )
-
-
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 10 inclusive. Defaults to 10.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
name:
typing.Optional[typing.Union[str, typing.Sequence[str]]]— Entity name
-
address:
typing.Optional[typing.Union[str, typing.Sequence[str]]]— Entity address. For optimal matching results, it's recommended to concatenate the full address string (street, city, state, postal code).
-
city:
typing.Optional[typing.Union[str, typing.Sequence[str]]]— Entity city that contains the provided city name.
-
state:
typing.Optional[typing.Union[str, typing.Sequence[str]]]— Entity state that contains the provided state name.
-
country:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Entity country - must be ISO (3166) Trigram i.e.,USA. See complete list here
-
identifier:
typing.Optional[ typing.Union[BothIdentifierTypes, typing.Sequence[BothIdentifierTypes]] ]— Entity identifier. Can be from either the Identifier Type or Weak Identifier Type enums.
-
date_of_birth:
typing.Optional[typing.Union[str, typing.Sequence[str]]]— Entity date of birth
-
contact:
typing.Optional[typing.Union[str, typing.Sequence[str]]]— Entity contact
-
type:
typing.Optional[typing.Union[Entities, typing.Sequence[Entities]]]— Entity type. If multiple values are passed for any field, the endpoint will match entities with ANY of the values.
-
profile:
typing.Optional[ProfileEnum]— Specifies the search algorithm to use.corporate(default) is optimized for accurate entity attribute matching, ideal for business verification.suppliersis tailored for matching entities with trade data, suitable for supply chain use cases.searchmimics /search/entity behavior, best for name-only matches.
-
name_min_percentage:
typing.Optional[int]— Adding this param enables an alternative matching logic. It will set a minimum percentage of tokens needed to match with user input to be considered a "hit". Accepts integers from 0 to 100 inclusive.
-
name_min_tokens:
typing.Optional[int]— Adding this param enables an alternative matching logic. It sets the minimum number of matching tokens the resolved hits need to have in common with the user input to be considered a "hit". Accepts non-negative integers.
-
minimum_score_threshold:
typing.Optional[int]— Specifies the minimum score required to pass, which controls the strictness of the matching threshold. The default value is 77, and tuned for general use-case accuracy. Increase the value for stricter matching, reduce to loosen.
-
search_fallback:
typing.Optional[bool]— Enables a name search fallback when either the corporate or supplier profiles fails to find a match. When invoked, the fallback will make a call similar to /search/entity on name only. By default set to false.
-
cutoff_threshold:
typing.Optional[int]— Specifies the window of similar results returned in the match group. Increase for fewer multiple matches, decrease to open the aperture and allow for more matches. Default is .8
-
candidate_pool_size:
typing.Optional[int]— Specifies the maximum number of entity candidates considered during search. Default is 50. Higher values increase match pool size but also increase latency.
-
skip_post_process:
typing.Optional[bool]— Bypasses the post-processing setps and re-ranking. Useful for debugging. By default set to false, set to true to enable.
-
enable_llm_clean:
typing.Optional[bool]— Whether to enable LLM-based data cleaning to remove noise and standardize entity attributes. Defaults to true if not supplied. Set to false to disable LLM cleaning.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.resolution.resolution_post(...)
-
-
-
The resolution endpoints allow users to search for matching entities against a provided list of attributes. The endpoint is similar to the search endpoint, except it's tuned to only return the best match so the client doesn't need to do as much or any post-processing work to filter down results.
-
-
-
from sayari import Sayari from sayari.resolution import ResolutionBody client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.resolution.resolution_post( limit=1, enable_llm_clean=False, request=ResolutionBody( name=["Chongqing Jingyou Zhicai New Materials Co."], address=[ "4-2, Building B2, No. 5, Middle Mount Huangshan Avenue, Gaoxinyuan, Dazhulin Street, Liangjiang New District, Chongqing,Chongqing,continuation,CN" ], country=["CHN"], enable_llm_clean=False, ), )
-
-
-
request:
ResolutionBody
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 10 inclusive. Defaults to 10.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
enable_llm_clean:
typing.Optional[bool]— Whether to enable LLM-based data cleaning to remove noise and standardize entity attributes. Defaults to true if not supplied. Set to false to disable LLM cleaning.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.resolution.resolution_persisted(...)
-
-
-
This endpoint is deprecated. The persisted resolution endpoints allow users to search for matching entities against a provided list of attributes. The endpoint is similar to the resolution endpoint, except it also stores matched entities into user's project.
-
-
-
from sayari import Sayari from sayari.resolution import ResolutionBody client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.resolution.resolution_persisted( project_id="6GaxYn", limit=1, request=ResolutionBody( name=["victoria beckham limited"], profile="suppliers", ), )
-
-
-
project_id:
str— Unique identifier of the project
-
request:
ResolutionBody
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 10 inclusive. Defaults to 10.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.resolution.resolution_upload(...)
-
-
-
This endpoint is deprecated. This endpoint allows you to upload entities in bulk.
-
-
-
from sayari import Sayari from sayari.resolution import ResolutionBody, ResolutionUploadBody client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.resolution.resolution_upload( project_id="V03eYM", request=ResolutionUploadBody( filename="testblah.csv", enable_llm_clean=False, data=[ ResolutionBody( name=[ "Chongqing Jingyou Zhicai New Materials Co. ABC XYZ Blah Blah Nonsense 1 489 929 49492 1839 1848" ], address=[ "4-2, Building B2, No. 5, Middle Mount Huangshan Avenue, Gaoxinyuan, Dazhulin Street, Liangjiang New District, Chongqing,Chongqing,continuation,CN" ], country=["CHN"], ) ], ), )
-
-
-
project_id:
str— Unique identifier of the project
-
request:
ResolutionUploadBody
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.resource.save_entity(...)
-
-
-
Save an entity to a project.
-
-
-
from sayari import Sayari from sayari.resource import SaveEntityRequest client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.resource.save_entity( request=SaveEntityRequest( type="entity", project="GNJbkG", entity_id="Zk0qOaM2SSYg_ZhsljykMQ", custom_fields={"properties": {"custom_name": "Victoria Beckham"}}, ), )
-
-
-
request:
SaveEntityRequest
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.resource.delete_resource(...)
-
-
-
Deletes an existing saved resource from a project.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.resource.delete_resource( type="entity", resource_id="YWmNKV", )
-
-
-
type:
ResourceType
-
resource_id:
str
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.search.search_entity(...)
-
-
-
Search for an entity. Please note, searches are limited to a maximum of 10,000 results.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.search.search_entity( limit=1, q="victoria beckham limited", )
-
-
-
q:
str— Query term. The syntax for the query parameter follows elasticsearch simple query string syntax. The includes the ability to use search operators and to perform nested queries. Must be url encoded.
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 100. Defaults to 100.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
fields:
typing.Optional[typing.Sequence[SearchField]]— Record or entity fields to search against.
-
filter:
typing.Optional[FilterList]— Filters to be applied to search query to limit the result-set.
-
facets:
typing.Optional[bool]— Whether or not to return search facets in results giving counts by field. Defaults to false.
-
geo_facets:
typing.Optional[bool]— Whether or not to return search geo bound facets in results giving counts by geo tile. Defaults to false.
-
advanced:
typing.Optional[bool]— Set to true to enable full elasticsearch query string syntax which allows for fielded search and more complex operators. Note that the syntax is more strict and can result in empty result-sets. Defaults to false.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.search.search_entity_get(...)
-
-
-
Search for an entity. Please note, searches are limited to a maximum of 10,000 results.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.search.search_entity_get( limit=1, q="victoria beckham limited", )
-
-
-
q:
str— Query term. The syntax for the query parameter follows elasticsearch simple query string syntax. The includes the ability to use search operators and to perform nested queries. Must be url encoded.
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 100. Defaults to 100.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
fields:
typing.Optional[typing.Union[SearchField, typing.Sequence[SearchField]]]— Record or entity fields to search against.
-
facets:
typing.Optional[bool]— Whether or not to return search facets in results giving counts by field. Defaults to false.
-
geo_facets:
typing.Optional[bool]— Whether or not to return search geo bound facets in results giving counts by geo tile. Defaults to false.
-
advanced:
typing.Optional[bool]— Set to true to enable full elasticsearch query string syntax which allows for fielded search and more complex operators. Note that the syntax is more strict and can result in empty result-sets. Defaults to false.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.search.search_record(...)
-
-
-
Search for a record. Please note, searches are limited to a maximum of 10,000 results.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.search.search_record( limit=1, q="victoria beckham limited", )
-
-
-
q:
str— Query term. The syntax for the query parameter follows elasticsearch simple query string syntax. The includes the ability to use search operators and to perform nested queries. Must be url encoded.
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 100. Defaults to 100.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
filter:
typing.Optional[FilterList]— Filters to be applied to search query to limit the result-set.
-
facets:
typing.Optional[bool]— Whether or not to return search facets in results giving counts by field. Defaults to false.
-
advanced:
typing.Optional[bool]— Set to true to enable full elasticsearch query string syntax which allows for fielded search and more complex operators. Note that the syntax is more strict and can result in empty result-sets. Defaults to false.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.search.search_record_get(...)
-
-
-
Search for a record. Please note, searches are limited to a maximum of 10,000 results.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.search.search_record_get( q="victoria beckham limited", limit=1, )
-
-
-
q:
str— Query term. The syntax for the query parameter follows elasticsearch simple query string syntax. The includes the ability to use search operators and to perform nested queries. Must be url encoded.
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 100. Defaults to 100.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
facets:
typing.Optional[bool]— Whether or not to return search facets in results giving counts by field. Defaults to false.
-
advanced:
typing.Optional[bool]— Set to true to enable full elasticsearch query string syntax which allows for fielded search and more complex operators. Note that the syntax is more strict and can result in empty result-sets. Defaults to false.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.supply_chain.upstream_trade_traversal(...)
-
-
-
Execute a traversal of the upstream trade network (supply chain) of an entity, returning a set of entities and edges between them.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.supply_chain.upstream_trade_traversal( id="ESkH7J-UCRfY5t0_JXIH3w", min_date="2023-03-15", product=["3204"], risk=["forced_labor_xinjiang_origin_subtier"], )
-
-
-
id:
str— The root entity identifier.
-
product:
typing.Optional[typing.Sequence[str]]— Product root edge filter. Filters results to include only trade relationships where the associated component is part of the specified product's blueprint or is a sub-component of that product.
-
not_product:
typing.Optional[typing.Sequence[str]]— Product root edge filter. Filters results to exclude any trade relationships where the associated component is part of the specified product's blueprint or is a sub-component of that product.
-
risk:
typing.Optional[typing.Sequence[Risk]]— Risk leaf node filter. Only return supply chains that end with a supplier that has 1+ of the specified risk factors.
-
not_risk:
typing.Optional[typing.Sequence[Risk]]— Risk leaf node filter. Only return supply chains that end with a supplier that has none of the specified risk factors.
-
countries:
typing.Optional[typing.Sequence[Country]]— Country leaf node filter. Only return supply chains that end with a supplier in 1+ of the specified countries.
-
not_countries:
typing.Optional[typing.Sequence[Country]]— Country leaf node filter. Only return supply chains that end with a supplier in none of the specified countries.
-
shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from any tier matches the provided values.
-
not_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where none of the shipment countries from any tier matches the provided values.
-
tier_1_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 1 matches the provided values.
-
tier_2_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 2 matches the provided values.
-
tier_3_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 3 matches the provided values.
-
tier_4_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 4 matches the provided values.
-
tier_5_shipment_country:
typing.Optional[typing.Sequence[Country]]— Filters supply chain paths where 1+ shipment country from tier 5 matches the provided values.
-
component:
typing.Optional[typing.Sequence[str]]— Component edge filter. Only return supply chains that contain at least one edge with 1+ of the specified HS codes.
-
not_component:
typing.Optional[typing.Sequence[str]]— Component edge filter. Only return supply chains that contain no edges with any of the specified HS codes.
-
min_date:
typing.Optional[str]— Minimum date edge filter in format. Only return supply chains with edge dates that are greater than or equal to this date.
-
max_date:
typing.Optional[str]— Maximum date edge filter in format. Only return supply chains with edge dates that are less than or equal to this date.
-
max_depth:
typing.Optional[int]— The maximum depth of the traversal, from 1 to 4 inclusive. Default is 4. Reduce if query is timing out.
-
limit:
typing.Optional[int]— The maximum number of results to return. Default is no limit.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.trade.search_shipments(...)
-
-
-
Search for a shipment. Please note, searches are limited to a maximum of 10,000 results.
-
-
-
from sayari import Sayari from sayari.trade import TradeFilterList client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.trade.search_shipments( limit=1, filter=TradeFilterList( departure_country=["DEU"], arrival_country=["RUS"], hs_code=["854231"], arrival_date="2024-01|2024-10", ), )
-
-
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 3000. Defaults to 100.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
q:
typing.Optional[str]— Query term. The syntax for the query parameter follows elasticsearch simple query string syntax. The includes the ability to use search operators and to perform nested queries. Must be url encoded.
-
filter:
typing.Optional[TradeFilterList]— Filters to be applied to search query to limit the result-set.
-
facets:
typing.Optional[bool]— Whether or not to return search facets in results giving counts by field. Defaults to false.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.trade.search_suppliers(...)
-
-
-
Search for a supplier. Please note, searches are limited to a maximum of 10,000 results.
-
-
-
from sayari import Sayari from sayari.trade import TradeFilterList client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.trade.search_suppliers( limit=1, filter=TradeFilterList( departure_country=["DEU"], arrival_country=["RUS"], hs_code=["854231"], arrival_date="2024-01|2024-10", ), )
-
-
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 3000. Defaults to 100.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
q:
typing.Optional[str]— Query term. The syntax for the query parameter follows elasticsearch simple query string syntax. The includes the ability to use search operators and to perform nested queries. Must be url encoded.
-
filter:
typing.Optional[TradeFilterList]— Filters to be applied to search query to limit the result-set.
-
facets:
typing.Optional[bool]— Whether or not to return search facets in results giving counts by field. Defaults to false.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.trade.search_buyers(...)
-
-
-
Search for a buyer. Please note, searches are limited to a maximum of 10,000 results.
-
-
-
from sayari import Sayari from sayari.trade import TradeFilterList client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.trade.search_buyers( limit=1, filter=TradeFilterList( departure_country=["DEU"], arrival_country=["RUS"], hs_code=["854231"], arrival_date="2024-01|2024-10", ), )
-
-
-
limit:
typing.Optional[int]— A limit on the number of objects to be returned with a range between 1 and 3000. Defaults to 100.
-
offset:
typing.Optional[int]— Number of results to skip before returning response. Defaults to 0.
-
q:
typing.Optional[str]— Query term. The syntax for the query parameter follows elasticsearch simple query string syntax. The includes the ability to use search operators and to perform nested queries. Must be url encoded.
-
filter:
typing.Optional[TradeFilterList]— Filters to be applied to search query to limit the result-set.
-
facets:
typing.Optional[bool]— Whether or not to return search facets in results giving counts by field. Defaults to false.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.traversal.traversal(...)
-
-
-
The Traversal endpoint returns paths from a single target entity to up to 50 directly or indirectly-related entities. Each path includes information on the 0 to 10 intermediary entities, as well as their connecting relationships. The response's explored_count field indicates the size of the graph subset the application searched. Running a traversal on a highly connected entity with a restrictive set of argument filters and a high max depth will require the application to explore a higher number of traversal paths, which may affect performance. In cases where a traversal searches over a very large, highly-connected subgraph, a partial result set may be returned containing only the most relevant results. This will be indicated in the response by the partial_results field.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.traversal.traversal( id="mGq1lpuqKssNWTjIokuPeA", limit=1, )
-
-
-
id:
str— Unique identifier of the entity
-
limit:
typing.Optional[int]— Limit total values for traversal. Defaults to 10. Max of 50.
-
offset:
typing.Optional[int]— Offset values for traversal. Defaults to 0. Max of 1000.
-
min_depth:
typing.Optional[int]— Set minimum depth for traversal. Defaults to 1.
-
max_depth:
typing.Optional[int]— Set maximum depth for traversal. Defaults to 4.
-
relationships:
typing.Optional[typing.Union[Relationships, typing.Sequence[Relationships]]]— Set relationship type(s) to follow when traversing related entities. Defaults to following all relationship types.
-
psa:
typing.Optional[bool]— Also traverse relationships from entities that are possibly the same as any entity that appears in the path. Defaults to traversing possibly same as relationships.
-
countries:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Filter paths to only those that end at an entity associated with the specified country(ies). Defaults to returning paths that end in any country.
-
types:
typing.Optional[typing.Union[Entities, typing.Sequence[Entities]]]— Filter paths to only those that end at an entity of the specified type(s). Defaults to returning paths that end at any type.
-
sanctioned:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a watchlist. Defaults to not filtering paths by sanctioned status.
-
pep:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a pep list. Defaults to not filtering paths by pep status.
-
min_shares:
typing.Optional[int]— Set minimum percentage of share ownership for traversal. Defaults to 0.
-
include_unknown_shares:
typing.Optional[bool]— Also traverse relationships when share percentages are unknown. Only useful when min_shares is set greater than 0. Defaults to true.
-
exclude_former_relationships:
typing.Optional[bool]— Include relationships that were valid in the past but not at the present time. Defaults to true.
-
exclude_closed_entities:
typing.Optional[bool]— Include entities that existed in the past but not at the present time. Defaults to false.
-
risk_categories:
typing.Optional[typing.Sequence[RiskCategory]]— Filter paths to only those that include an entity associated with any risk factor belonging to one of the specified categories.
-
eu_high_risk_third:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_modern_slavery:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
state_owned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
formerly_sanctioned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_terrorism:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_organized_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_financial_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_bribery_and_corruption:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_other:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_cybercrime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
regulatory_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
law_enforcement_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
xinjiang_geospatial:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.traversal.ubo(...)
-
-
-
The UBO endpoint returns paths from a single target entity to up to 50 beneficial owners. The endpoint is a shorthand for the equivalent traversal query.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.traversal.ubo( id="mGq1lpuqKssNWTjIokuPeA", limit=1, )
-
-
-
id:
str— Unique identifier of the entity
-
limit:
typing.Optional[int]— Limit total values for traversal. Defaults to 10. Max of 50.
-
offset:
typing.Optional[int]— Offset values for traversal. Defaults to 0. Max of 1000.
-
min_depth:
typing.Optional[int]— Set minimum depth for traversal. Defaults to 1.
-
max_depth:
typing.Optional[int]— Set maximum depth for traversal. Defaults to 4.
-
relationships:
typing.Optional[typing.Union[Relationships, typing.Sequence[Relationships]]]— Set relationship type(s) to follow when traversing related entities. Defaults to has_shareholder, has_beneficial_owner, has_partner, subsidiary_of, and branch_of.
-
psa:
typing.Optional[bool]— Also traverse relationships from entities that are possibly the same as any entity that appears in the path. Defaults to traversing possibly same as relationships.
-
countries:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Filter paths to only those that end at an entity associated with the specified country(ies). Defaults to returning paths that end in any country.
-
types:
typing.Optional[typing.Union[Entities, typing.Sequence[Entities]]]— Filter paths to only those that end at an entity of the specified type(s). Defaults to returning paths that end at any type.
-
sanctioned:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a watchlist. Defaults to not filtering paths by sanctioned status.
-
pep:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a pep list. Defaults to not filtering paths by pep status.
-
min_shares:
typing.Optional[int]— Set minimum percentage of share ownership for traversal. Defaults to 0.
-
include_unknown_shares:
typing.Optional[bool]— Also traverse relationships when share percentages are unknown. Only useful when min_shares is set greater than 0. Defaults to true.
-
exclude_former_relationships:
typing.Optional[bool]— Include relationships that were valid in the past but not at the present time. Defaults to true.
-
exclude_closed_entities:
typing.Optional[bool]— Include entities that existed in the past but not at the present time. Defaults to false.
-
risk_categories:
typing.Optional[TraversalRiskCategory]— Filter paths to only those that relate with an entity that we have flagged with any risk factor of these categories
-
eu_high_risk_third:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_modern_slavery:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
state_owned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
formerly_sanctioned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_terrorism:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_organized_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_financial_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_bribery_and_corruption:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_other:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_cybercrime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
regulatory_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
law_enforcement_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
xinjiang_geospatial:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.traversal.ownership(...)
-
-
-
The Ownership endpoint returns paths from a single target entity to up to 50 entities directly or indirectly owned by that entity. The endpoint is a shorthand for the equivalent traversal query.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.traversal.ownership( id="mGq1lpuqKssNWTjIokuPeA", limit=1, )
-
-
-
id:
str— Unique identifier of the entity
-
limit:
typing.Optional[int]— Limit total values for traversal. Defaults to 10. Max of 50.
-
offset:
typing.Optional[int]— Offset values for traversal. Defaults to 0. Max of 1000.
-
min_depth:
typing.Optional[int]— Set minimum depth for traversal. Defaults to 1.
-
max_depth:
typing.Optional[int]— Set maximum depth for traversal. Defaults to 4.
-
relationships:
typing.Optional[typing.Union[Relationships, typing.Sequence[Relationships]]]— Set relationship type(s) to follow when traversing related entities. Defaults to shareholder_of, beneficial_owner_of, partner_of, has_subsidiary, and has_branch.
-
psa:
typing.Optional[bool]— Also traverse relationships from entities that are possibly the same as any entity that appears in the path. Defaults to traversing possibly same as relationships.
-
countries:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Filter paths to only those that end at an entity associated with the specified country(ies). Defaults to returning paths that end in any country.
-
types:
typing.Optional[typing.Union[Entities, typing.Sequence[Entities]]]— Filter paths to only those that end at an entity of the specified type(s). Defaults to returning paths that end at any type.
-
sanctioned:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a watchlist. Defaults to not filtering paths by sanctioned status.
-
pep:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a pep list. Defaults to not filtering paths by pep status.
-
min_shares:
typing.Optional[int]— Set minimum percentage of share ownership for traversal. Defaults to 0.
-
include_unknown_shares:
typing.Optional[bool]— Also traverse relationships when share percentages are unknown. Only useful when min_shares is set greater than 0. Defaults to true.
-
exclude_former_relationships:
typing.Optional[bool]— Include relationships that were valid in the past but not at the present time. Defaults to true.
-
exclude_closed_entities:
typing.Optional[bool]— Include entities that existed in the past but not at the present time. Defaults to false.
-
risk_categories:
typing.Optional[TraversalRiskCategory]— Filter paths to only those that relate with an entity that we have flagged with any risk factor of these categories
-
eu_high_risk_third:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_modern_slavery:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
state_owned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
formerly_sanctioned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_terrorism:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_organized_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_financial_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_bribery_and_corruption:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_other:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_cybercrime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
regulatory_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
law_enforcement_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
xinjiang_geospatial:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.traversal.watchlist(...)
-
-
-
The Watchlist endpoint returns paths from a single target entity to up to 50 other entities that appear on a watchlist. The endpoint is a shorthand for the equivalent traversal query.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.traversal.watchlist( id="mGq1lpuqKssNWTjIokuPeA", limit=1, )
-
-
-
id:
str— Unique identifier of the entity
-
limit:
typing.Optional[int]— Limit total values for traversal. Defaults to 10. Max of 50.
-
offset:
typing.Optional[int]— Offset values for traversal. Defaults to 0. Max of 1000.
-
min_depth:
typing.Optional[int]— Set minimum depth for traversal. Defaults to 1.
-
max_depth:
typing.Optional[int]— Set maximum depth for traversal. Defaults to 4.
-
relationships:
typing.Optional[typing.Union[Relationships, typing.Sequence[Relationships]]]— Set relationship type(s) to follow when traversing related entities. Defaults to following 31 relevant relationship types covering ownership, control, and trade.
-
psa:
typing.Optional[bool]— Also traverse relationships from entities that are possibly the same as any entity that appears in the path. Defaults to traversing possibly same as relationships.
-
countries:
typing.Optional[typing.Union[Country, typing.Sequence[Country]]]— Filter paths to only those that end at an entity associated with the specified country(ies). Defaults to returning paths that end in any country.
-
types:
typing.Optional[typing.Union[Entities, typing.Sequence[Entities]]]— Filter paths to only those that end at an entity of the specified type(s). Defaults to returning paths that end at any type.
-
sanctioned:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a watchlist. Defaults to not filtering paths by sanctioned status.
-
pep:
typing.Optional[bool]— Filter paths to only those that end at an entity appearing on a pep list. Defaults to not filtering paths by pep status.
-
min_shares:
typing.Optional[int]— Set minimum percentage of share ownership for traversal. Defaults to 0.
-
include_unknown_shares:
typing.Optional[bool]— Also traverse relationships when share percentages are unknown. Only useful when min_shares is set greater than 0. Defaults to true.
-
exclude_former_relationships:
typing.Optional[bool]— Include relationships that were valid in the past but not at the present time. Defaults to false.
-
exclude_closed_entities:
typing.Optional[bool]— Include entities that existed in the past but not at the present time. Defaults to false.
-
risk_categories:
typing.Optional[TraversalRiskCategory]— Filter paths to only those that relate with an entity that we have flagged with any risk factor of these categories
-
eu_high_risk_third:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_modern_slavery:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
state_owned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
formerly_sanctioned:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_terrorism:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_organized_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_financial_crime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_bribery_and_corruption:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_other:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
reputational_risk_cybercrime:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
regulatory_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
law_enforcement_action:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
xinjiang_geospatial:
typing.Optional[bool]— Filter paths to only those that relate with an entity that we have flagged with this risk factor
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-
client.traversal.shortest_path(...)
-
-
-
The Shortest Path endpoint returns a response identifying the shortest traversal path connecting each pair of entities.
-
-
-
from sayari import Sayari client = Sayari( client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET", ) client.traversal.shortest_path( entities="H1y25N5ymnFyZ-q9Lpwm_g&entities=xthsA_jQuKn3GW8-9ILQqg", )
-
-
-
entities:
typing.Union[str, typing.Sequence[str]]— A list of Sayari entity IDs specifying the source and target entities for the shortest path calculation. The list must contain exactly two entity IDs The first entity ID represents the source.The second entity ID represents the target.
-
request_options:
typing.Optional[RequestOptions]— Request-specific configuration.
-
-