Manage Online Personal Customer Application
This endpoint creates or updates a personal customer profile within the Netevia Banking platform. It accepts identity, contact, and address information required to onboard a personal (consumer) customer. Upon successful submission, the platform returns the assigned profile ID for use in subsequent API calls.
Endpoint
POST /netevia/api/profile/personal
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 onboarding a new personal (consumer) customer onto the Netevia Banking platform, or when updating an existing personal customer's profile data. This is typically the first call in a personal customer onboarding flow, after which the returned profileId is used to create financial accounts, issue payment cards, and configure other services for that customer.
Request Body
All fields from the base profile schema are inherited, combined with personal-specific fields listed below.
Inherited base fields:
| Field | Type | Required | Description |
|---|---|---|---|
| string (email) | Yes | Customer's email address | |
| givenName | string | Yes | Customer's first name |
| familyName | string | Yes | Customer's last name |
| middleName | string | No | Customer's middle name |
| cardProductId | string | No | Card product identifier to associate with the profile |
| agentPayoutProfileId | integer (int32) | Yes | ID of the agent payout profile |
| salesRepresentativeId | integer (int32) | Yes | ID of the sales representative |
| merchantProfileId | integer (int32) | No | Merchant profile ID if applicable |
| isRisk | boolean | No | Flag indicating whether the customer is flagged for risk review |
| nickName | string | No | Display nickname for the customer |
| password | string | No | Initial password for the customer's account |
| partnerId | integer (int32) | No | Partner ID associated with this customer |
Personal profile-specific fields:
| Field | Type | Required | Description |
|---|---|---|---|
| phone | string | Yes | Customer's phone number |
| ssn | string | Yes | Customer's Social Security Number. Must match a valid SSN format (9 digits, not starting with 666 or 9xx) |
| dateOfBirth | string (date-time) | Yes | Customer's date of birth in ISO 8601 format |
| streetAddress | string | Yes | Street address (must begin with a street number followed by street name) |
| extendedAddress | string | No | Apartment, suite, unit, or other secondary address line |
| city | string | Yes | City of residence |
| postalCode | string | Yes | ZIP or postal code |
| state | integer (int32) | Yes | US state as an integer enum (1–53, representing US states and territories) |
| employerId | integer (int32) | No | Employer ID if the customer is associated with an EWA employer |
{
"email": "[email protected]",
"givenName": "Jane",
"familyName": "Doe",
"middleName": "Marie",
"agentPayoutProfileId": 101,
"salesRepresentativeId": 202,
"partnerId": 5,
"phone": "5125550100",
"ssn": "XXX-XX-XXXX",
"dateOfBirth": "1990-04-15T00:00:00Z",
"streetAddress": "123 Main St",
"extendedAddress": "Apt 4B",
"city": "Austin",
"postalCode": "78701",
"state": 43
}Response
200 OK
| Field | Type | Description |
|---|---|---|
| profileId | integer (int32) | Unique identifier for the newly created or updated personal customer profile |
| error | string | Error message if the operation encountered an issue; null on success |
{
"profileId": 98765,
"error": null
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields, validation failure (e.g., invalid SSN format, malformed street address, or invalid date of birth) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to create or update a personal profile |
| 404 | Referenced resource not found (e.g., invalid agentPayoutProfileId or salesRepresentativeId) |
| 500 | Internal server error |
Common Mistakes
- Submitting
ssnin a formatted string with dashes (e.g.,"123-45-6789") — the field accepts only 9 consecutive digits without separators, and must pass the pattern validation (no SSNs starting with 666 or 9xx). - Providing
dateOfBirthwithout a valid ISO 8601 date-time format — use"YYYY-MM-DDT00:00:00Z"to avoid parse errors. - Omitting required base profile fields (
email,givenName,familyName,agentPayoutProfileId,salesRepresentativeId) — these are inherited from the base schema but are still required on this endpoint. - Passing
streetAddresswithout a leading street number — the field pattern requires the address to start with digits followed by a street name. - Using an out-of-range integer for
state— valid values are 1 through 53 corresponding to US states and territories.
Related Endpoints
POST /api/auth/v2— Obtain a Bearer token for authenticationPOST /netevia/api/profile/business— Create or update a business customer profileGET /netevia/api/profile/personal/{profileId}— Retrieve a personal customer profile by IDPOST /netevia/api/account— Create a financial account for an onboarded customer
Example
curl -X POST https://api.banking.netevia.dev/netevia/api/profile/personal \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"givenName": "Jane",
"familyName": "Doe",
"middleName": "Marie",
"agentPayoutProfileId": 101,
"salesRepresentativeId": 202,
"partnerId": 5,
"phone": "5125550100",
"ssn": "123456789",
"dateOfBirth": "1990-04-15T00:00:00Z",
"streetAddress": "123 Main St",
"extendedAddress": "Apt 4B",
"city": "Austin",
"postalCode": "78701",
"state": 43
}'