Create or update shareholders and related entities from normalized enrichment (Brazil and supported countries) β in the gu1 universal entity model for KYC.
Documentation Index
Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt
Use this file to discover all available pages before exploring further.
normalized_enrichment. Typical use cases:
runEnrichmentFirst): only the country strategy provider(s) needed to refresh shareholders/relationships in normalized data (not the full marketplace list). Root enrichment always requests fresh provider data for that step. Then it runs the same style of shareholder/related-entity pipeline as automatic creation.
company or person. Other types return 400. The dossier country must have an automatic-creation strategy (today this flow is primarily used for Brazil; other countries may return 400 if defaults are missing or depth/providers are invalid).true, the API re-executes on the root dossier only the enrichment provider(s) the country strategy requires for that entity type to populate shareholders/relationships in normalized data (e.g. Brazil company vs person). It does not run all marketplace enrichments on the root.When false, a normalized_enrichment row must already exist for the entity; otherwise the API returns 422 (NO_NORMALIZED_ENRICHMENT).POST /entities/automatic β autoExecuteIntegrationsShareholders: executeAllActiveEnrichments, executeAllActiveChecks, enrichments: { company, person }, checks: { company, person }, and optional enrichmentGroupRefs (Marketplace enrichment group slugs; enrichments only β merged into both company and person when executeAllActiveEnrichments is false; not resolved when executeAllActiveEnrichments is true). Ignored when executeOnlyRootData is true. In this route, only enrichments / executeAllActiveEnrichments are applied today (checks reserved).true, each new child is created from the root dossier normalized data only (name + tax ID) and no child integration pipeline runs (autoExecuteIntegrationsShareholders is not applied). Applies to company (QSA shareholders) and person dossiers in Brazil (related companies/persons from normalized). Cannot be combined with a non-empty autoExecuteIntegrationsShareholders pipeline.true (default), the API returns 202 immediately with data.status: "processing" and runs enrichment, materialization, and optional risk matrix on the server. Completion is signaled over Socket.IO (see below).When false, the server waits for the full pipeline and returns 200 with counts and flags in data.execute (boolean, required when the object is sent): set true to run the matrix after materialization.riskMatrixId (UUID | null, optional): null or omitted β use the matrix assigned to the entity; a UUID β run that matrix for this execution only (override, does not change the entity row).true, if a discovered child entity (shareholder / related company or person) already exists in your org (same tax ID), the pipeline re-runs configured enrichments for that child instead of skipping refresh.runInBackground is true, the response is 202:
| Event | When | Payload (high level) |
|---|---|---|
entity:relationship-materialize-started | Pipeline queued | entityId, mainEntityName, mainEntityTaxId, mainEntityType, userId |
entity:relationship-materialize-completed | Success or partial pipeline end | entityId, success, entitiesCreated, relationshipsCreated, enrichmentExecuted, enrichmentProviders, riskMatrixExecuted, optional error string |
entity:relationship-materialize-failed | Unhandled failure | entityId, error: { code, message, details? }, userId |
GET /entities/:id, list queries).
success may be true while data.error carries a human-readable messageβcheck both.
| HTTP | Code (typical) | Meaning |
|---|---|---|
| 400 | INVALID_ENTITY_TYPE | Entity is not company or person |
| 400 | COUNTRY_NOT_SUPPORTED | No strategy / materialization not supported for this country |
| 400 | NO_DEFAULT_RELATIONSHIP_ENRICHMENTS | Country strategy defines no relationship enrichment providers for this entity type |
| 404 | ENTITY_NOT_FOUND | Unknown entityId for the organization |
| 422 | NO_NORMALIZED_ENRICHMENT | runEnrichmentFirst: false but no normalized row exists |
| 422 | INVALID_RELATIONSHIP_ENRICHMENT_CONFIG | Invalid child enrichment config / depth for the strategy |
| 500 | ENRICHMENT_FAILED | Enrichment failed when runEnrichmentFirst is true (details in error payload) |