Skip to main content

2026-06-17
EntitiesBulk importAPI
Bulk entity import β€” child enrichment policy

Bulk automatic entity import β€” child enrichments & monitoring scope

POST /batch-import/import/entities and JSON bulk automatic import accept two optional fields (automatic mode, depth > 0):
  • childEnrichmentPolicy: all_active (default), by_root_type, or basic_only.
    • by_root_type: company rows run all active enrichments on shareholders except global_gueno_sanctions_enrichment; person rows create related entities with basic data only from the root provider snapshot.
  • monitoringApplyToRelationships: when false, monitoring applies to main entities only (no watchlist on children). Default true when depth > 0 if omitted.
The dashboard bulk entity import UI exposes the same controls. See Import entities (bulk).
2026-06-15
EnrichmentEntitiesAPI
Enrichment errors and tax ID validation

Marketplace enrichment β€” structured errors

POST /integration-execution/marketplace/enrichment now returns richer per-integration error objects: optional category, retryable, and statusCode alongside code and message. Codes distinguish configuration issues (integration not enabled), timeouts, provider HTTP failures, and validation errors.

Automatic / bulk entity creation β€” tax ID strictness

taxId on automatic and bulk creation must be only the fiscal identifier. Values merged with spreadsheet columns (e.g. CNPJ plus business segment text) are rejected with INVALID_TAX_ID.

Transactions β€” optional exchangeRate fallback

POST /transactions and batch create accept optional exchangeRate on each transaction. Omitting it keeps the previous behavior (automatic conversion via the currency service).Used only when automatic conversion is unavailable. Semantics: base-currency units per 1 unit of currency; normalized base amount = amount Γ— exchangeRate. Sets rateSource: client-provided.Non-convertible today (no automatic rate): WLD (Worldcoin), ETH (Ethereum). Send exchangeRate for a normalized base-currency amount and FX-dependent rules.See Create Transaction β€” Currency conversion.
2026-06-11
EntitiesEnrichmentAPIDocs
Entities β€” refresh scope and preserve flags

POST /entities/{entityId}/refresh β€” unified scope and safe field sync

New optional body fields (all backward compatible when omitted):
  • refreshScope: basic_data | all_active | selected (+ providerCodes when selected).
  • preserveName: true keeps the current display name; omitted = legacy sync from normalized fullName.
  • preserveEntityData: only with refreshScope: "basic_data" β€” true gap-fills entityData, false replaces; omitted = do not touch profile.
basic_data always runs root-only (no shareholders), regardless of depth.See Refresh Entity. Existing Risk Matrix / integration payloads without these fields behave unchanged.
2026-06-11
KYCAPIDocs
KYC β€” cross-entity duplicate warning

GUENO_CROSS_ENTITY_DUPLICATED warning

When Gu1 resolves provider duplicate session/face references to another entity in the same organization (metadata.kycCrossEntityDuplicates.matches):
  • Appends warning GUENO_CROSS_ENTITY_DUPLICATED to session validation warnings.
  • If the provider mapped approved, Gu1 sets status to in_review (metadata.guenoCrossEntityDuplicateEscalation).
  • Non-omittable: cannot be sent in omitWarnings (400) and blocks omit auto-approve.
Documented in KYC warning risk codes and omitWarnings.
2026-06-11
KYCAPIWebhooksDocs
KYC β€” Gu1 Biometric

Gu1 Biometric (POST /api/kyc/biometric and /api/kyc/biometric/sessions)

Re-authentication after approved KYC: image upload check or hosted UI session (sessionUrl, iframeAllow, hostedSessionId, optional webhookUrl, org webhooks biometric.session_*, Gu1 status / rejectionCode). Marketplace product global_gueno_biometric_kyc. See Biometric verification, Biometric session, and Biometric webhook events.
2026-06-10
KYCAPIWebhooksDocs
KYC β€” decision dual array/object shape

decision always includes array + object feature pairs

