# Review ## Review a customer's identity results `$ straddle customers:review get` **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` - `--correlation-id: optional string` Optional client generated identifier to trace and debug a series of requests. - `--request-id: optional string` Optional client generated identifier to trace and debug a request. - `--straddle-account-id: optional string` For use by platforms to specify an account id and set scope of a request. ### Returns - `customerReviewV1: object { data, meta, response_type }` - `data: object { customer_details, identity_details }` - `customer_details: object { id, created_at, email, 11 more }` - `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" or "review" or "verified" or 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" or "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address: optional object { address1, city, state, 2 more }` 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: optional string` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile: optional object { dob, ssn } or object { ein, legal_business_name, representatives, website }` PII required to trigger Patriot Act compliant KYC verification. - `Individual Compliance Profile: object { dob, ssn }` PII required to trigger Patriot Act compliant KYC verification. - `dob: string` Masked date of birth in ****-**-** format. - `ssn: string` Masked Social Security Number in the format ***-**-*\***. - `Business Compliance Profile: object { ein, legal_business_name, representatives, website }` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives: optional array of object { name, email, phone }` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email: optional string` - `phone: optional string` - `website: optional string` Official business website URL. Optional but recommended for enhanced KYB. - `config: optional object { processing_method, sandbox_outcome }` - `processing_method: optional "inline" or "background" or "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome: optional "standard" or "verified" or "rejected" or "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device: optional object { ip_address }` - `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: optional string` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata: optional map[string]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `identity_details: optional object { breakdown, created_at, decision, 7 more }` - `breakdown: object { address, business_evaluation, business_identification, 5 more }` Detailed breakdown of the customer verification results, including decisions, risk scores, correlation score, and more. - `address: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_evaluation: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_identification: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_validation: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `email: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `fraud: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `phone: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `synthetic: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `created_at: string` Timestamp of when the review was initiated. - `decision: "accept" or "reject" or "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: optional object { validations, codes, decision }` - `validations: object { address, city, dob, 7 more }` Boolean values indicating the result of each validation in the KYC process. - `address: optional boolean` - `city: optional boolean` - `dob: optional boolean` - `email: optional boolean` - `first_name: optional boolean` - `last_name: optional boolean` - `phone: optional boolean` - `ssn: optional boolean` - `state: optional boolean` - `zip: optional boolean` - `codes: optional array of string` List of specific result codes from the KYC screening process. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `messages: optional map[string]` Dictionary of all messages from the customer verification process. - `network_alerts: optional object { alerts, codes, decision }` - `alerts: optional array of string` Any alerts or flags raised during the consortium alert screening. - `codes: optional array of string` List of specific result codes from the consortium alert screening. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `reputation: optional object { codes, decision, insights, risk_score }` - `codes: optional array of string` Specific codes related to the Straddle reputation screening results. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `insights: optional object { accounts_active_count, accounts_closed_count, accounts_closed_dates, 30 more }` - `accounts_active_count: optional number` - `accounts_closed_count: optional number` - `accounts_closed_dates: optional array of string` - `accounts_count: optional number` - `accounts_fraud_count: optional number` - `accounts_fraud_labeled_dates: optional array of string` - `accounts_fraud_loss_total_amount: optional number` - `ach_fraud_transactions_count: optional number` - `ach_fraud_transactions_dates: optional array of string` - `ach_fraud_transactions_total_amount: optional number` - `ach_returned_transactions_count: optional number` - `ach_returned_transactions_dates: optional array of string` - `ach_returned_transactions_total_amount: optional number` - `applications_approved_count: optional number` - `applications_count: optional number` - `applications_dates: optional array of string` - `applications_declined_count: optional number` - `applications_fraud_count: optional number` - `card_disputed_transactions_count: optional number` - `card_disputed_transactions_dates: optional array of string` - `card_disputed_transactions_total_amount: optional number` - `card_fraud_transactions_count: optional number` - `card_fraud_transactions_dates: optional array of string` - `card_fraud_transactions_total_amount: optional number` - `card_stopped_transactions_count: optional number` - `card_stopped_transactions_dates: optional array of string` - `user_active_profile_count: optional number` - `user_address_count: optional number` - `user_closed_profile_count: optional number` - `user_dob_count: optional number` - `user_email_count: optional number` - `user_institution_count: optional number` - `user_mobile_count: optional number` - `risk_score: optional number` - `watch_list: optional object { codes, decision, matched, matches }` - `codes: optional array of string` Specific codes related to the Straddle watchlist screening results. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `matched: optional array of string` Information about any matches found during screening. - `matches: optional array of object { correlation, list_name, match_fields, urls }` Information about any matches found during screening. - `correlation: "low_confidence" or "potential_match" or "likely_match" or "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 of string` Data fields that matched. - `urls: array of string` Relevent Urls to review. - `meta: object { api_request_id, api_request_timestamp }` 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" or "array" or "error" or "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 ```cli straddle customers:review get \ --api-key 'My API Key' \ --id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e ``` #### 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 `$ straddle customers:review decision` **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` Path param - `--status: "verified" or "rejected"` Body param: The final status of the customer review. - `--correlation-id: optional string` Header param: Optional client generated identifier to trace and debug a series of requests. - `--idempotency-key: optional string` Header param: Optional client generated value to use for idempotent requests. - `--request-id: optional string` Header param: Optional client generated identifier to trace and debug a request. - `--straddle-account-id: optional string` Header param: For use by platforms to specify an account id and set scope of a request. ### Returns - `customerV1: object { data, meta, response_type }` - `data: object { id, created_at, email, 11 more }` - `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" or "review" or "verified" or 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" or "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address: optional object { address1, city, state, 2 more }` 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: optional string` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile: optional object { dob, ssn } or object { ein, legal_business_name, representatives, website }` PII required to trigger Patriot Act compliant KYC verification. - `Individual Compliance Profile: object { dob, ssn }` PII required to trigger Patriot Act compliant KYC verification. - `dob: string` Masked date of birth in ****-**-** format. - `ssn: string` Masked Social Security Number in the format ***-**-*\***. - `Business Compliance Profile: object { ein, legal_business_name, representatives, website }` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives: optional array of object { name, email, phone }` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email: optional string` - `phone: optional string` - `website: optional string` Official business website URL. Optional but recommended for enhanced KYB. - `config: optional object { processing_method, sandbox_outcome }` - `processing_method: optional "inline" or "background" or "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome: optional "standard" or "verified" or "rejected" or "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device: optional object { ip_address }` - `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: optional string` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata: optional map[string]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `meta: object { api_request_id, api_request_timestamp }` 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" or "array" or "error" or "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 ```cli straddle customers:review decision \ --api-key 'My API Key' \ --id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e \ --status verified ``` #### 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 `$ straddle customers:review refresh-review` **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` - `--correlation-id: optional string` Optional client generated identifier to trace and debug a series of requests. - `--idempotency-key: optional string` Optional client generated value to use for idempotent requests. - `--request-id: optional string` Optional client generated identifier to trace and debug a request. - `--straddle-account-id: optional string` For use by platforms to specify an account id and set scope of a request. ### Returns - `customerV1: object { data, meta, response_type }` - `data: object { id, created_at, email, 11 more }` - `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" or "review" or "verified" or 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" or "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address: optional object { address1, city, state, 2 more }` 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: optional string` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile: optional object { dob, ssn } or object { ein, legal_business_name, representatives, website }` PII required to trigger Patriot Act compliant KYC verification. - `Individual Compliance Profile: object { dob, ssn }` PII required to trigger Patriot Act compliant KYC verification. - `dob: string` Masked date of birth in ****-**-** format. - `ssn: string` Masked Social Security Number in the format ***-**-*\***. - `Business Compliance Profile: object { ein, legal_business_name, representatives, website }` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives: optional array of object { name, email, phone }` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email: optional string` - `phone: optional string` - `website: optional string` Official business website URL. Optional but recommended for enhanced KYB. - `config: optional object { processing_method, sandbox_outcome }` - `processing_method: optional "inline" or "background" or "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome: optional "standard" or "verified" or "rejected" or "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device: optional object { ip_address }` - `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: optional string` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata: optional map[string]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `meta: object { api_request_id, api_request_timestamp }` 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" or "array" or "error" or "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 ```cli straddle customers:review refresh-review \ --api-key 'My API Key' \ --id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e ``` #### 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: object { data, meta, response_type }` - `data: object { customer_details, identity_details }` - `customer_details: object { id, created_at, email, 11 more }` - `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" or "review" or "verified" or 2 more` - `"pending"` - `"review"` - `"verified"` - `"inactive"` - `"rejected"` - `type: "individual" or "business"` - `"individual"` - `"business"` - `updated_at: string` Timestamp of the most recent update to the customer record. - `address: optional object { address1, city, state, 2 more }` 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: optional string` Secondary address line (e.g., apartment, suite, unit, or building). - `compliance_profile: optional object { dob, ssn } or object { ein, legal_business_name, representatives, website }` PII required to trigger Patriot Act compliant KYC verification. - `Individual Compliance Profile: object { dob, ssn }` PII required to trigger Patriot Act compliant KYC verification. - `dob: string` Masked date of birth in ****-**-** format. - `ssn: string` Masked Social Security Number in the format ***-**-*\***. - `Business Compliance Profile: object { ein, legal_business_name, representatives, website }` Business registration data required to trigger Patriot Act compliant KYB verification. - `ein: string` Masked Employer Identification Number in the format **-**\***** - `legal_business_name: string` The official registered name of the business. This name should be correlated with the `ein` value. - `representatives: optional array of object { name, email, phone }` A list of people related to the company. Only valid where customer type is 'business'. - `name: string` - `email: optional string` - `phone: optional string` - `website: optional string` Official business website URL. Optional but recommended for enhanced KYB. - `config: optional object { processing_method, sandbox_outcome }` - `processing_method: optional "inline" or "background" or "skip"` - `"inline"` - `"background"` - `"skip"` - `sandbox_outcome: optional "standard" or "verified" or "rejected" or "review"` - `"standard"` - `"verified"` - `"rejected"` - `"review"` - `device: optional object { ip_address }` - `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: optional string` Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems. - `metadata: optional map[string]` Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format. - `identity_details: optional object { breakdown, created_at, decision, 7 more }` - `breakdown: object { address, business_evaluation, business_identification, 5 more }` Detailed breakdown of the customer verification results, including decisions, risk scores, correlation score, and more. - `address: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_evaluation: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_identification: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `business_validation: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `email: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `fraud: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `phone: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `synthetic: optional object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud. - `created_at: string` Timestamp of when the review was initiated. - `decision: "accept" or "reject" or "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: optional object { validations, codes, decision }` - `validations: object { address, city, dob, 7 more }` Boolean values indicating the result of each validation in the KYC process. - `address: optional boolean` - `city: optional boolean` - `dob: optional boolean` - `email: optional boolean` - `first_name: optional boolean` - `last_name: optional boolean` - `phone: optional boolean` - `ssn: optional boolean` - `state: optional boolean` - `zip: optional boolean` - `codes: optional array of string` List of specific result codes from the KYC screening process. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `messages: optional map[string]` Dictionary of all messages from the customer verification process. - `network_alerts: optional object { alerts, codes, decision }` - `alerts: optional array of string` Any alerts or flags raised during the consortium alert screening. - `codes: optional array of string` List of specific result codes from the consortium alert screening. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `reputation: optional object { codes, decision, insights, risk_score }` - `codes: optional array of string` Specific codes related to the Straddle reputation screening results. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `insights: optional object { accounts_active_count, accounts_closed_count, accounts_closed_dates, 30 more }` - `accounts_active_count: optional number` - `accounts_closed_count: optional number` - `accounts_closed_dates: optional array of string` - `accounts_count: optional number` - `accounts_fraud_count: optional number` - `accounts_fraud_labeled_dates: optional array of string` - `accounts_fraud_loss_total_amount: optional number` - `ach_fraud_transactions_count: optional number` - `ach_fraud_transactions_dates: optional array of string` - `ach_fraud_transactions_total_amount: optional number` - `ach_returned_transactions_count: optional number` - `ach_returned_transactions_dates: optional array of string` - `ach_returned_transactions_total_amount: optional number` - `applications_approved_count: optional number` - `applications_count: optional number` - `applications_dates: optional array of string` - `applications_declined_count: optional number` - `applications_fraud_count: optional number` - `card_disputed_transactions_count: optional number` - `card_disputed_transactions_dates: optional array of string` - `card_disputed_transactions_total_amount: optional number` - `card_fraud_transactions_count: optional number` - `card_fraud_transactions_dates: optional array of string` - `card_fraud_transactions_total_amount: optional number` - `card_stopped_transactions_count: optional number` - `card_stopped_transactions_dates: optional array of string` - `user_active_profile_count: optional number` - `user_address_count: optional number` - `user_closed_profile_count: optional number` - `user_dob_count: optional number` - `user_email_count: optional number` - `user_institution_count: optional number` - `user_mobile_count: optional number` - `risk_score: optional number` - `watch_list: optional object { codes, decision, matched, matches }` - `codes: optional array of string` Specific codes related to the Straddle watchlist screening results. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `matched: optional array of string` Information about any matches found during screening. - `matches: optional array of object { correlation, list_name, match_fields, urls }` Information about any matches found during screening. - `correlation: "low_confidence" or "potential_match" or "likely_match" or "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 of string` Data fields that matched. - `urls: array of string` Relevent Urls to review. - `meta: object { api_request_id, api_request_timestamp }` 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" or "array" or "error" or "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: object { codes, correlation, correlation_score, 2 more }` - `codes: optional array of string` List of specific result codes from the fraud and risk screening. - `correlation: optional "low_confidence" or "potential_match" or "likely_match" or "high_confidence"` - `"low_confidence"` - `"potential_match"` - `"likely_match"` - `"high_confidence"` - `correlation_score: optional number` Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation. - `decision: optional "accept" or "reject" or "review"` - `"accept"` - `"reject"` - `"review"` - `risk_score: optional number` Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.