Skip to content
Get started

Review

Customers represent the end users who send or receive payments through your integration. Each customer undergoes automatic identity verification and fraud screening upon creation. Use customers to track payment history, manage bank account connections, and maintain a secure record of all transactions associated with a user. Customers can be either individuals or businesses with appropriate compliance checks for each type.

Review a customer's identity results
GET/v1/customers/{id}/review
Update a customer's verification status
PATCH/v1/customers/{id}/review
Update a customer's identity decision
PUT/v1/customers/{id}/refresh_review
ModelsExpand Collapse
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.

formatuuid
created_at: string

Timestamp of when the customer record was created.

formatdate-time
email: string

The customer's email address.

formatemail
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
One of the following:
"pending"
"review"
"verified"
"inactive"
"rejected"
type: "individual" or "business"
One of the following:
"individual"
"business"
updated_at: string

Timestamp of the most recent update to the customer record.

formatdate-time
address: optional CustomerAddressV1 { 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).

maxLength100
city: string

City, district, suburb, town, or village.

maxLength100
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).

maxLength100
compliance_profile: optional object { dob, ssn } or object { ein, legal_business_name, representatives, website }

PII required to trigger Patriot Act compliant KYC verification.

One of the following:
IndividualComplianceProfile = object { dob, ssn }

PII required to trigger Patriot Act compliant KYC verification.

dob: string

Masked date of birth in ****-- format.

formatdate
ssn: string

Masked Social Security Number in the format --***.

BusinessComplianceProfile = 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 -*****

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.

formaturi
config: optional object { processing_method, sandbox_outcome }
processing_method: optional "inline" or "background" or "skip"
One of the following:
"inline"
"background"
"skip"
sandbox_outcome: optional "standard" or "verified" or "rejected" or "review"
One of the following:
"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.

minLength1
formatipv4
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 IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
business_evaluation: optional IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
business_identification: optional IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
business_validation: optional IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
email: optional IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
fraud: optional IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
phone: optional IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
synthetic: optional IdentityVerificationBreakdownV1 { 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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble
created_at: string

Timestamp of when the review was initiated.

formatdate-time
decision: "accept" or "reject" or "review"
One of the following:
"accept"
"reject"
"review"
review_id: string

Unique identifier for the review.

formatuuid
updated_at: string

Timestamp of the most recent update to the review.

formatdate-time
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"
One of the following:
"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"
One of the following:
"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"
One of the following:
"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"
One of the following:
"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"
One of the following:
"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: ResponseMetadata { 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.

formatuuid
api_request_timestamp: string

Timestamp for this API request, useful for troubleshooting.

formatdate-time
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.
One of the following:
"object"
"array"
"error"
"none"
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"
One of the following:
"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.

formatdouble
decision: optional "accept" or "reject" or "review"
One of the following:
"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.

formatdouble