On persist (sync, webhook ingest, manual ingest), Gu1 normalizes decision so integrators can read either legacy singular keys or array keys interchangeably:
  • id_verification ↔ id_verifications[0]
  • liveness ↔ liveness_checks[0]
  • face_match ↔ face_matches[0]
  • aml_screening ↔ aml_screenings[0]
  • ip_analysis ↔ ip_analyses[0]
When both shapes were present, array[0] wins and the singular object is synchronized. Applies to GET validation responses and KYC webhooks (payload.decision).Mintlify examples updated with complete decision payloads (no vendor branding; media as kyc/... keys). See KYC webhook events.
2026-06-10
EntitiesRisk MatrixAPIDocs
Risk matrix β€” rulesEngineConfig on analyze

Per-run rules engine config on POST /entities/{entityId}/analyze

New optional body object rulesEngineConfig (all fields default false):
  • partialCoverage: with multiple assigned matrices, data coverage is validated per matrix; matrices without data are skipped (matricesSkippedForCoverage / warnings on partial success).
  • omitCoverage: skip data coverage gates entirely (main entity + shareholders). Precedence over partialCoverage when both are true.
Default unchanged: union coverage blocks the whole run on any missing field (422 INCOMPLETE_DATA_COVERAGE).See Analyze Entity and Execute Risk Matrix.
2026-06-09
KYCAPIDocs
KYC β€” extractedData.ejemplar (Argentine DNI)

ejemplar in extractedData

Argentine DNI verifications can include extractedData.ejemplar (A–D) on KYC validations and ID Verification audit records (GET, sync, webhooks).With doubleCheckRenaper: true, comparisonResults.ejemplar compares OCR vs RENAPER; mismatch adds RENAPER_EJEMPLAR_NOT_MATCH to warnings.See extractedData fields and RENAPER double-check.
2026-06-05
KYCAPIDocs
KYC β€” RENAPER flow and manual review

RENAPER double-check on KYC validations

With doubleCheckRenaper: true, metadata.responseDoubleChecks.renaper includes comparisonResults, renaperBiometric (when applicable), and RENAPER codes in warnings (e.g. RENAPER_TRAMITE_ID_NOT_MATCH, RENAPER_EXPIRY_NOT_MATCH) without replacing OCR KYC verification warnings.Enforcement (auto-reject): only when OCR KYC verification returns status approved. On in_review and rejected the check is informational and stores registry data. POST /api/kyc/validations/{id}/approve from in_review does not re-run RENAPER.See Create KYC validation and Approve validation.
2026-06-04
EntitiesEnrichmentAPIDocs
Marketplace β€” checks removed, enrichments only

Marketplace *_check product removed

  • Removed: all *_check provider codes, POST /integration-execution/marketplace/check, rules triggers/actions check_completed / execute_check, and RBAC permissions checks:read / checks:execute.
  • Use instead: matching *_enrichment codes with Execute enrichment.
  • Backward compat: legacy create/import payloads with checks, executeAllActiveChecks, or *_check inside autoExecuteIntegrations.enrichments are silently ignored at parse time.
See Provider codes, Create entity, and Create automatically.
2026-06-04
Bulk importsAPIDocs
Bulk imports β€” failure codes + JSON failures

Stable batch failure codes and JSON endpoints

  • Row failures now include stable code + message (catalog: Failure codes). CSV adds a code column (external_id,code,error / row_key,code,error / entity …,code,error_message).
  • New JSON endpoints: GET /batch-import/transaction-jobs/{jobId}/failures, GET /batch-import/user-event-jobs/{jobId}/failures, GET /batch-import/entity-jobs/{jobId}/failures β€” include failures[], optional jobFailure for whole-job errors, entity skips[], truncated / failuresTotal (max 500 stored).
  • CSV download: same routes with .csv suffix (failures.csv).
  • Legacy rows with only free-text error are normalized on read when possible.
2026-06-04
EntitiesAPIDocs
Entities β€” PATCH riskMatrixIds

Assign risk matrices on entity update

  • PATCH /entities/{id} (and PATCH /entities/by-external-id/{externalId}, PATCH /entities/by-tax-id/{taxId}): document riskMatrixIds (string[]) and riskMatrixId (string | string[] | null) β€” same normalization as create. Assigns matrices on the entity; does not run the rules engine (use Analyze entity or lifecycle triggers).
  • Mintlify updated in /en/, /es/, /pt/ on Update entity and Update by external ID.
