# Enigma

Enigma provides comprehensive data on U.S. businesses, offering insights into their identity and financial health to support sales, marketing, risk assessment, and compliance processes.

- **Category:** business intelligence
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 19
- **Triggers:** 0
- **Slug:** `ENIGMA`
- **Version:** 20260316_00

## Tools

### Create List

**Slug:** `ENIGMA_CREATE_LIST`

Tool to create a new list to organize and group entities in Enigma. Use when you need to create a list for data generation or enrichment purposes. The list can be populated using search criteria (entityType and prompt) to find matching entities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the list to create |
| `list_type` | string ("LIST_GENERATION" | "ENRICHMENT") | No | List generation type. |
| `description` | string | No | Optional description of the list's purpose or contents |
| `file_format` | string | No | File format for list export. Defaults to PARQUET |
| `search_input` | object | No | Search input configuration for list creation. |
| `input_file_uri` | string | No | URI of an input file to use for list creation |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Suggestion

**Slug:** `ENIGMA_CREATE_SUGGESTION`

Tool to create a suggestion for data correction, enhancement, or analysis feedback in Enigma. Use when you need to submit feedback or suggest improvements to data in the Enigma platform.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `field` | string | No | Specific field being suggested for modification |
| `payload` | object | Yes | Core data for the suggestion. Typically contains entities array with type and message fields |
| `suggested_value` | object | No | Proposed value being suggested in JSON format |
| `suggested_by_email` | string | Yes | Email address of the person making the suggestion (required) |
| `ancestor_identifier` | array | No | List of parent entity identifiers |
| `suggested_by_user_id` | string | No | User identifier for the suggestion author |
| `suggested_entity_identifier` | object | No | Identifier for an entity in the Enigma system. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete List

**Slug:** `ENIGMA_DELETE_LIST`

Tool to delete an existing list permanently from the system. Use when you need to remove a list by its ID. Returns confirmation with the ID of the deleted list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the list to delete permanently from the system |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account Information

**Slug:** `ENIGMA_GET_ACCOUNT`

Tool to retrieve information about the current API account via GraphQL. Use when you need to check customer ID, billing details, pricing plan, credit availability, or auto-recharge settings.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Aggregate Counts

**Slug:** `ENIGMA_GET_AGGREGATE_COUNTS`

Tool to get aggregate counts of operating locations and their associated brands or legal entities. Use when you need summary counts rather than detailed entity information. Supports filtering by open operating locations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count_field` | string ("brand" | "operatingLocation" | "legalEntity") | Yes | Field to count: 'brand' for brand counts, 'operatingLocation' for location counts, 'legalEntity' for legal entity counts |
| `entity_type` | string ("OPERATING_LOCATION") | No | Type of entity to aggregate. Currently only OPERATING_LOCATION is supported |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Attribute Groups

**Slug:** `ENIGMA_GET_ATTRIBUTE_GROUPS`

Tool to retrieve attribute groups for Enigma entity types. Returns JSON metadata describing available attributes organized into logical groups (ID, Name, Address, etc.) with their corresponding GraphQL field paths. Use when you need to discover queryable fields for Brand, OperatingLocation, or LegalEntity entities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_type` | string ("BRAND" | "OPERATING_LOCATION" | "LEGAL_ENTITY") | No | The entity type to get attribute groups for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Background Task Status

**Slug:** `ENIGMA_GET_BACKGROUND_TASK`

Tool to get the status and results of a background task by ID. Use when checking async operation progress or retrieving results from previously initiated long-running operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the background task to retrieve (must be a valid UUID format) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Business by Enigma ID

**Slug:** `ENIGMA_GET_BUSINESS`

Tool to retrieve detailed business information using an Enigma ID. Returns comprehensive business profile including addresses, names, websites, associated people, industries, and more. Use when you need complete business details for a specific Enigma ID obtained from a prior search or match operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `attrs` | string | No | Comma-separated list of attributes to return (e.g., 'industries,address,phones'). If not specified, returns all available attributes. |
| `enigma_id` | string | Yes | Unique Enigma identifier for the business (e.g., B00233ee1f5e, B000189f2c74d) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Screening Decision

**Slug:** `ENIGMA_GET_DECISION`

