Retrieves a paginated list of primary profile records for business or personal customers, including account holder details, application status, and profile settings.
Get Main Profiles Data
The GET /netevia/profile endpoint retrieves primary profile data for customers registered on the Netevia Banking platform. It returns a paginated list of profile records including personal or business account holder information, banking application status, security settings, and reward configuration. Partners use this endpoint to query and monitor their customer base across both business and personal account types.
Endpoint
GET /netevia/profile
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 when you need to retrieve and display profile data for one or more customers — for example, in a partner dashboard listing all onboarded accounts. It is also useful for filtering customers by banking status, creation type, or date range to support operations such as underwriting review, account monitoring, or reward program management. The isBusiness flag lets you scope results to either business or personal profiles.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| skip | integer (int32) | No | Number of records to skip for pagination. Default: 0 |
| count | integer (int32) | No | Number of records to return per page. Default: 20 |
| isBusiness | boolean | No | Filter by account type. true returns business profiles; false returns personal profiles. Default: true |
| from | string (date-time) | No | Start of date range filter (ISO 8601 format) |
| to | string (date-time) | No | End of date range filter (ISO 8601 format) |
| dba | string | No | Filter by doing-business-as name (partial or full match) |
| type | integer (int32) | No | Filter by reward type. Enum values: 1, 2, 4 |
| bankingStatuses | array of string | No | Filter by one or more banking application statuses. Valid values: New, Submitted, PendingUW, ApprovedUW, Closed, Cancelled, Pending_Review, Denied, Approved, Pending, InReview, AutoApprovedUW |
| creationTypes | array of string | No | Filter by application creation channel. Valid values: MobileApplication, OnlineBankingApplication, OnlineMerchantApplication, NeteviaBoardingApplication, BankingAPI, NeteviaAPI |
Response
200 OK
| Field | Type | Description |
|---|---|---|
| totalCount | integer | Total number of matching profile records |
| errorMessage | string or null | Error message, if any |
| cursor | string or null | Pagination cursor for the next page |
| records | array | List of primary profile objects |
| records[].id | integer | Internal profile record ID |
| records[].createdDate | string (date-time) | Date the profile was created |
| records[].updatedDate | string (date-time) or null | Date the profile was last updated |
| records[].userProfileId | integer | ID of the associated user profile |
| records[].step | integer | Profile completion step. Enum: 0–4 |
| records[].accountHolderInformation | object or null | Personal account holder details (for personal profiles) |
| records[].accountHolderInformation.email | string or null | Account holder email address |
| records[].accountHolderInformation.givenName | string or null | First name |
| records[].accountHolderInformation.familyName | string or null | Last name |
| records[].accountHolderInformation.middleName | string or null | Middle name |
| records[].accountHolderInformation.phone | string or null | Phone number |
| records[].accountHolderInformation.ssn | string or null | Social Security Number (masked in display: XXX-XX-XXXX) |
| records[].accountHolderInformation.dateOfBirth | string (date-time) or null | Date of birth |
| records[].accountHolderInformation.streetAddress | string or null | Street address (read-only) |
| records[].accountHolderInformation.postalCode | string or null | ZIP/postal code (read-only) |
| records[].accountHolderInformation.locality | string or null | City (read-only) |
| records[].accountHolderInformation.state | integer | US state enum value |
| records[].accountHolderInformation.countryCodeAlpha3 | string or null | ISO 3166-1 alpha-3 country code (read-only) |
| records[].businessAccountHolder | object or null | Business account holder details (for business profiles) |
| records[].businessAccountHolder.legalBusinessName | string or null | Registered legal business name |
| records[].businessAccountHolder.doingBusinessAsName | string or null | DBA name |
| records[].businessAccountHolder.businessType | integer | Business type enum. Values: 0–4 |
| records[].businessAccountHolder.businessPhone | string or null | Business phone number |
| records[].businessAccountHolder.employerIdentificationNumber | string or null | Federal EIN |
| records[].businessAccountHolder.website | string or null | Business website URL |
| records[].businessAccountHolder.annualBusinessRevenue | integer or null | Annual revenue in cents |
| records[].businessAccountHolder.owners | array or null | List of business owners |
| records[].isSubmitted | boolean or null | Whether the profile application has been submitted |
| records[].accountHolderId | string or null | External account holder identifier |
| records[].nickName | string or null | Display nickname for the profile |
| records[].cardProductId | string or null | Associated card product identifier |
| records[].openApplicationId | string or null | Open banking application identifier |
| records[].financialAccountId | string or null | Primary financial account identifier |
| records[].applicationStatus | integer | Internal application status enum. Values: 0–4 |
| records[].bankingStatus | string | Banking application status string. See valid values under bankingStatuses query param |
| records[].applicationDate | string (date-time) or null | Date application was submitted |
| records[].approvalDate | string (date-time) or null | Date application was approved |
| records[].isDeleted | boolean | Whether the profile has been soft-deleted |
| records[].isLocked | boolean | Whether the profile is locked |
| records[].isAccessLocked | boolean | Whether login access is locked (e.g., after repeated failed login attempts) |
| records[].isMfaEnabled | boolean | Whether multi-factor authentication is enabled |
| records[].isOtpEnabled | boolean | Whether one-time password authentication is enabled |
| records[].rewordType | integer | Reward program type assigned to the profile. Enum: 1, 2, 4 |
| records[].profileSettings | object or null | Profile-level permission and limit settings |
| records[].profileSettings.financialAccountsPermissions.financialAccountsMaxNumber | integer | Maximum number of financial accounts allowed |
| records[].profileSettings.financialAccountsPermissions.externalAccountsMaxNumber | integer | Maximum number of external accounts allowed |
| records[].profileSettings.transferAmountLimits.achOutTransferAmountLimit | integer or null | ACH outbound transfer limit in cents |
| records[].profileSettings.transferAmountLimits.internalTransferAmountLimit | integer or null | Internal transfer limit in cents |
| records[].profileSettings.loanOff | boolean | Whether loan/funding features are disabled for this profile |
| records[].applicationCreationType | string | Channel through which the application was created |
| records[].profileType | integer | Profile type enum. Values: 0–3 |
| records[].accountType | integer | User account type enum. Values: 1–5 |
| records[].employer | object or null | Employer profile associated with this customer (used for EWA) |
| records[].employer.id | integer | Employer ID |
| records[].employer.name | string or null | Employer name |
| records[].employer.enabled | boolean | Whether the employer integration is active |
| records[].employer.date | string (date-time) | Employer record date |
| records[].agreements | array or null | List of agreements accepted by the account holder |
| records[].agreements[].name | string or null | Agreement name |
| records[].agreements[].createdDate | string (date-time) | Date agreement was created |
| records[].agreements[].acceptanceDate | string (date-time) or null | Date agreement was accepted by the user |
{
"totalCount": 2,
"errorMessage": null,
"cursor": null,
"records": [
{
"id": 1042,
"createdDate": "2024-03-15T10:22:00Z",
"updatedDate": "2024-05-01T08:45:00Z",
"userProfileId": 3017,
"step": 4,
"accountHolderInformation": null,
"businessAccountHolder": {
"id": 88,
"createdDate": "2024-03-15T10:22:00Z",
"updatedDate": null,
"email": "[email protected]",
"givenName": "Jane",
"familyName": "Smith",
"middleName": null,
"phone": "+15555550101",
"ssn": "XXX-XX-XXXX",
"dateOfBirth": "1982-07-20T00:00:00Z",
"streetAddress": "456 Commerce Blvd",
"extendedAddress": "Suite 200",
"postalCode": "30301",
"locality": "Atlanta",
"state": 11,
"countryCodeAlpha3": "USA",
"percentageOwnership": 100,
"authorizingPersonTitle": 1,
"legalBusinessName": "Acme Corp LLC",
"doingBusinessAsName": "Acme Payments",
"website": "https://acmecorp.example.com",
"businessType": 2,
"businessPhone": "+14045550199",
"employerIdentificationNumber": "12-3456789",
"primaryAuthorizedPersonId": "ap_7f3a91bc",
"primaryAuthorizedStreetAddress": "456 Commerce Blvd",
"primaryAuthorizedExtendedAddress": "Suite 200",
"primaryAuthorizedPostalCode": "30301",
"primaryAuthorizedLocality": "Atlanta",
"primaryAuthorizedState": 11,
"businessStartDate": "2018-01-10T00:00:00Z",
"annualBusinessRevenue": 2500000,
"payrollCustomer": false,
"owners": [],
"merchantProfileId": 201
},
"isSubmitted": true,
"accountHolderId": "ah_abc123def456",
"nickName": "Acme Main",
"cardProductId": "cp_prod_0099",
"openApplicationId": "app_open_5521",
"financialAccountId": "fa_biz_88221133",
"applicationStatus": 2,
"bankingStatus": "Approved",
"applicationDate": "2024-03-15T10:25:00Z",
"approvalDate": "2024-03-16T14:00:00Z",
"isDeleted": false,
"isLocked": false,
"isAccessLocked": false,
"isMfaEnabled": true,
"isOtpEnabled": false,
"agentPayoutProfileId": null,
"salesRepresentativeId": 7,
"rewordType": 1,
"isNew": false,
"isExceptional": false,
"profileSettings": {
"financialAccountsPermissions": {
"financialAccountsMaxNumber": 5,
"externalAccountsMaxNumber": 3
},
"transferAmountLimits": {
"achOutTransferAmountLimit": 1000000,
"internalTransferAmountLimit": 500000
},
"loanOff": false
},
"applicationCreationType": "NeteviaAPI",
"exceptionalTemplateId": null,
"profileType": 1,
"accountType": 2,
"employer": null,
"lockFinancialAccountId": null,
"agreements": [
{
"name": "Terms of Service",
"createdDate": "2024-03-15T10:22:00Z",
"acceptanceDate": "2024-03-15T10:24:00Z"
}
]
}
]
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Invalid query parameter value or format (e.g., malformed date-time string) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to access profile data |
| 404 | No profiles found matching the given criteria |
| 500 | Internal server error |
Common Mistakes
- Omitting the
isBusinessflag and receiving unexpected profile types — explicitly setisBusiness=truefor business profiles orisBusiness=falsefor personal profiles. - Passing
from/todates without ISO 8601 format (e.g., usingMM/DD/YYYYinstead of2024-03-15T00:00:00Z), which causes a 400 error. - Passing
bankingStatusesorcreationTypesas a comma-separated string instead of repeated query parameters (e.g.,bankingStatuses=Approved&bankingStatuses=Pending). - Not paginating — relying on the default
count=20without checkingtotalCountto determine whether additional pages exist. - Displaying raw
ssnvalues from the response — always render SSN fields asXXX-XX-XXXXin any UI or log output.
Related Endpoints
GET /netevia/profile/{id}— Retrieve a single profile by its IDPOST /netevia/profile— Create a new customer profile (boarding)PUT /netevia/profile/{id}— Update an existing customer profileGET /netevia/profile/{id}/financial-accounts— List financial accounts for a profilePOST /api/auth/v2— Obtain a Bearer authentication token
Example
curl -X GET "https://api.banking.netevia.dev/netevia/profile?isBusiness=true&bankingStatuses=Approved&bankingStatuses=Pending&skip=0&count=20&from=2024-01-01T00:00:00Z" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"