2026-06-03
TransactionsRulesAPIDocs
Transactions β€” configRulesExecution.notifications

configRulesExecution on create transaction

  • POST /transactions: optional body object configRulesExecution with notifications (boolean). When false, gu1 skips in-app notifications from rules evaluation (risk matrix / status). createAlert actions and investigations are unchanged.
  • Default: omitting the object keeps prior behavior for most orgs (notifications effectively true). Paytime prod (3bc1f621-27d4-423e-9d64-86680bec2388) defaults to notifications: false when omitted.
  • Legacy KYT POST /legacy/kyt/verifyTransaction: same field on the Gu2 body; Paytime prod default notifications: false when omitted (normalized before create).
  • Applies to sync and async rules (asyncRules).
See Create transaction. Parity in /es/ and /pt/.
2026-06-02
TransactionsAPIDocs
Transactions β€” canonical entity denormalization on link

POST /transactions and batch create β€” linked counterparty fields

When origin or destination is linked to a person/company (originEntityId / auto-link by external or tax id), gu1 always overwrites denormalized columns from the entity row before insert:
  • originTaxId / destinationTaxId ← entities.tax_id
  • originExternalId / destinationExternalId ← entities.external_id
Client-sent values for those fields are not kept if they differ from the linked entity. This aligns transaction monitoring rules with user events stored under the same entity identifiers.Documented in Create transaction and Create batch. Parity in /es/ and /pt/.
2026-06-02
EventsAPIDocs
User events β€” isNewDevice client priority

POST /events/user β€” isNewDevice honors integrator value

  • If you send isNewDevice: true or false, gu1 persists exactly that value (no server override).
  • If you omit the field, gu1 infers it when deviceId + deviceDetails are present (device registry; true when the device is new or firstSeenAt is within the last 5 minutes); otherwise false.
Documented in Create user event and Events overview. Parity in /es/ and /pt/.
2026-06-01
EntitiesBulk importAPI
Entity import β€” attributes / entityData dot notation

Platform CSV: attributes.* and entityData.*

  • Dotted headers (same approach as native transaction CSV): attributes.segment_tag, entityData.income, entityData.tradeName.
  • entityData.<field> without person/company uses the row type bucket.
  • Unprefixed columns (segment_tag) still map to attributes (backward compatible).
  • See Import entities (CSV).
2026-06-01
Bulk importAPIDocs
Bulk imports β€” limits and manual vs automatic

Import limits documented (en / es / pt)

Parity in /es/ and /pt/ docs.
2026-06-01
EntitiesBulk importAPI
Entity import β€” countries by mode

Bulk entity import countries (manual vs automatic)

  • Manual (manual): any valid platform ISO2 (batch or per-row country / country_code).
  • Automatic (automatic): AR, BR, and CL (basic data by tax ID, including Chile ruts.info / BaseAPI enrichments).
  • Applies to POST /batch-import/import/entities (platform CSV and custom CSV with mappingId).
See Import entities (CSV).
2026-06-01
EntitiesBulk importAPI
Entity import β€” manual multipart alignments

POST /batch-import/import/entities β€” manual mode enrichments

  • Manual multipart now matches the dashboard Manual hub mode: optional autoExecuteIntegrations, monitoring, and risk matrices β€” without the country basic-data pipeline (Nosis/CPF).
  • CSV-only upload (no autoExecuteIntegrations) still creates minimal entities with no enrichments.
  • Per-row CSV enrichment columns apply in manual mode; depth / shareholders remain automatic-only.
See Import entities (CSV).
2026-06-01
EntitiesBulk importAPI
Entity import β€” API default manual

POST /batch-import/import/entities β€” manual default

  • Omitting entityImportMode β†’ manual (minimal entity; enrichments only when explicitly requested).
  • Automatic with entityImportMode=automatic (+ optional autoExecuteIntegrations, depth, etc.).
  • Manual mode requires suggested_name on every row (400 if missing).
  • Template bulk-entities-template.csv: documented columns; demo row without active enrichments.
  • 202 response includes effective importMode.
