Find Similar Profiles


Find Similar Profiles

This endpoint searches for and returns customer profiles that share similar attributes with a given profile. It is used during boarding and compliance workflows to detect potential duplicate accounts or related customer records. The response includes full profile details for each matched record.

Endpoint

GET /netevia/profile/similar

Authentication

Bearer token required. Obtain via:

POST https://api.banking.netevia.dev/api/auth/v2

Include in header: Authorization: Bearer {token} Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.

When to use

Use this endpoint during the customer boarding process to identify existing profiles that may match a new applicant based on shared personal or business attributes. This is particularly useful for fraud prevention, duplicate account detection, and compliance screening before approving new banking applications.

Query Parameters

ParameterTypeRequiredDescription
profileIdinteger (int32)NoThe ID of the profile to use as the reference for finding similar profiles.

Response

200 OK

FieldTypeDescription
keystringAn identifier or label associated with the similarity match result set.
profilesarrayList of profile objects that are similar to the referenced profile.
profiles[].idintegerUnique identifier for the profile.
profiles[].createdDatestring (date-time)Timestamp when the profile was created.
profiles[].updatedDatestring (date-time)Timestamp when the profile was last updated.
profiles[].userProfileIdintegerThe associated user profile ID.
profiles[].stepintegerCurrent onboarding step of the profile (enum: 0–4).
profiles[].accountHolderInformationobjectPersonal information for individual account holders.
profiles[].accountHolderInformation.idintegerEntity ID.
profiles[].accountHolderInformation.emailstringAccount holder email address.
profiles[].accountHolderInformation.givenNamestringAccount holder first name.
profiles[].accountHolderInformation.familyNamestringAccount holder last name.
profiles[].accountHolderInformation.middleNamestringAccount holder middle name.
profiles[].accountHolderInformation.phonestringAccount holder phone number.
profiles[].accountHolderInformation.ssnstringAccount holder SSN (sanitized as XXX-XX-XXXX).
profiles[].accountHolderInformation.dateOfBirthstring (date-time)Account holder date of birth.
profiles[].accountHolderInformation.streetAddressstringStreet address (read-only).
profiles[].accountHolderInformation.extendedAddressstringExtended address line (read-only).
profiles[].accountHolderInformation.postalCodestringZIP/postal code (read-only).
profiles[].accountHolderInformation.localitystringCity or locality (read-only).
profiles[].accountHolderInformation.stateintegerUS state enum value.
profiles[].accountHolderInformation.countryCodeAlpha3stringISO 3166-1 alpha-3 country code (read-only).
profiles[].businessAccountHolderobjectBusiness information for business account holders.
profiles[].businessAccountHolder.emailstringBusiness contact email.
profiles[].businessAccountHolder.givenNamestringPrimary authorized person first name.
profiles[].businessAccountHolder.familyNamestringPrimary authorized person last name.
profiles[].businessAccountHolder.phonestringPrimary authorized person phone.
profiles[].businessAccountHolder.ssnstringPrimary authorized person SSN (sanitized).
profiles[].businessAccountHolder.dateOfBirthstring (date-time)Primary authorized person date of birth.
profiles[].businessAccountHolder.legalBusinessNamestringLegal name of the business.
profiles[].businessAccountHolder.doingBusinessAsNamestringDBA name of the business.
profiles[].businessAccountHolder.websitestringBusiness website URL.
profiles[].businessAccountHolder.businessTypeintegerBusiness entity type enum (0–4).
profiles[].businessAccountHolder.businessPhonestringBusiness phone number.
profiles[].businessAccountHolder.employerIdentificationNumberstringBusiness EIN.
profiles[].businessAccountHolder.percentageOwnershipintegerOwnership percentage of the primary authorized person.
profiles[].businessAccountHolder.authorizingPersonTitleintegerTitle of the authorizing person (enum: 0–6).
profiles[].businessAccountHolder.businessStartDatestring (date-time)Date the business was established.
profiles[].businessAccountHolder.annualBusinessRevenueinteger (int64)Annual revenue of the business.
profiles[].businessAccountHolder.payrollCustomerbooleanWhether the business is a payroll customer.
profiles[].businessAccountHolder.ownersarrayAdditional business owners/beneficial owners.
profiles[].isSubmittedbooleanWhether the profile application has been submitted.
profiles[].accountHolderIdstringExternal account holder reference ID.
profiles[].nickNamestringDisplay name or nickname for the profile.
profiles[].cardProductIdstringAssociated card product identifier.
profiles[].openApplicationIdstringOpen banking application identifier.
profiles[].financialAccountIdstringAssociated financial account identifier.
profiles[].applicationStatusintegerNumeric application status code (enum: 0–4).
profiles[].bankingStatusstringTextual banking application status (e.g., New, Approved, Denied).
profiles[].applicationDatestring (date-time)Date the application was submitted.
profiles[].approvalDatestring (date-time)Date the application was approved.
profiles[].isDeletedbooleanWhether the profile has been soft-deleted.
profiles[].isLockedbooleanWhether the profile is locked.
profiles[].isAccessLockedbooleanWhether login access is restricted (e.g., after multiple failed login attempts).
profiles[].isMfaEnabledbooleanWhether multi-factor authentication is enabled.
profiles[].isOtpEnabledbooleanWhether one-time password authentication is enabled.
profiles[].agentPayoutProfileIdintegerAssociated agent payout profile ID, if any.
profiles[].salesRepresentativeIdintegerAssociated sales representative ID, if any.
profiles[].rewordTypeintegerReward program type enum (1, 2, or 4).
profiles[].isNewbooleanWhether the profile is newly created.
profiles[].isExceptionalbooleanWhether the profile is flagged as exceptional.
profiles[].profileSettingsobjectSettings governing the profile's financial account and transfer limits.
profiles[].profileSettings.financialAccountsPermissions.financialAccountsMaxNumberintegerMaximum number of financial accounts allowed.
profiles[].profileSettings.financialAccountsPermissions.externalAccountsMaxNumberintegerMaximum number of external accounts allowed.
profiles[].profileSettings.transferAmountLimits.achOutTransferAmountLimitinteger (int64)Maximum ACH outbound transfer amount.
profiles[].profileSettings.transferAmountLimits.internalTransferAmountLimitinteger (int64)Maximum internal transfer amount.
profiles[].profileSettings.loanOffbooleanWhether loan features are disabled for this profile.
profiles[].applicationCreationTypestringChannel through which the application was created (e.g., BankingAPI, NeteviaAPI).
profiles[].exceptionalTemplateIdintegerID of the exceptional template applied to the profile.
profiles[].profileTypeintegerProfile type enum (0–3).
profiles[].accountTypeintegerUser account type enum (1–5).
profiles[].employerobjectEmployer information if the profile is linked to an EWA program.
profiles[].employer.idintegerEmployer ID.
profiles[].employer.namestringEmployer name.
profiles[].employer.enabledbooleanWhether the employer relationship is active.
profiles[].employer.datestring (date-time)Date the employer association was established.
profiles[].lockFinancialAccountIdstringFinancial account ID used for account locking.
profiles[].agreementsarrayList of agreements accepted by the profile holder.
profiles[].agreements[].namestringAgreement name.
profiles[].agreements[].createdDatestring (date-time)Date the agreement was created.
profiles[].agreements[].acceptanceDatestring (date-time)Date the agreement was accepted by the user.
{
  "key": "similar-match-group-001",
  "profiles": [
    {
      "id": 1042,
      "createdDate": "2024-03-15T10:30:00Z",
      "updatedDate": "2024-06-01T08:15:00Z",
      "userProfileId": 2088,
      "step": 4,
      "accountHolderInformation": {
        "id": 305,
        "email": "[email protected]",
        "givenName": "Jane",
        "familyName": "Smith",
        "middleName": "A",
        "phone": "+15551234567",
        "ssn": "XXX-XX-XXXX",
        "dateOfBirth": "1985-07-20T00:00:00Z",
        "streetAddress": "123 Main St",
        "extendedAddress": "Apt 4B",
        "postalCode": "30301",
        "locality": "Atlanta",
        "state": 10,
        "countryCodeAlpha3": "USA"
      },
      "businessAccountHolder": null,
      "isSubmitted": true,
      "accountHolderId": "ah-9f3c2b1a",
      "nickName": "Jane S.",
      "cardProductId": "cp-00123",
      "openApplicationId": "app-00456",
      "financialAccountId": "fa-00789",
      "applicationStatus": 2,
      "bankingStatus": "Approved",
      "applicationDate": "2024-03-15T10:30:00Z",
      "approvalDate": "2024-03-17T14:00:00Z",
      "isDeleted": false,
      "isLocked": false,
      "isAccessLocked": false,
      "isMfaEnabled": true,
      "isOtpEnabled": false,
      "agentPayoutProfileId": null,
      "salesRepresentativeId": 55,
      "rewordType": 1,
      "isNew": false,
      "isExceptional": false,
      "profileSettings": {
        "financialAccountsPermissions": {
          "financialAccountsMaxNumber": 5,
          "externalAccountsMaxNumber": 3
        },
        "transferAmountLimits": {
          "achOutTransferAmountLimit": 10000,
          "internalTransferAmountLimit": 25000
        },
        "loanOff": false
      },
      "applicationCreationType": "NeteviaAPI",
      "exceptionalTemplateId": null,
      "profileType": 1,
      "accountType": 1,
      "employer": null,
      "lockFinancialAccountId": null,
      "agreements": [
        {
          "name": "Deposit Account Agreement",
          "createdDate": "2024-03-15T10:00:00Z",
          "acceptanceDate": "2024-03-15T10:30:00Z"
        }
      ]
    }
  ]
}

Error Codes

CodeWhen it happens
400Missing required fields or validation error
401Token missing, expired, or invalid
403Insufficient permissions
404Resource not found
500Internal server error

Common Mistakes

  • Omitting the profileId query parameter — the endpoint may return an empty or unexpected result set without a valid profile reference.
  • Using a stale or expired Bearer token — tokens expire after 10 minutes; always refresh before making requests.
  • Expecting the ssn field to contain a real value — for security, SSN values are masked as XXX-XX-XXXX in all responses.
  • Confusing applicationStatus (numeric enum) with bankingStatus (string enum) — both fields represent status but use different formats and scopes.

Related Endpoints

  • GET /netevia/profile/{profileId} — Retrieve full details for a specific profile by ID
  • POST /netevia/profile — Create a new customer profile
  • GET /netevia/profile — List all profiles accessible to the partner

Example

curl -X GET "https://api.banking.netevia.dev/netevia/profile/similar?profileId=1042" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"
Query Params
int32
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json