Skip to content
Get started

Customers

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.

Lookup a customer
CustomerV1 Customers.Get(CustomerGetParamsparameters, CancellationTokencancellationToken = default)
GET/v1/customers/{id}
Update a customer
CustomerV1 Customers.Update(CustomerUpdateParamsparameters, CancellationTokencancellationToken = default)
PUT/v1/customers/{id}
Delete a customer
CustomerV1 Customers.Delete(CustomerDeleteParamsparameters, CancellationTokencancellationToken = default)
DELETE/v1/customers/{id}
List customers
CustomerSummaryPagedV1 Customers.List(CustomerListParams?parameters, CancellationTokencancellationToken = default)
GET/v1/customers
Create a customer
CustomerV1 Customers.Create(CustomerCreateParamsparameters, CancellationTokencancellationToken = default)
POST/v1/customers
Unmask customer data
CustomerUnmaskedV1 Customers.Unmasked(CustomerUnmaskedParamsparameters, CancellationTokencancellationToken = default)
GET/v1/customers/{id}/unmasked
ModelsExpand Collapse
class CustomerAddressV1:

An object containing the customer's address. This is optional, but if provided, all required fields must be present.

required string Address1

Primary address line (e.g., street, PO Box).

maxLength100
required string City

City, district, suburb, town, or village.

maxLength100
required string State

Two-letter state code.

required string Zip

Zip or postal code.

string? Address2

Secondary address line (e.g., apartment, suite, unit, or building).

maxLength100
class CustomerSummaryPagedV1:
required IReadOnlyList<Data> Data
required string ID

Unique identifier for the customer.

formatuuid
required DateTimeOffset CreatedAt

Timestamp of when the customer record was created.

formatdate-time
required string Email

The customer's email address.

formatemail
required string Name

Full name of the individual or business name.

required string Phone

The customer's phone number in E.164 format.

required Status Status
One of the following:
"pending"Pending
"review"Review
"verified"Verified
"inactive"Inactive
"rejected"Rejected
required Type Type
One of the following:
"individual"Individual
"business"Business
required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the customer record.

formatdate-time
string? ExternalID

Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems.

required Meta Meta
required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required Int MaxPageSize

Maximum allowed page size for this endpoint.

formatint32
required Int PageNumber

Page number for paginated results.

formatint32
required Int PageSize

Number of items per page in this response.

formatint32
required string SortBy

The field that the results were sorted by.

required SortOrder SortOrder
One of the following:
"asc"Asc
"desc"Desc
required Int TotalItems
required Int TotalPages

The number of pages available.

formatint32
required ResponseType ResponseType

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"Object
"array"Array
"error"Error
"none"None
class CustomerUnmaskedV1:
required Data Data
required string ID

Unique identifier for the customer.

formatuuid
required DateTimeOffset CreatedAt

Timestamp of when the customer record was created.

formatdate-time
required string Email

The customer's email address.

formatemail
required string Name

Full name of the individual or business name.

required string Phone

The customer's phone number in E.164 format.

required Status Status
One of the following:
"pending"Pending
"review"Review
"verified"Verified
"inactive"Inactive
"rejected"Rejected
required Type Type
One of the following:
"individual"Individual
"business"Business
required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the customer record.

formatdate-time

An object containing the customer's address. This is optional, but if provided, all required fields must be present.

required string Address1

Primary address line (e.g., street, PO Box).

maxLength100
required string City

City, district, suburb, town, or village.

maxLength100
required string State

Two-letter state code.

required string Zip

Zip or postal code.

string? Address2

Secondary address line (e.g., apartment, suite, unit, or building).

maxLength100
ComplianceProfile? ComplianceProfile

Individual PII data required to trigger Patriot Act compliant KYC verification.

One of the following:
class IndividualComplianceProfile:

Individual PII data required to trigger Patriot Act compliant KYC verification.

required DateOnly? Dob

Date of birth (YYYY-MM-DD). Required for Patriot Act-compliant KYC verification.

formatdate
required string? Ssn

Social Security Number (format XXX-XX-XXXX). Required for Patriot Act-compliant KYC verification.

class BusinessComplianceProfile:

Business registration data required to trigger Patriot Act compliant KYB verification.

required string? Ein

Employer Identification Number (format XX-XXXXXXX). Required for Patriot Act-compliant KYB verification.

Official registered business name as listed with the IRS. This value will be matched against the 'legal_business name'.

IReadOnlyList<Representative>? Representatives

A list of people related to the company. Only valid where customer type is 'business'.

required string Name
string? Email
string? Phone
string? Website

Official business website URL. Optional but recommended for enhanced KYB.

formaturi
Config Config
ProcessingMethod ProcessingMethod
One of the following:
"inline"Inline
"background"Background
"skip"Skip
SandboxOutcome SandboxOutcome
One of the following:
"standard"Standard
"verified"Verified
"rejected"Rejected
"review"Review
required string IPAddress

The customer's IP address at the time of profile creation. Use 0.0.0.0 to represent an offline customer registration.