See Import entities (CSV).
2026-06-01
EntitiesBulk importAPI
Entity import β€” platform CSV without mappingId

POST /batch-import/import/entities β€” platform format

  • mappingId optional for platform CSV headers. Import default: manual (see next changelog entry on this date).
See Import entities (CSV).
2026-06-01
TransactionsRulesAPI
Async transaction rules evaluation

asyncRules on create transaction

  • POST /transactions: optional query or body flag asyncRules (default false). When true and executeRules is not false, the transaction is created in the same request but rules run in the background via a job queue. The HTTP response returns immediately with empty rulesHit / rulesNoHit, plus asyncRules: true and rulesEvaluationStatus: "queued".
  • Default unchanged: omitting asyncRules keeps synchronous rules execution and a full rulesExecutionSummary β€” existing clients behave exactly as before.
  • Legacy KYT POST /legacy/kyt/verifyTransaction: same flag via query or Gu2 body field. Paytime prod (3bc1f621-27d4-423e-9d64-86680bec2388) defaults to async when the flag is omitted; use asyncRules=false to force synchronous rules for a single request.
  • Not on batch endpoints. If Redis/queue is unavailable, API may return 503 ASYNC_RULES_QUEUE_UNAVAILABLE (transaction may already exist β€” check response body before retry).
See Create transaction.
2026-05-29
KYCAPI
Face Match & ID Verification β€” RENAPER double-check

RENAPER double-check on standalone KYC endpoints

  • POST /api/kyc/face-match: optional doubleCheckRenaper (body or ?doubleCheckRenaper=true). After Gu1 face match approves, runs RENAPER biometric (validate-dni with selfie) and data (DNI + trΓ‘mite). Requires documentNumber, gender, and personalNumber (or entity fallback for DNI/gender). Response adds responseDoubleChecks.renaper (including nested renaperBiometric when biometric check runs).
  • POST /api/kyc/id-verification: same flag; after OCR approval runs RENAPER data check only (fields from extractedData). Failed checks set status to declined and add RENAPER codes to warnings.
  • Org RENAPER credentials required (same as session KYC). Use HTTP timeout β‰₯ 60s for face-match with double-check.
See Face Match and ID Verification.
2026-05-29
TransactionsRulesAPI
Transaction status-change rule trigger

KYT β€” separate status-change vs field-update triggers

  • PATCH …/changeStatus now runs rules/matrices with trigger status_changed (trigger_transaction_status_changed), not updated.
  • PATCH /transactions/{id} (metadata, deviceDetails, channel, reason) with executeRules=true still uses updated (trigger_transaction_updated).
  • Migration: reconfigure rules that must run on status transitions to the new trigger (Rule Builder: On transaction status change; matrices: transaction_status_changed). Rules with only updated / Transaction updated no longer run on changeStatus.
See Change status and Update transaction.
2026-05-29
TransactionsAPI
PATCH transaction β€” metadata, deviceDetails, channel, reason

Partial transaction update

  • PATCH /transactions/{id} and PATCH /transactions/external/{externalId}: update metadata (shallow merge β€” omitted keys are preserved), deviceDetails (shallow merge into device_details), channel (nullable), and/or reason (enum). Requires transactions:edit.
  • Query executeRules=true optionally re-runs KYT rules with trigger updated (trigger_transaction_updated) β€” not status-change rules.
  • Emits audit transaction_updated and webhook transaction.updated with a changes map (includes deviceDetails when patched).
See Update transaction.
2026-05-29
EventsAPI
Has events by entity β€” query identifiers

User events β€” has-events by external ID or tax ID

  • GET /events/user/entity/has-events (new): boolean check without the internal entity UUID. Query params: entity_id, entity_external_id, or tax_id (at least one required). Lookup priority: entity_id β†’ entity_external_id β†’ tax_id; tax IDs are matched with normalization (non-alphanumeric stripped).
  • Response still includes resolved entityId so you can call List by Entity when hasEvents is true.
  • GET /events/user/entity/{entityId}/has-events remains supported (unchanged contract).
