Create main perosnal profile data

Create Personal Profile

The Create Personal Profile endpoint provisions a new personal customer profile within the Netevia banking platform. It accepts identifying details such as name, email, and partner configuration, and returns a unique profile ID upon success. This profile serves as the foundation for all subsequent personal banking operations, including account creation, card issuance, and transfers.

Endpoint

POST /netevia/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 customer to the Netevia platform. It must be called before creating financial accounts, issuing cards, or enabling any banking features for the customer. The returned profileId is required by all subsequent personal banking API calls.

Request Body

FieldTypeRequiredDescription
emailstring (email)YesCustomer's email address. Used for login and notifications.
givenNamestringYesCustomer's first (given) name.
familyNamestringYesCustomer's last (family) name.
middleNamestringNoCustomer's middle name.
agentPayoutProfileIdinteger (int32)YesID of the agent payout profile associated with this customer.
salesRepresentativeIdinteger (int32)YesID of the sales representative responsible for onboarding this customer.
cardProductIdstringNoID of the card product to assign to the profile. If omitted, the default card product is used.
merchantProfileIdinteger (int32)NoOptional merchant profile ID to associate with this personal profile.
isRiskbooleanNoFlags the profile for risk review if set to true.
nickNamestringNoDisplay name or alias for the customer.
passwordstringNoInitial password for the customer's account. If omitted, a password must be set separately.
partnerIdinteger (int32)NoID of the partner under which this profile is created. Defaults to the partner associated with the authenticated token.
{
  "email": "[email protected]",
  "givenName": "Jane",
  "familyName": "Doe",
  "middleName": "Marie",
  "agentPayoutProfileId": 101,
  "salesRepresentativeId": 55,
  "cardProductId": "CARD_PROD_001",
  "merchantProfileId": null,
  "isRisk": false,
  "nickName": "JaneDoe",
  "password": "Secur3P@ssword!",
  "partnerId": 12
}

Response

200 OK

FieldTypeDescription
profileIdinteger (int32)Unique identifier assigned to the newly created personal profile. Store this value — it is required for all subsequent API calls for this customer.
errorstringPresent and non-null only when an error occurs despite a 200 response. Inspect this field to detect application-level failures.
{
  "profileId": 4823,
  "error": null
}

Error Codes

CodeWhen it happens
400Missing required fields (email, givenName, familyName, agentPayoutProfileId, or salesRepresentativeId) or validation error (e.g., malformed email).
401Token missing, expired, or invalid.
403Insufficient permissions to create a personal profile under the specified partner or agent payout profile.
404Referenced agentPayoutProfileId, salesRepresentativeId, cardProductId, or merchantProfileId not found.
500Internal server error.

Common Mistakes

  • Omitting agentPayoutProfileId or salesRepresentativeId — both are required even though they may feel like internal configuration fields.
  • Submitting a duplicate email address for an already-existing profile, which typically results in a 400 error or an application-level error returned in the error field of the 200 response.
  • Ignoring the error field on a 200 response — the API may return HTTP 200 with a non-null error string to indicate a business logic failure.
  • Using an invalid cardProductId string — verify the product ID exists in your partner configuration before submitting.
  • Not storing the returned profileId — this value is required by all downstream personal banking endpoints and cannot be easily retrieved later.

Related Endpoints

  • POST /netevia/profile/business — Creates a primary business customer profile.
  • POST /netevia/profile/personal/subprofile — Adds an authorized sub-user to an existing personal profile.
  • GET /netevia/profile/personal/{profileId} — Retrieves details of an existing personal profile.
  • POST /netevia/account — Creates a financial account linked to a personal profile.
  • POST /api/auth/v2 — Obtains a Bearer token required to authenticate this request.

Example

curl -X POST https://api.banking.netevia.dev/netevia/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": 55,
    "cardProductId": "CARD_PROD_001",
    "isRisk": false,
    "nickName": "JaneDoe",
    "password": "Secur3P@ssword!",
    "partnerId": 12
  }'
Body Params
string
required
length ≥ 1
string
required
length ≥ 1
string
required
length ≥ 1
string | null
string | null
int32
required
int32
required
int32 | null
string | null
boolean | null
string | null
string | null
int32 | null
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request 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