Create a person entity
API Reference
Create a person entity
Create a new person with custom data — for person entities in the gu1 KYC and risk analysis platform, with examples for create use cases.
POST
Create a person entity
Overview
Creates a new person entity with the specified attributes. Person entities represent individual customers that you want to analyze for risk and compliance (KYC).Endpoint
Authentication
Requires a valid API key in the Authorization header:Request Body
Must be
person for creating a person entityYour unique identifier for this person in your system (optional but recommended)
Display name for the person
ISO 3166-1 alpha-2 country code (e.g., “US”, “BR”, “AR”)
Tax identification number (validated based on country)
Optional root operational hours for KYT rules (
outside_entity_operational_hours on transactedAt). Same shape as Create entity: timezone + weekly slots. Timezone enum: Transaction Time Zone Enum.Optional - Custom attributes as key-value pairs for flexible metadataUse this for custom fields that don’t fit in the standard schema (e.g., internal IDs, tags, flags)
Optional - Person-specific data structure (see below)
When to use entityData?Full Example (with KYC data):
- Optional for basic entity creation - You can create a person with just
type,name,taxId, andcountryCode - Required for enrichment and risk analysis - If you want to run compliance checks, you’ll need to provide relevant fields
- Can be populated later - You can create a minimal person first, then update it with full data before running risk analysis
Person registration date in ISO 8601 datetime format (e.g., “2024-01-15T10:30:00Z”)
Mark this person as a client/customer for tracking purposes
One or more risk matrix UUIDs (legacy: a single UUID string). If provided, after creation the system evaluates this person 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.Preferred way to pass multiple matrices: ordered list of UUIDs belonging to your organization. When present and non-empty, it takes precedence over
riskMatrixId.Skip automatic rules execution after person creation. Use this to create the entity first and manually trigger rules later.
Initial status for the person. Options:
active- Person is activeinactive- Person is inactiveblocked- Person is blockedunder_review- Person is under review (default)suspended- Person is suspendedexpired- Person record has expireddeleted- Soft deletedrejected- Person was rejected
Configure automatic execution of enrichments when creating the person.Structure:Properties:
executeAllActiveEnrichments(boolean) - Run all active org enrichmentsenrichments(string[]) - Enrichment codes to run after createenrichmentGroupRefs(string[], optional) - Marketplace group slugsexcludeEnrichments(string[], optional) - Codes to drop from the final set
*_check codes are no longer part of the create contract; legacy payloads that send them are ignored at parse time.See Person provider codes and Create entity.Optional. Only affects enrichments that support ongoing monitoring (today:
global_gueno_sanctions_enrichment). Same semantics as Create entity — monitoring: monitoring.main[code] with { "watchlist": true } (or legacy true), the code in enrichments, and org monitoring ON in Marketplace.Gu1 sanctions monitoring (person)
Person Entity Data Structure
TheentityData.person 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 (KYC compliance rules) when creating a person by providingriskMatrixId or riskMatrixIds.
How It Works
- Get your Risk Matrix ID(s) from the gu1 dashboard (format: UUID)
- Include
riskMatrixIdorriskMatrixIdsin your creation request - The system will:
- Create the person entity
- Execute all KYC rules in the matrix
- Calculate risk score
- Generate compliance alerts if needed
- Update person status based on results
Example with Risk Matrix
Example with multiple risk matrices
Combined with enrichments and Gu1 monitoring
Risk matrix + local enrichments + Gu1 sanctions watchlist (same pattern as Create entity):- Person is created
- Listed enrichments run (RENAPER, REPET, Gu1 sanctions)
- Gu1 sanctions uses op 1 (watchlist) only when
monitoringand Marketplace allow it - Risk matrix rules evaluate collected data
- Score and alerts per rules
Response
Indicates if the person was created successfully
The created person object including:
id- gu1’s internal IDexternalId- Your external IDorganizationId- Your organization IDtype- Always “person”name- Person nameriskScore- Initial risk score (0-100)status- Person statusentityData- Person-specific dataattributes- Custom attributescreatedAt- Creation timestampupdatedAt- Last update timestamp
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.
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
shadowstatus.
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 person, you can:- Get Person Details - Retrieve complete person information
- List Persons - Query your persons
- Update Person - Modify person data
- Create KYC Validation - Start KYC verification process