See Has events by entity.
2026-05-28
KYCAPI
KYC IP analysis warning codes

Session KYC β€” Device & IP analysis warnings

  • GET /api/kyc/validations/:id (and sync/webhook paths): the top-level warnings array now merges risk codes from decision.ip_analyses[].warnings[] (and legacy decision.ip_analysis.warnings), alongside ID verification, liveness, face match, and AML.
  • Eight provider codes are supported (e.g. PRIVATE_NETWORK_DETECTED, DUPLICATED_DEVICE_FINGERPRINT, IP_ADDRESS_IN_BLOCKLIST). See KYC Warning Risk Codes β€” Device & IP Analysis.
  • The same codes are valid in omitWarnings on POST /api/kyc/validations when auto-approving in_review sessions.
Integrator note: Existing validations keep their stored warnings until the next sync; re-fetch or sync to backfill IP analysis codes on older rows.
2026-05-26
KYCAPI
ID Verification extractedData expansion

ID Verification β€” richer extractedData

  • POST /api/kyc/id-verification and audit list/get now persist and return a broader extractedData object: identity fields (personalNumber, taxNumber, placeOfBirth, …), providerStatus, warningMeta (e.g. duplicate session IDs), quality scores, extraFields, mrz, parsedAddress, barcodes when returned by the Gu1 ID Verification service.
  • warnings remains a string array of risk codes for i18n; use warningMeta inside extractedData for structured duplicate-session metadata.
  • External document image URLs and base64 are not returned; images you uploaded are available via ID Verification images.
  • debugProviderResponse may appear only in non-production Gu1 API environments (sanitized verification payload, no images).
See ID Verification.
2026-05-26
EntitiesTransactionsRulesAPI
Entity operationalHours + KYT operational hours rules

operational hours per entity (global)

  • Entities: Optional root field operationalHours (timezone enum + weekly slots). Stored in entities.operational_hours. Documented on Create entity and related entity endpoints.
  • Transactions: transaction_time_zone enum extended (Brazil zones). Optional timeZone is independent of entity operationalHours. transactedAt: stored as UTC; ISO with Z unchanged for existing clients; optional local datetime + timeZone converts to UTC when both are sent.
  • Rules: New operators outside_entity_operational_hours and inside_entity_operational_hours on transactedAt with value origin or destination. Requires operationalHours on the linked entity.
See Create transaction and transactional rules knowledge base.
2026-05-22
TransactionsAPIDatabase
Optional timeZone on transactions

timeZone on transactions

  • Database: New nullable column time_zone on transactions with enum type transaction_time_zone (IANA values such as America/Argentina/Buenos_Aires, UTC, etc.). Existing rows remain null.
  • API: Optional timeZone on POST /transactions and batch create; returned on GET /transactions/{id} and GET /transactions/external/{externalId} as string | null.
See Transaction Time Zone Enum and Create transaction.
2026-05-21
TransactionsAPILegacy
validateExistingEntity on transactions

validateExistingEntity (transaction create)

  • POST /transactions: optional validateExistingEntity (default false). When true, every origin/destination identifier you send must resolve to an existing person/company; otherwise 400 INVALID_ENTITY_REFERENCES and no row is created.
  • Batch endpoints: default remains true. Use validateExistingEntity: false for permissive bulk import.
  • Legacy KYT POST /legacy/kyt/verifyTransaction: same field in the Gu2 body.
See Create transaction and Batch create.
2026-05-21
EntitiesAPIEnrichment
Entity creation auto-execute

excludeEnrichments on entity creation

autoExecuteIntegrations and autoExecuteIntegrationsShareholders (manual POST /entities, POST /entities/automatic, bulk import, materialize) now accept excludeEnrichments: an array of provider codes removed from the final enrichment set after merge (including when executeAllActiveEnrichments is true).executeAllActiveChecks and checks are no longer part of the public contract for these objects. Legacy payloads that still send them are ignored at parse time.See Create entity (automatic) and Create entity.
2025-01-27
KYCHosted PageDocumentation
v1.3.0 - Hosted Onboarding Page Documentation