Tool to retrieve a screening decision by its request ID. Use when you need to check the status, alert status, assignee, or timestamps of a previously created decision. Requires case management to be enabled for the account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `decision_id` | string | Yes | The decision ID (request_id from screening response). UUID format expected. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Extended GraphQL Schema

**Slug:** `ENIGMA_GET_GRAPH_QL_SCHEMA_EXTENDED`

Tool to retrieve extended schema information for Enigma's GraphQL API. Returns metadata about available types, fields, projections, and data asset metadata. Use when you need to explore the GraphQL schema structure or understand what data types and fields are available.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get List Materialization

**Slug:** `ENIGMA_GET_LIST_MATERIALIZATION`

Tool to retrieve a specific list materialization by its unique ID. Returns detailed information about the materialized list including status, progress, and results location. Use when you need to check the status or retrieve results of a list materialization operation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique materialization identifier (UUID format) to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Sanctioned Entity Details

**Slug:** `ENIGMA_GET_SANCTIONED_ENTITY`

Tool to retrieve detailed information about a specific sanctioned entity by its ID. Returns full entity profile including names, aliases, DOB, nationality, addresses, documents, and program designations. Use this when you need complete information about a known sanctioned entity from screening results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `format` | string ("structured" | "raw" | "display" | "attributes") | No | Output format for the response. 'structured' returns organized entity data, 'raw' returns unprocessed data, 'display' returns human-readable format, 'attributes' returns attribute list |
| `provider` | string ("ofac") | Yes | Provider of the sanctions list (e.g., 'ofac') |
| `record_id` | string | Yes | Record ID of the entity to retrieve. This is the numeric identifier from the sanctions list (e.g., '43085') |
| `collection` | string ("sdn" | "non_sdn") | Yes | Collection within the provider (e.g., 'sdn' for Specially Designated Nationals, 'non_sdn' for non-SDN lists) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### KYB Business Verification

**Slug:** `ENIGMA_KYB_VERIFICATION`

This tool performs a Know Your Business (KYB) check on a U.S. business by querying Enigma's dataset of legal entities based on official state records. It verifies business information and returns comprehensive details about the business, including best match, legal entities, brands, and watchlists. Supports U.S. businesses only.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the business to verify |
| `attrs` | string | No | Comma-separated list of additional attributes to include in the response |
| `top_n` | integer | No | Number of matches to return |
| `address` | object | Yes | Address details of the business Include street address and ZIP code for best match quality. |
| `package` | string | No | Package type for the response. Can be 'identify' or 'verify' |
| `match_threshold` | number | No | Minimum match confidence score (0 to 1) Name or address formatting variations can lower scores; tune this threshold accordingly. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Screening Decisions

**Slug:** `ENIGMA_LIST_DECISIONS`

Tool to retrieve multiple screening decisions with pagination and filtering options. Use when you need to list, search, or review historical screening decisions by alert status, assignee, date range, tag, or decision status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `amt` | integer | No | Number of results per page. Default is 10 |
| `tag` | string | No | Filter by the request tag assigned during screening |
| `page` | integer | No | Page number for pagination (0-indexed). Default is 0 |
| `alert` | boolean | No | Filter by alert status. Use true to show only alerted decisions, false for non-alerted |
| `status` | string | No | Filter by decision status (e.g., 'pending_review', 'approved', 'rejected') |
| `to_date` | string | No | Filter decisions up to this date (format: YYYY-MM-DDTHH:MM, e.g., '2024-12-31T23:59') |
| `from_date` | string | No | Filter decisions from this date (format: YYYY-MM-DDTHH:MM, e.g., '2024-01-01T00:00') |
| `assignee_id` | string | No | Filter by the user ID to whom decisions are assigned |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Match Business Profile

**Slug:** `ENIGMA_MATCH_BUSINESS`

Tool to match business records against Enigma's SMB data asset using fuzzy matching on business name and location. Use when you need to identify a business profile and obtain an Enigma ID for further data retrieval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the business to match |
| `top_n` | integer | No | Number of top matches to return. Default is 1 |
| `person` | object | No | Potential business owner information. |
| `address` | object | No | Business address for matching. |
| `website` | string | No | Business website URL to help with matching |
| `prioritization` | string | No | Set to 'MTX' to prioritize matches with revenue data availability |
| `match_threshold` | number | No | Minimum match confidence score (0 to 1). Only return matches with confidence above this threshold. Default is 0.5 |
| `show_non_matches` | integer | No | Set to 1 to include non-matching results in the response |
| `business_entity_type` | string ("business" | "business_location") | Yes | Type of entity to match: 'business' for business entities or 'business_location' for specific business locations |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Screen Against Sanctions and Watchlists

