Skip to main content
POST
Create a company entity

Overview

Creates a new company entity with the specified attributes. Company entities represent business organizations that you want to analyze for risk and compliance (KYB).

Endpoint

Authentication

Requires a valid API key in the Authorization header:

Request Body

string
required
Must be company for creating a company entity
string
Your unique identifier for this company in your system (optional but recommended)
string
required
Display name for the company
string
required
ISO 3166-1 alpha-2 country code (e.g., “US”, “BR”, “AR”)
string
Tax identification number (validated based on country)
📋 See Tax ID Formats by Country for accepted formats and validation rules for each country.
object | null
Optional root operational hours for KYT rules. Same shape as Create entity.
object
Custom attributes as key-value pairs
object
required
Company-specific data structure (see below)
string
Company registration date in ISO 8601 datetime format (e.g., “2024-01-15T10:30:00Z”)
boolean
default:"false"
Mark this company as a client/customer for tracking purposes
string | string[]
One or more risk matrix UUIDs (legacy: a single UUID string). If provided, after creation the system evaluates this company only against active rules tied to those matrices (unless skipRulesExecution is true). Same semantics as riskMatrixIds when you send a single id as a string. See Risk Matrix Execution below.
string[]
Preferred way to pass multiple matrices: ordered list of UUIDs belonging to your organization. When present and non-empty, it takes precedence over riskMatrixId.
boolean
default:"false"
Skip automatic rules execution after company creation. Use this to create the entity first and manually trigger rules later.
string
default:"under_review"
Initial status for the company. Options:
  • active - Company is active
  • inactive - Company is inactive
  • blocked - Company is blocked
  • under_review - Company is under review (default)
  • suspended - Company is suspended
  • expired - Company record has expired
  • deleted - Soft deleted
  • rejected - Company was rejected
object
Configure automatic execution of enrichments when creating the company.Structure:
Properties:
  • executeAllActiveEnrichments (boolean) - Execute all active enrichment integrations configured in your organization
  • enrichments (string[]) - Array of specific enrichment provider codes to execute
Example provider codes (Argentina company — must match ValidProviderCodesEnum strings):
  • ar_nosis_extended_verification_enrichment — NOSIS extended company enrichment
  • ar_bcra_deudas_enrichment — BCRA debts enrichment
  • ar_repet_entity_enrichment — REPET entity / watchlist enrichment
  • global_complyadvantage_sanctions_enrichment — ComplyAdvantage sanctions enrichment
  • global_gueno_sanctions_enrichment — Gu1 sanctions enrichment (when configured)
See Provider codes and the full provider-codes reference.
object
Optional. Same as Create entity: use monitoring.main with global_gueno_sanctions_enrichment: true for watchlist mode when that enrichment runs from autoExecuteIntegrations. Only this integration code is supported today. Requires Marketplace monitoring enabled. Full examples: Create entity — Gu1 example.

Gu1 sanctions monitoring (company)

Company Entity Data Structure

The entityData.company object should contain:
Address Format: The address field supports both formats:
  • String format (simple): "Av. Paulista, 1000, São Paulo, SP, Brazil"
  • Object format (structured):

Risk Matrix Execution

You can automatically execute one or more risk matrices (KYB compliance rules) when creating a company by providing riskMatrixId or riskMatrixIds.

How It Works

  1. Get your Risk Matrix ID(s) from the gu1 dashboard (format: UUID)
  2. Include riskMatrixId or riskMatrixIds in your creation request
  3. The system will:
    • Create the company entity
    • Execute all KYB rules in the matrix
    • Calculate risk score
    • Generate compliance alerts if needed
    • Update company status based on results

Example with Risk Matrix

Example with multiple risk matrices

Combined with enrichments and Gu1 monitoring

See Create entity — monitoring.

Response

boolean
Indicates if the company was created successfully
object
The created company object including:
  • id - gu1’s internal ID
  • externalId - Your external ID
  • organizationId - Your organization ID
  • type - Always “company”
  • name - Company name
  • riskScore - Initial risk score (0-100)
  • status - Company status
  • entityData - Company-specific data
  • attributes - Custom attributes
  • createdAt - Creation timestamp
  • updatedAt - Last update timestamp
object
Result of rules execution (only present when rules ran, e.g. when skipRulesExecution is false and a risk matrix is configured), including:
  • success (boolean) - Whether rules executed successfully
  • rulesTriggered (number) - Number of rules that were triggered
  • alerts (array) - Alerts generated by rules
  • riskScore (number) - Final calculated risk score
  • decision (string) - Final decision (APPROVE, REJECT, HOLD, REVIEW_REQUIRED)
  • rulesExecutionSummary (object) - Present when rules ran. See below for structure.
object
At the root of the response (same as transactions API). Same value as rulesResult.rulesExecutionSummary. Only present when rules ran (e.g. skipRulesExecution is false). Summary of which rules matched (hit) vs did not match (no hit), executed actions, and total score. Omitted when rules did not run.
  • rulesHit (array) - Rules whose conditions were met. Each item: name, description, score, priority, category, status (e.g. active, shadow), conditions (array of { field, value, operator? }), actions (alerts, suggestion, status, assignedUser).
  • rulesNoHit (array) - Rules that were evaluated but conditions were not met. Same structure as rulesHit (includes configured actions, not executed).
  • actionsExecuted (object) - Aggregated executed actions across all rules that hit: alerts, suggestion (BLOCK | SUSPEND | FLAG, highest weight), status (entity status applied, if any), assignedUser ({ userId }, if any), customKeys (array of strings, optional) — custom action keys from matched rules; for integrations/workflows.
  • totalScore (number) - Sum of score of all rules that hit and are not in shadow status.

Example Request

Response Example

Error Responses

400 Bad Request - Invalid Tax ID

400 Bad Request - Missing Required Fields

409 Conflict - Duplicate Entity

401 Unauthorized

Next Steps

After creating a company, you can:
  1. Get Company Details - Retrieve complete company information
  2. List Companies - Query your companies
  3. Update Company - Modify company data
  4. Create KYB Validation - Start KYB verification process