# Review ## Review a customer's identity results `client.customers.review.get(stringid, ReviewGetParamsparams?, RequestOptionsoptions?): CustomerReviewV1` **get** `/v1/customers/{id}/review` Retrieves and analyzes the results of a customer's identity validation and fraud score. This endpoint provides a comprehensive breakdown of the validation outcome, including: - Risk and correlation scores - Reason codes for the decision - Results of watchlist screening - Any network alerts detected Use this endpoint to gain insights into the verification process and make informed decisions about customer onboarding. ### Parameters - `id: string` - `params: ReviewGetParams` - `correlationID?: string` Optional client generated identifier to trace and debug a series of requests. - `requestID?: string` Optional client generated identifier to trace and debug a request. - `straddleAccountID?: string` For use by platforms to specify an account id and set scope of a request. ### Returns - `CustomerReviewV1` - `data: Data` - `customer_details: CustomerDetails` - `id: string` Unique identifier for the customer. - `created_at: string` Timestamp of when the customer record was created. - `email: string` The customer's email address. - `name: string` Full name of the individual or business name. - `phone: string` The customer's phone number in E.164 format. - `status: "pending" | "review" | "verified" | 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" | "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address?: CustomerAddressV1 | null` An object containing the customer's address. This is optional, but if provided, all required fields must be present. - `address1: string` Primary address line (e.g., street, PO Box). - `city: string` City, district, suburb, town, or village. - `state: string` Two-letter state code. - `zip: string` Zip or postal code. - `address2?: string | null` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile?: IndividualComplianceProfile | BusinessComplianceProfile | null` PII required to trigger Patriot Act compliant KYC verification. - `IndividualComplianceProfile` PII required to trigger Patriot Act compliant KYC verification. - `dob: string | null` Masked date of birth in ****-**-** format. - `ssn: string | null` Masked Social Security Number in the format ***-**-*\***. - `BusinessComplianceProfile` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string | null` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string | null` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives?: Array | null` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email?: string | null` - `phone?: string | null` - `website?: string | null` Official business website URL. Optional but recommended for enhanced KYB. - `config?: Config` - `processing_method?: "inline" | "background" | "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome?: "standard" | "verified" | "rejected" | "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device?: Device` - `ip_address: string` The customer's IP address at the time of profile creation. Use `0.0.0.0` to represent an offline customer registration. - `external_id?: string | null` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata?: Record | null` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `identity_details?: IdentityDetails` - `breakdown: Breakdown` Detailed breakdown of the customer verification results, including decisions, risk scores, correlation score, and more. - `address?: IdentityVerificationBreakdownV1` - `codes?: Array | null` List of specific result codes from the fraud and risk screening. - `correlation?: "low_confidence" | "potential_match" | "likely_match" | "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `correlation_score?: number | null` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `risk_score?: number | null` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_evaluation?: IdentityVerificationBreakdownV1` - `business_identification?: IdentityVerificationBreakdownV1` - `business_validation?: IdentityVerificationBreakdownV1` - `email?: IdentityVerificationBreakdownV1` - `fraud?: IdentityVerificationBreakdownV1` - `phone?: IdentityVerificationBreakdownV1` - `synthetic?: IdentityVerificationBreakdownV1` - `created_at: string` Timestamp of when the review was initiated. - `decision: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `review_id: string` Unique identifier for the review. - `updated_at: string` Timestamp of the most recent update to the review. - `kyc?: KYC` - `validations: Validations` Boolean values indicating the result of each validation in the KYC process. - `address?: boolean` - `city?: boolean` - `dob?: boolean` - `email?: boolean` - `first_name?: boolean` - `last_name?: boolean` - `phone?: boolean` - `ssn?: boolean` - `state?: boolean` - `zip?: boolean` - `codes?: Array | null` List of specific result codes from the KYC screening process. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `messages?: Record | null` Dictionary of all messages from the customer verification process. - `network_alerts?: NetworkAlerts` - `alerts?: Array | null` Any alerts or flags raised during the consortium alert screening. - `codes?: Array | null` List of specific result codes from the consortium alert screening. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `reputation?: Reputation` - `codes?: Array | null` Specific codes related to the Straddle reputation screening results. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `insights?: Insights` - `accounts_active_count?: number | null` - `accounts_closed_count?: number | null` - `accounts_closed_dates?: Array | null` - `accounts_count?: number | null` - `accounts_fraud_count?: number | null` - `accounts_fraud_labeled_dates?: Array | null` - `accounts_fraud_loss_total_amount?: number | null` - `ach_fraud_transactions_count?: number | null` - `ach_fraud_transactions_dates?: Array | null` - `ach_fraud_transactions_total_amount?: number | null` - `ach_returned_transactions_count?: number | null` - `ach_returned_transactions_dates?: Array | null` - `ach_returned_transactions_total_amount?: number | null` - `applications_approved_count?: number | null` - `applications_count?: number | null` - `applications_dates?: Array | null` - `applications_declined_count?: number | null` - `applications_fraud_count?: number | null` - `card_disputed_transactions_count?: number | null` - `card_disputed_transactions_dates?: Array | null` - `card_disputed_transactions_total_amount?: number | null` - `card_fraud_transactions_count?: number | null` - `card_fraud_transactions_dates?: Array | null` - `card_fraud_transactions_total_amount?: number | null` - `card_stopped_transactions_count?: number | null` - `card_stopped_transactions_dates?: Array | null` - `user_active_profile_count?: number | null` - `user_address_count?: number | null` - `user_closed_profile_count?: number | null` - `user_dob_count?: number | null` - `user_email_count?: number | null` - `user_institution_count?: number | null` - `user_mobile_count?: number | null` - `risk_score?: number | null` - `watch_list?: WatchList` - `codes?: Array | null` Specific codes related to the Straddle watchlist screening results. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `matched?: Array | null` Information about any matches found during screening. - `matches?: Array | null` Information about any matches found during screening. - `correlation: "low_confidence" | "potential_match" | "likely_match" | "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `list_name: string` The name of the list the match was found. - `match_fields: Array` Data fields that matched. - `urls: Array` Relevent Urls to review. - `meta: ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `api_request_id: string` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" | "array" | "error" | "none"` Indicates the structure of the returned content. - "object" means the `data` field contains a single JSON object. - "array" means the `data` field contains an array of objects. - "error" means the `data` field contains an error object with details of the issue. - "none" means no data is returned. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```typescript import Straddle from '@straddlecom/straddle'; const client = new Straddle({ apiKey: process.env['STRADDLE_API_KEY'], // This is the default and can be omitted }); const customerReviewV1 = await client.customers.review.get('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e'); console.log(customerReviewV1.data); ``` #### Response ```json { "data": { "customer_details": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "email": "ron.swanson@pawnee.com", "name": "Ron Swanson", "phone": "+12128675309", "status": "pending", "type": "individual", "updated_at": "2019-12-27T18:11:19.117Z", "address": { "address1": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345", "address2": "Apt 1" }, "compliance_profile": { "dob": "2019-12-27", "ssn": "***-**-****" }, "config": { "processing_method": "inline", "sandbox_outcome": "standard" }, "device": { "ip_address": "192.168.1.1" }, "external_id": "external_id", "metadata": { "foo": "string" } }, "identity_details": { "breakdown": { "address": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 }, "business_evaluation": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 }, "business_identification": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 }, "business_validation": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 }, "email": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 }, "fraud": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 }, "phone": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 }, "synthetic": { "codes": [ "string" ], "correlation": "low_confidence", "correlation_score": 0, "decision": "accept", "risk_score": 0 } }, "created_at": "2019-12-27T18:11:19.117Z", "decision": "accept", "review_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "updated_at": "2019-12-27T18:11:19.117Z", "kyc": { "validations": { "address": true, "city": true, "dob": true, "email": true, "first_name": true, "last_name": true, "phone": true, "ssn": true, "state": true, "zip": true }, "codes": [ "string" ], "decision": "accept" }, "messages": { "foo": "string" }, "network_alerts": { "alerts": [ "string" ], "codes": [ "string" ], "decision": "accept" }, "reputation": { "codes": [ "string" ], "decision": "accept", "insights": { "accounts_active_count": 0, "accounts_closed_count": 0, "accounts_closed_dates": [ "2019-12-27" ], "accounts_count": 0, "accounts_fraud_count": 0, "accounts_fraud_labeled_dates": [ "2019-12-27" ], "accounts_fraud_loss_total_amount": 0, "ach_fraud_transactions_count": 0, "ach_fraud_transactions_dates": [ "2019-12-27" ], "ach_fraud_transactions_total_amount": 0, "ach_returned_transactions_count": 0, "ach_returned_transactions_dates": [ "2019-12-27" ], "ach_returned_transactions_total_amount": 0, "applications_approved_count": 0, "applications_count": 0, "applications_dates": [ "2019-12-27" ], "applications_declined_count": 0, "applications_fraud_count": 0, "card_disputed_transactions_count": 0, "card_disputed_transactions_dates": [ "2019-12-27" ], "card_disputed_transactions_total_amount": 0, "card_fraud_transactions_count": 0, "card_fraud_transactions_dates": [ "2019-12-27" ], "card_fraud_transactions_total_amount": 0, "card_stopped_transactions_count": 0, "card_stopped_transactions_dates": [ "2019-12-27" ], "user_active_profile_count": 0, "user_address_count": 0, "user_closed_profile_count": 0, "user_dob_count": 0, "user_email_count": 0, "user_institution_count": 0, "user_mobile_count": 0 }, "risk_score": 0 }, "watch_list": { "codes": [ "string" ], "decision": "accept", "matched": [ "string" ], "matches": [ { "correlation": "low_confidence", "list_name": "list_name", "match_fields": [ "string" ], "urls": [ "string" ] } ] } } }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ``` ## Update a customer's verification status `client.customers.review.decision(stringid, ReviewDecisionParamsparams, RequestOptionsoptions?): CustomerV1` **patch** `/v1/customers/{id}/review` Updates the status of a customer's identity decision. This endpoint allows you to modify the outcome of a customer risk screening and is useful for correcting or updating the status of a customer's verification. Note that this endpoint is only available for customers with a current status of `review`. ### Parameters - `id: string` - `params: ReviewDecisionParams` - `status: "verified" | "rejected"` Body param: The final status of the customer review. - `"verified"` - `"rejected"` - `correlationID?: string` Header param: Optional client generated identifier to trace and debug a series of requests. - `idempotencyKey?: string` Header param: Optional client generated value to use for idempotent requests. - `requestID?: string` Header param: Optional client generated identifier to trace and debug a request. - `straddleAccountID?: string` Header param: For use by platforms to specify an account id and set scope of a request. ### Returns - `CustomerV1` - `data: Data` - `id: string` Unique identifier for the customer. - `created_at: string` Timestamp of when the customer record was created. - `email: string` The customer's email address. - `name: string` Full name of the individual or business name. - `phone: string` The customer's phone number in E.164 format. - `status: "pending" | "review" | "verified" | 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" | "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address?: CustomerAddressV1 | null` An object containing the customer's address. This is optional, but if provided, all required fields must be present. - `address1: string` Primary address line (e.g., street, PO Box). - `city: string` City, district, suburb, town, or village. - `state: string` Two-letter state code. - `zip: string` Zip or postal code. - `address2?: string | null` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile?: IndividualComplianceProfile | BusinessComplianceProfile | null` PII required to trigger Patriot Act compliant KYC verification. - `IndividualComplianceProfile` PII required to trigger Patriot Act compliant KYC verification. - `dob: string | null` Masked date of birth in ****-**-** format. - `ssn: string | null` Masked Social Security Number in the format ***-**-*\***. - `BusinessComplianceProfile` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string | null` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string | null` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives?: Array | null` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email?: string | null` - `phone?: string | null` - `website?: string | null` Official business website URL. Optional but recommended for enhanced KYB. - `config?: Config` - `processing_method?: "inline" | "background" | "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome?: "standard" | "verified" | "rejected" | "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device?: Device` - `ip_address: string` The customer's IP address at the time of profile creation. Use `0.0.0.0` to represent an offline customer registration. - `external_id?: string | null` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata?: Record | null` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `meta: ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `api_request_id: string` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" | "array" | "error" | "none"` Indicates the structure of the returned content. - "object" means the `data` field contains a single JSON object. - "array" means the `data` field contains an array of objects. - "error" means the `data` field contains an error object with details of the issue. - "none" means no data is returned. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```typescript import Straddle from '@straddlecom/straddle'; const client = new Straddle({ apiKey: process.env['STRADDLE_API_KEY'], // This is the default and can be omitted }); const customerV1 = await client.customers.review.decision('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { status: 'verified', }); console.log(customerV1.data); ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "email": "ron.swanson@pawnee.com", "name": "Ron Swanson", "phone": "+12128675309", "status": "pending", "type": "individual", "updated_at": "2019-12-27T18:11:19.117Z", "address": { "address1": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345", "address2": "Apt 1" }, "compliance_profile": { "dob": "2019-12-27", "ssn": "***-**-****" }, "config": { "processing_method": "inline", "sandbox_outcome": "standard" }, "device": { "ip_address": "192.168.1.1" }, "external_id": "external_id", "metadata": { "foo": "string" } }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ``` ## Update a customer's identity decision `client.customers.review.refreshReview(stringid, ReviewRefreshReviewParamsparams?, RequestOptionsoptions?): CustomerV1` **put** `/v1/customers/{id}/refresh_review` Updates the decision of a customer's identity validation. This endpoint allows you to modify the outcome of a customer decision and is useful for correcting or updating the status of a customer's verification. ### Parameters - `id: string` - `params: ReviewRefreshReviewParams` - `correlationID?: string` Optional client generated identifier to trace and debug a series of requests. - `idempotencyKey?: string` Optional client generated value to use for idempotent requests. - `requestID?: string` Optional client generated identifier to trace and debug a request. - `straddleAccountID?: string` For use by platforms to specify an account id and set scope of a request. ### Returns - `CustomerV1` - `data: Data` - `id: string` Unique identifier for the customer. - `created_at: string` Timestamp of when the customer record was created. - `email: string` The customer's email address. - `name: string` Full name of the individual or business name. - `phone: string` The customer's phone number in E.164 format. - `status: "pending" | "review" | "verified" | 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" | "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address?: CustomerAddressV1 | null` An object containing the customer's address. This is optional, but if provided, all required fields must be present. - `address1: string` Primary address line (e.g., street, PO Box). - `city: string` City, district, suburb, town, or village. - `state: string` Two-letter state code. - `zip: string` Zip or postal code. - `address2?: string | null` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile?: IndividualComplianceProfile | BusinessComplianceProfile | null` PII required to trigger Patriot Act compliant KYC verification. - `IndividualComplianceProfile` PII required to trigger Patriot Act compliant KYC verification. - `dob: string | null` Masked date of birth in ****-**-** format. - `ssn: string | null` Masked Social Security Number in the format ***-**-*\***. - `BusinessComplianceProfile` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string | null` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string | null` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives?: Array | null` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email?: string | null` - `phone?: string | null` - `website?: string | null` Official business website URL. Optional but recommended for enhanced KYB. - `config?: Config` - `processing_method?: "inline" | "background" | "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome?: "standard" | "verified" | "rejected" | "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device?: Device` - `ip_address: string` The customer's IP address at the time of profile creation. Use `0.0.0.0` to represent an offline customer registration. - `external_id?: string | null` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata?: Record | null` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `meta: ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `api_request_id: string` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" | "array" | "error" | "none"` Indicates the structure of the returned content. - "object" means the `data` field contains a single JSON object. - "array" means the `data` field contains an array of objects. - "error" means the `data` field contains an error object with details of the issue. - "none" means no data is returned. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```typescript import Straddle from '@straddlecom/straddle'; const client = new Straddle({ apiKey: process.env['STRADDLE_API_KEY'], // This is the default and can be omitted }); const customerV1 = await client.customers.review.refreshReview( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', ); console.log(customerV1.data); ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "email": "ron.swanson@pawnee.com", "name": "Ron Swanson", "phone": "+12128675309", "status": "pending", "type": "individual", "updated_at": "2019-12-27T18:11:19.117Z", "address": { "address1": "123 Main St", "city": "Anytown", "state": "CA", "zip": "12345", "address2": "Apt 1" }, "compliance_profile": { "dob": "2019-12-27", "ssn": "***-**-****" }, "config": { "processing_method": "inline", "sandbox_outcome": "standard" }, "device": { "ip_address": "192.168.1.1" }, "external_id": "external_id", "metadata": { "foo": "string" } }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ``` ## Domain Types ### Customer Review V1 - `CustomerReviewV1` - `data: Data` - `customer_details: CustomerDetails` - `id: string` Unique identifier for the customer. - `created_at: string` Timestamp of when the customer record was created. - `email: string` The customer's email address. - `name: string` Full name of the individual or business name. - `phone: string` The customer's phone number in E.164 format. - `status: "pending" | "review" | "verified" | 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" | "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address?: CustomerAddressV1 | null` An object containing the customer's address. This is optional, but if provided, all required fields must be present. - `address1: string` Primary address line (e.g., street, PO Box). - `city: string` City, district, suburb, town, or village. - `state: string` Two-letter state code. - `zip: string` Zip or postal code. - `address2?: string | null` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile?: IndividualComplianceProfile | BusinessComplianceProfile | null` PII required to trigger Patriot Act compliant KYC verification. - `IndividualComplianceProfile` PII required to trigger Patriot Act compliant KYC verification. - `dob: string | null` Masked date of birth in ****-**-** format. - `ssn: string | null` Masked Social Security Number in the format ***-**-*\***. - `BusinessComplianceProfile` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string | null` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string | null` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives?: Array | null` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email?: string | null` - `phone?: string | null` - `website?: string | null` Official business website URL. Optional but recommended for enhanced KYB. - `config?: Config` - `processing_method?: "inline" | "background" | "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome?: "standard" | "verified" | "rejected" | "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device?: Device` - `ip_address: string` The customer's IP address at the time of profile creation. Use `0.0.0.0` to represent an offline customer registration. - `external_id?: string | null` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata?: Record | null` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `identity_details?: IdentityDetails` - `breakdown: Breakdown` Detailed breakdown of the customer verification results, including decisions, risk scores, correlation score, and more. - `address?: IdentityVerificationBreakdownV1` - `codes?: Array | null` List of specific result codes from the fraud and risk screening. - `correlation?: "low_confidence" | "potential_match" | "likely_match" | "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `correlation_score?: number | null` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `risk_score?: number | null` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_evaluation?: IdentityVerificationBreakdownV1` - `business_identification?: IdentityVerificationBreakdownV1` - `business_validation?: IdentityVerificationBreakdownV1` - `email?: IdentityVerificationBreakdownV1` - `fraud?: IdentityVerificationBreakdownV1` - `phone?: IdentityVerificationBreakdownV1` - `synthetic?: IdentityVerificationBreakdownV1` - `created_at: string` Timestamp of when the review was initiated. - `decision: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `review_id: string` Unique identifier for the review. - `updated_at: string` Timestamp of the most recent update to the review. - `kyc?: KYC` - `validations: Validations` Boolean values indicating the result of each validation in the KYC process. - `address?: boolean` - `city?: boolean` - `dob?: boolean` - `email?: boolean` - `first_name?: boolean` - `last_name?: boolean` - `phone?: boolean` - `ssn?: boolean` - `state?: boolean` - `zip?: boolean` - `codes?: Array | null` List of specific result codes from the KYC screening process. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `messages?: Record | null` Dictionary of all messages from the customer verification process. - `network_alerts?: NetworkAlerts` - `alerts?: Array | null` Any alerts or flags raised during the consortium alert screening. - `codes?: Array | null` List of specific result codes from the consortium alert screening. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `reputation?: Reputation` - `codes?: Array | null` Specific codes related to the Straddle reputation screening results. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `insights?: Insights` - `accounts_active_count?: number | null` - `accounts_closed_count?: number | null` - `accounts_closed_dates?: Array | null` - `accounts_count?: number | null` - `accounts_fraud_count?: number | null` - `accounts_fraud_labeled_dates?: Array | null` - `accounts_fraud_loss_total_amount?: number | null` - `ach_fraud_transactions_count?: number | null` - `ach_fraud_transactions_dates?: Array | null` - `ach_fraud_transactions_total_amount?: number | null` - `ach_returned_transactions_count?: number | null` - `ach_returned_transactions_dates?: Array | null` - `ach_returned_transactions_total_amount?: number | null` - `applications_approved_count?: number | null` - `applications_count?: number | null` - `applications_dates?: Array | null` - `applications_declined_count?: number | null` - `applications_fraud_count?: number | null` - `card_disputed_transactions_count?: number | null` - `card_disputed_transactions_dates?: Array | null` - `card_disputed_transactions_total_amount?: number | null` - `card_fraud_transactions_count?: number | null` - `card_fraud_transactions_dates?: Array | null` - `card_fraud_transactions_total_amount?: number | null` - `card_stopped_transactions_count?: number | null` - `card_stopped_transactions_dates?: Array | null` - `user_active_profile_count?: number | null` - `user_address_count?: number | null` - `user_closed_profile_count?: number | null` - `user_dob_count?: number | null` - `user_email_count?: number | null` - `user_institution_count?: number | null` - `user_mobile_count?: number | null` - `risk_score?: number | null` - `watch_list?: WatchList` - `codes?: Array | null` Specific codes related to the Straddle watchlist screening results. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `matched?: Array | null` Information about any matches found during screening. - `matches?: Array | null` Information about any matches found during screening. - `correlation: "low_confidence" | "potential_match" | "likely_match" | "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `list_name: string` The name of the list the match was found. - `match_fields: Array` Data fields that matched. - `urls: Array` Relevent Urls to review. - `meta: ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `api_request_id: string` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" | "array" | "error" | "none"` Indicates the structure of the returned content. - "object" means the `data` field contains a single JSON object. - "array" means the `data` field contains an array of objects. - "error" means the `data` field contains an error object with details of the issue. - "none" means no data is returned. - `"object"` - `"array"` - `"error"` - `"none"` ### Identity Verification Breakdown V1 - `IdentityVerificationBreakdownV1` - `codes?: Array | null` List of specific result codes from the fraud and risk screening. - `correlation?: "low_confidence" | "potential_match" | "likely_match" | "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `correlation_score?: number | null` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision?: "accept" | "reject" | "review"` - `"accept"` - `"reject"` - `"review"` - `risk_score?: number | null` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.