New: Hosted Onboarding Page Documentation

Complete documentation for the Hosted Onboarding Page - the quickest way to implement KYC verification without code.

What’s New

Hosted Page Documentation:
  • βœ… Complete customization parameters guide (branding, colors, layout)
  • βœ… Validation rules configuration (age verification, capture methods, duplicate detection)
  • βœ… Document validation rules (QR/barcode, MRZ, expiration dates, liveness)
  • βœ… Step-by-step integration guide with code examples
  • βœ… Visual flow diagram showing the complete process
  • βœ… Security best practices for session management
  • βœ… Mobile-responsive design confirmation
Key Features:
  • πŸ“± Mobile-responsive design for all devices
  • 🎨 Full customization of colors, branding, and layout
  • πŸ”’ Comprehensive security guidelines
  • πŸ“Š Visual sequence diagrams for clarity
  • 🌐 Support channel information for configuration changes

Languages

All documentation available in:
  • πŸ‡ΊπŸ‡Έ English
  • πŸ‡ͺπŸ‡Έ EspaΓ±ol
  • πŸ‡§πŸ‡· PortuguΓͺs

Impact

  • Faster implementation for no-code solutions
  • Clear guidance on customization options
  • Enhanced security awareness
  • Better understanding of the hosted page workflow
View Hosted Page Documentation
2025-01-09
KYCDocumentationMulti-language
v1.2.0 - KYC Documentation Enhancement

KYC Pages Refinement Based on Client Feedback

Major enhancement to KYC documentation based on 14 questions from client feedback.

What’s New

Complete Flow Documentation:
  • βœ… Added comprehensive comparison table: Automatic vs Manual creation
  • βœ… Complete Risk Matrix configuration guide with dashboard instructions
  • βœ… Clarified shareholders feature (KYB only, not KYC)
  • βœ… Provider codes reference with usage examples
  • βœ… Detailed credit management section with costs and workflows
Overview Page:
  • βœ… Webhooks vs manual polling explanation
  • βœ… Full KYC vs Individual Verifications comparison table
  • βœ… Comprehensive face matching security warning for banks/fintech
  • βœ… Enhanced API endpoints table with use cases
Create Validation Page:
  • βœ… Complete sequence diagram showing full flow
  • βœ… Sandbox vs Production clarification
  • βœ… Duplicate entity handling with code examples
  • βœ… Expanded integrationCode documentation
Entities API:
  • βœ… Marked optional fields with examples (attributes, entityData)
  • βœ… Minimal vs full entity creation examples

Languages

All improvements available in:
  • πŸ‡ΊπŸ‡Έ English
  • πŸ‡ͺπŸ‡Έ EspaΓ±ol
  • πŸ‡§πŸ‡· PortuguΓͺs

Impact

  • 14 client questions answered inline
  • 12 documentation files updated
  • 0 broken links
  • Improved developer onboarding experience
View KYC Documentation
2025-01-08
Infrastructurei18n
v1.1.0 - Multi-language Support

Enhanced Multi-language Documentation

Improved documentation structure with complete Spanish and Portuguese translations.

Changes

  • Complete translation coverage for KYC, KYB, and Transaction Monitoring
  • Consistent terminology across all languages
  • Language-specific examples (CPF for Brazil, DNI for Spain, etc.)

Available Languages

  • English (EN) - Primary
  • Spanish (ES) - Complete
  • Portuguese (PT) - Complete
2024-12-20
Launch
v1.0.0 - Initial Release

gu1 Documentation Launch

Initial release of comprehensive API documentation.

Core Features

  • Complete API reference for all endpoints
  • Use case guides (KYC, KYB, Transaction Monitoring)
  • Webhook integration guides
  • Interactive tutorials
  • Multi-language support

Components

  • Person entities API
  • Company entities API
  • KYC validation workflows
  • Transaction monitoring
  • Rules engine
  • Risk matrices
  • Alerts and investigations
Get Started