minLength1
formatipv4
string? ExternalID

Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems.

IReadOnlyDictionary<string, string>? Metadata

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format.

required ResponseMetadata Meta

Metadata about the API request, including an identifier and timestamp.

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required ResponseType ResponseType

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"Object
"array"Array
"error"Error
"none"None
class CustomerV1:
required Data Data
required string ID

Unique identifier for the customer.

formatuuid
required DateTimeOffset CreatedAt

Timestamp of when the customer record was created.

formatdate-time
required string Email

The customer's email address.

formatemail
required string Name

Full name of the individual or business name.

required string Phone

The customer's phone number in E.164 format.

required Status Status
One of the following:
"pending"Pending
"review"Review
"verified"Verified
"inactive"Inactive
"rejected"Rejected
required Type Type
One of the following:
"individual"Individual
"business"Business
required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the customer record.

formatdate-time

An object containing the customer's address. This is optional, but if provided, all required fields must be present.

required string Address1

Primary address line (e.g., street, PO Box).

maxLength100
required string City

City, district, suburb, town, or village.

maxLength100
required string State

Two-letter state code.

required string Zip

Zip or postal code.

string? Address2

Secondary address line (e.g., apartment, suite, unit, or building).

maxLength100
ComplianceProfile? ComplianceProfile

PII required to trigger Patriot Act compliant KYC verification.

One of the following:
class IndividualComplianceProfile:

PII required to trigger Patriot Act compliant KYC verification.

required DateOnly? Dob

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

formatdate
required string? Ssn

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

class BusinessComplianceProfile:

Business registration data required to trigger Patriot Act compliant KYB verification.

required string? Ein

Masked Employer Identification Number in the format -*****

The official registered name of the business. This name should be correlated with the ein value.

IReadOnlyList<Representative>? Representatives

A list of people related to the company. Only valid where customer type is 'business'.

required string Name
string? Email
string? Phone
string? Website

Official business website URL. Optional but recommended for enhanced KYB.

formaturi
Config Config
ProcessingMethod ProcessingMethod
One of the following:
"inline"Inline
"background"Background
"skip"Skip
SandboxOutcome SandboxOutcome
One of the following:
"standard"Standard
"verified"Verified
"rejected"Rejected
"review"Review
Device Device
required string IPAddress

The customer's IP address at the time of profile creation. Use 0.0.0.0 to represent an offline customer registration.

minLength1
formatipv4
string? ExternalID

Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems.

IReadOnlyDictionary<string, string>? Metadata

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format.

required ResponseMetadata Meta

Metadata about the API request, including an identifier and timestamp.

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required ResponseType ResponseType

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"Object
"array"Array
"error"Error
"none"None
class DeviceUnmaskedV1:
required string IPAddress

The customer's IP address at the time of profile creation. Use 0.0.0.0 to represent an offline customer registration.

minLength1
formatipv4

CustomersReview

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
CustomerReviewV1 Customers.Review.Get(ReviewGetParamsparameters, CancellationTokencancellationToken = default)
GET/v1/customers/{id}/review
Update a customer's verification status
CustomerV1 Customers.Review.Decision(ReviewDecisionParamsparameters, CancellationTokencancellationToken = default)
PATCH/v1/customers/{id}/review
Update a customer's identity decision
CustomerV1 Customers.Review.RefreshReview(ReviewRefreshReviewParamsparameters, CancellationTokencancellationToken = default)
PUT/v1/customers/{id}/refresh_review
ModelsExpand Collapse
class CustomerReviewV1:
required Data Data
required CustomerDetails CustomerDetails
required string ID

Unique identifier for the customer.

formatuuid
required DateTimeOffset CreatedAt

Timestamp of when the customer record was created.

formatdate-time
required string Email

The customer's email address.

formatemail
required string Name

Full name of the individual or business name.

required string Phone

The customer's phone number in E.164 format.

required Status Status
One of the following:
"pending"Pending
"review"Review
"verified"Verified
"inactive"Inactive
"rejected"Rejected
required Type Type
One of the following:
"individual"Individual
"business"Business
required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the customer record.

formatdate-time

An object containing the customer's address. This is optional, but if provided, all required fields must be present.

required string Address1

Primary address line (e.g., street, PO Box).

maxLength100
required string City

City, district, suburb, town, or village.

maxLength100
required string State

Two-letter state code.

required string Zip

Zip or postal code.

string? Address2

Secondary address line (e.g., apartment, suite, unit, or building).

maxLength100
ComplianceProfile? ComplianceProfile

PII required to trigger Patriot Act compliant KYC verification.

One of the following:
class IndividualComplianceProfile:

PII required to trigger Patriot Act compliant KYC verification.

required DateOnly? Dob

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

formatdate
required string? Ssn

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

class BusinessComplianceProfile:

Business registration data required to trigger Patriot Act compliant KYB verification.

required string? Ein

Masked Employer Identification Number in the format -*****

