Skip to main content
GET
Get normalized enrichment

Overview

Returns the latest persisted normalized dossier for an entity: one Gu1-shaped JSON (normalizedData) merged from every enrichment that has already run on that entity. This endpoint is a read. It does not call external integrations and does not consume enrichment credits. To populate or refresh the dossier, use Execute enrichment. Use this when you need the canonical profile (PEP flags, sanctions, addresses, legal proceedings, and the same paths rules use as enrichmentData.normalized.*). For the last mapped/raw payload keyed by integration code, use Get current enrichment data. Requires granular permission entities:read on the API key (legacy fallback entities:read).

Endpoint

Authentication

Path parameters

string
required
Gu1 entity UUID.

Response

Envelope: { "success": true, "data": { ... } }.
string
UUID of the normalized enrichment row.
string
Entity UUID.
string
Organization UUID.
string
person or company.
NormalizeType
Flattened Gu1 normalize contract: RootData ∩ consolidator arrays ∩ *Summary objects on the same JSON object (not nested as { root, consolidated }). Same keys rules read as enrichmentData.normalized.*. See normalizedData contract below. Extra legacy keys from older mappers may appear; new integrations should use this contract only.
object
Completeness and confidence metrics recalculated on read for the entity country, plus optional recommendations for further enrichments.
array
Integration codes that contributed to this dossier (for example br_cpf_enrichment). JSON field name is providersUsed.
number
Overall quality score 0–100, when present.
number
Confidence score 0–100, when present.
number
Completeness score 0–100, when present.
array
Fields where sources disagreed and how Gu1 resolved them (field, values, resolution, selectedValue, confidence).
string
ISO 8601 timestamp of the row.
string
ISO 8601 timestamp of the last update.

normalizedData contract

Canonical TypeScript: NormalizeType = RootData & ToConsolidateType & SummariesType. All keys are optional. Presence depends on entity type (person / company), country, and which enrichments ran. A missing key is β€œnot populated”, not false / 0.
Rules paths: enrichmentData.normalized.<key> (for example enrichmentData.normalized.isPep, enrichmentData.normalized.legalProceedings.$.type). Full path catalog: Rule conditions.

Provenance on consolidator rows

Every consolidator item typically includes:

Root (RootData)

Scalars on normalizedData (convenience flags + identity). Prefer consolidators for lists (riskFlags, sanctions, addresses). PEP Sanctions / media / terrorism Identity & contact Company identity Fiscal / employment / AML (mostly AR) activities is the AFIP text/XML list; the structured list is economicActivities. isAMLObligatedSubject is LA/FT obligated subject (not political PEP). isUifObligatedSubject is UIF inscription (distinct from Nosis SO). Credit debtSituation are unique situation codes 1–5. Electoral (root metrics)

Consolidators (ToConsolidateType + summaries)

Arrays live next to their *Summary on the same object. P = person, C = company. Persisted rows may also expose electoralActivity (legacy array name). Prefer electoralActivities.

Item types

Summaries (addressesSummary, legalProceedingsSummary, shareholdersSummary, …) expose counts, byType / byStatus breakdowns, and flags such as hasActiveCriminalCases, hasArrestWarrant, hasFamilyRelationships. Shape matches the TypeScript *Summary interfaces in the Gu1 shared consolidator types.

Errors

If no normalized row exists yet, the API returns 404 (it does not return an empty success: true body).

Example

normalizedData in production is much larger. Use the contract as the schema; this sample is only a shape hint.