**Slug:** `ENIGMA_SCREENING_VERIFICATION`

A tool to screen customers and transactions against sanctions and other watchlists. This endpoint allows for independent verification without requiring any external resource IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | Yes | Unique identifier or description for this screening request (echoed in response) |
| `searches` | array | Yes | List of searches to perform. Each search can be ENTITY (structured) or TEXT (free-text) |
| `caller_id` | string | No | Optional caller identifier for tracking purposes |
| `query_type` | string | No | Query type to execute. Default: 'enigma_data' |
| `configuration_overrides` | object | No | Optional configuration to customize thresholds, weights, and watchlist groups |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Enigma Entities via GraphQL

**Slug:** `ENIGMA_SEARCH_GRAPH_QL`

Tool to search and retrieve entities from Enigma's comprehensive U.S. business database. Returns brands (customer-facing identities), operating locations (physical/virtual spaces), or legal entities (government registrations) based on search criteria. Search precision is approximately 94% for all entity types. Use when you need to find business information by name, address, phone, website, or TIN.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tin` | string | No | Tax Identification Number (TIN/EIN) for legal entity searches |
| `name` | string | No | Name of the business, brand, or legal entity to search for |
| `phone` | string | No | Phone number to search for (helps identify specific locations) |
| `address` | object | No | Address criteria for narrowing search results. |
| `website` | string | No | Website URL to search for |
| `entity_type` | string ("BRAND" | "OPERATING_LOCATION" | "LEGAL_ENTITY") | Yes | Type of entity to search for: BRAND (customer-facing identity), OPERATING_LOCATION (physical/virtual location), or LEGAL_ENTITY (government-registered entity) |
| `match_threshold` | number | No | Minimum confidence score for results (0.0-1.0). Default is determined by Enigma. Higher values return more precise matches. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search User-Created Lists

**Slug:** `ENIGMA_SEARCH_LISTS`

Tool to search and retrieve user-created lists via GraphQL. Returns paginated list connections with cursor-based pagination. Use when you need to query, filter, or browse entity lists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `input` | object | No | Input parameters for searching and filtering lists with cursor-based pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Verify Business Identity (KYB v2)

**Slug:** `ENIGMA_VERIFY_BUSINESS_V2`

Tool to verify business identity using Enigma's KYB v2 endpoint. Performs comprehensive business verification including TIN verification, SSN verification, watchlist screening, and business bankruptcy checks. This is the current recommended version of the KYB API. Use when you need to verify a business's identity, check compliance, or assess business risk.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tin` | string | No | Tax Identification Number (TIN/EIN) for verification (format: 12-3456789 or 123456789) |
| `name` | string | No | Business name for verification. Provide either 'name' or 'names', not both |
| `tins` | array | No | Array of Tax Identification Numbers (max 1) |
| `attrs` | string | No | Comma-separated list of additional attributes: 'watchlist' (watchlist screening), 'tin_verification' (TIN verification), 'ssn_verification' (SSN verification), 'business_bankruptcy' (bankruptcy checks). Example: 'watchlist,tin_verification' |
| `names` | array | No | Array of business names (max 2). Use for both operating names and legal names. Provide either 'name' or 'names', not both |
| `top_n` | integer | No | Maximum number of top matching entities to return (default: 10) |
| `person` | object | No | Person associated with the business (e.g., owner, officer). |
| `address` | object | No | Business address information. |
| `package` | string | No | KYB package type: 'identify' (basic matching) or 'verify' (includes TIN/SSN verification and screening). Default is 'verify' |
| `website` | string | No | Business website URL |
| `websites` | array | No | Array of business website URLs (max 1) |
| `addresses` | array | No | Array of business addresses (max 2). Provide either 'address' or 'addresses', not both |
| `match_confidence` | number | No | Minimum confidence threshold for matches, between 0.0 and 1.0 (default: 0.5) |
| `persons_to_screen` | array | No | Array of persons to screen against watchlists (max 4) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