The official registered name of the business. This name should be correlated with the ein value.

IReadOnlyList<Representative>? Representatives

A list of people related to the company. Only valid where customer type is 'business'.

required string Name
string? Email
string? Phone
string? Website

Official business website URL. Optional but recommended for enhanced KYB.

formaturi
Config Config
ProcessingMethod ProcessingMethod
One of the following:
"inline"Inline
"background"Background
"skip"Skip
SandboxOutcome SandboxOutcome
One of the following:
"standard"Standard
"verified"Verified
"rejected"Rejected
"review"Review
Device Device
required string IPAddress

The customer's IP address at the time of profile creation. Use 0.0.0.0 to represent an offline customer registration.

minLength1
formatipv4
string? ExternalID

Unique identifier for the customer in your database, used for cross-referencing between Straddle and your systems.

IReadOnlyDictionary<string, string>? Metadata

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the customer in a structured format.

IdentityDetails IdentityDetails
required Breakdown Breakdown

Detailed breakdown of the customer verification results, including decisions, risk scores, correlation score, and more.

IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
IdentityVerificationBreakdownV1 BusinessIdentification
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble
required DateTimeOffset CreatedAt

Timestamp of when the review was initiated.

formatdate-time
required Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
required string ReviewID

Unique identifier for the review.

formatuuid
required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the review.

formatdate-time
Kyc Kyc
required Validations Validations

Boolean values indicating the result of each validation in the KYC process.

Boolean Address
Boolean City
Boolean Dob
Boolean Email
Boolean FirstName
Boolean LastName
Boolean Phone
Boolean Ssn
Boolean State
Boolean Zip
IReadOnlyList<string>? Codes

List of specific result codes from the KYC screening process.

Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
IReadOnlyDictionary<string, string>? Messages

Dictionary of all messages from the customer verification process.

NetworkAlerts NetworkAlerts
IReadOnlyList<string>? Alerts

Any alerts or flags raised during the consortium alert screening.

IReadOnlyList<string>? Codes

List of specific result codes from the consortium alert screening.

Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Reputation Reputation
IReadOnlyList<string>? Codes

Specific codes related to the Straddle reputation screening results.

Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Insights Insights
Int? AccountsActiveCount
Int? AccountsClosedCount
IReadOnlyList<DateOnly>? AccountsClosedDates
Int? AccountsCount
Int? AccountsFraudCount
IReadOnlyList<DateOnly>? AccountsFraudLabeledDates
Double? AccountsFraudLossTotalAmount
Int? AchFraudTransactionsCount
IReadOnlyList<DateOnly>? AchFraudTransactionsDates
Double? AchFraudTransactionsTotalAmount
Int? AchReturnedTransactionsCount
IReadOnlyList<DateOnly>? AchReturnedTransactionsDates
Double? AchReturnedTransactionsTotalAmount
Int? ApplicationsApprovedCount
Int? ApplicationsCount
IReadOnlyList<DateOnly>? ApplicationsDates
Int? ApplicationsDeclinedCount
Int? ApplicationsFraudCount
Int? CardDisputedTransactionsCount
IReadOnlyList<DateOnly>? CardDisputedTransactionsDates
Double? CardDisputedTransactionsTotalAmount
Int? CardFraudTransactionsCount
IReadOnlyList<DateOnly>? CardFraudTransactionsDates
Double? CardFraudTransactionsTotalAmount
Int? CardStoppedTransactionsCount
IReadOnlyList<DateOnly>? CardStoppedTransactionsDates
Int? UserActiveProfileCount
Int? UserAddressCount
Int? UserClosedProfileCount
Int? UserDobCount
Int? UserEmailCount
Int? UserInstitutionCount
Int? UserMobileCount
Double? RiskScore
WatchList WatchList
IReadOnlyList<string>? Codes

Specific codes related to the Straddle watchlist screening results.

Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
IReadOnlyList<string>? Matched

Information about any matches found during screening.

IReadOnlyList<Match>? Matches

Information about any matches found during screening.

required Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
required string ListName

The name of the list the match was found.

required IReadOnlyList<string> MatchFields

Data fields that matched.

required IReadOnlyList<string> Urls

Relevent Urls to review.

required ResponseMetadata Meta

Metadata about the API request, including an identifier and timestamp.

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required ResponseType ResponseType

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"Object
"array"Array
"error"Error
"none"None
class IdentityVerificationBreakdownV1:
IReadOnlyList<string>? Codes

List of specific result codes from the fraud and risk screening.

Correlation Correlation
One of the following:
"low_confidence"LowConfidence
"potential_match"PotentialMatch
"likely_match"LikelyMatch
"high_confidence"HighConfidence
Double? CorrelationScore

Represents the strength of the correlation between provided and known information. A higher score indicates a stronger correlation.

formatdouble
Decision Decision
One of the following:
"accept"Accept
"reject"Reject
"review"Review
Double? RiskScore

Predicts the inherent risk associated with the customer for a given module. A higher score indicates a greater likelihood of fraud.

formatdouble