Create Main Business Profile
The POST /netevia/profile endpoint creates a primary business profile within the Netevia banking platform. This profile serves as the foundational account for all future transactions and financial activities. Upon successful creation, a unique profile ID is returned for use in subsequent operations.
Endpoint
POST /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 onboarding a new business customer to the Netevia platform. It must be called before any other business-specific operations such as creating financial accounts, issuing cards, or managing authorized users (subProfiles). The returned profileId is required for all subsequent boarding and account management requests.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| string (email) | Yes | Primary contact email address for the business profile | |
| givenName | string | Yes | First name of the primary account holder |
| familyName | string | Yes | Last name of the primary account holder |
| middleName | string | No | Middle name of the primary account holder |
| agentPayoutProfileId | integer (int32) | Yes | ID of the agent payout profile associated with this account |
| salesRepresentativeId | integer (int32) | Yes | ID of the sales representative responsible for this account |
| cardProductId | string | No | Card product identifier to associate with the profile |
| merchantProfileId | integer (int32) | No | Optional merchant profile ID to link to this business |
| isRisk | boolean | No | Flag indicating whether the account is flagged for risk review |
| nickName | string | No | Optional display name for the profile |
| password | string | No | Initial password for the business account |
| partnerId | integer (int32) | No | Partner identifier for multi-partner deployments |
| legalBusinessName | string | No | Official registered legal name of the business |
| doingBusinessAsName | string | No | Trade name or DBA name of the business |
{
"email": "[email protected]",
"givenName": "Jane",
"familyName": "Smith",
"middleName": "A",
"agentPayoutProfileId": 101,
"salesRepresentativeId": 55,
"cardProductId": "CARD-PROD-001",
"merchantProfileId": 202,
"isRisk": false,
"nickName": "Acme Main",
"password": "S3cur3P@ssw0rd!",
"partnerId": 10,
"legalBusinessName": "Acme Corporation LLC",
"doingBusinessAsName": "Acme Corp"
}Response
200 OK
| Field | Type | Description |
|---|---|---|
| profileId | integer (int32) | Unique identifier for the newly created business profile |
| error | string | null | Error message if the request partially failed; null on full success |
{
"profileId": 78432,
"error": null
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (email, givenName, familyName, agentPayoutProfileId, or salesRepresentativeId) or validation error (e.g., invalid email format) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to create a business profile under the specified partner or agent |
| 404 | Referenced agentPayoutProfileId, salesRepresentativeId, or merchantProfileId not found |
| 500 | Internal server error |
Common Mistakes
- Omitting
agentPayoutProfileIdorsalesRepresentativeId— both are required even though they may appear optional in some client libraries; the request will fail with a 400 error. - Providing an invalid email format for the
emailfield — the field enforcesformat: emailvalidation and will reject malformed addresses. - Reusing the same email address for multiple business profiles — each profile requires a unique email.
- Storing the
profileIdonly in memory — always persist the returnedprofileIdimmediately, as it is required for all subsequent boarding, account creation, and management calls.
Related Endpoints
POST /netevia/personal/profile— Create a primary personal (consumer) profilePOST /netevia/subprofile— Create an authorized user (subProfile) under an existing business profileGET /netevia/profile/{profileId}— Retrieve details of an existing business profilePUT /netevia/profile/{profileId}— Update an existing business profilePOST /netevia/account— Create a financial account linked to a business profile
Example
curl -X POST https://api.banking.netevia.dev/netevia/profile \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"givenName": "Jane",
"familyName": "Smith",
"agentPayoutProfileId": 101,
"salesRepresentativeId": 55,
"partnerId": 10,
"legalBusinessName": "Acme Corporation LLC",
"doingBusinessAsName": "Acme Corp"
}'