Skip to content
  • Auto
  • Light
  • Dark
Get started
View as Markdown
Copy Markdown

Open in Claude
Open in ChatGPT

Review a customer's identity results

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.
Path ParametersExpand Collapse
id: string
Header ParametersExpand Collapse
"Correlation-Id": optional string
"Request-Id": optional string
"Straddle-Account-Id": optional string
ReturnsExpand 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
Accepts one of the following:
"pending"
"review"
"verified"
"inactive"
"rejected"
type: "individual" or "business"
Accepts 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.

Accepts 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"
Accepts one of the following:
"inline"
"background"
"skip"
sandbox_outcome: optional "standard" or "verified" or "rejected" or "review"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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"
Accepts 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.
Accepts one of the following:
"object"
"array"
"error"
"none"
Review a customer's identity results
curl https://sandbox.straddle.com/v1/customers/$ID/review \
    -H "Authorization: Bearer $STRADDLE_API_KEY"
{
  "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"
}
Returns Examples
{
  "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"
}