Open Financial Accounts
This endpoint creates a new financial account under a specific user profile identified by profileId. It links the newly created account directly to the user's profile, enabling centralized account management within the Netevia Banking platform. Upon successful creation, the response returns full details of the new financial account, including account number, routing number, and available balance.
Endpoint
POST /netevia/financialAccount/{profileId}
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 customer or when an existing customer needs an additional financial account. Each customer profile can hold up to 5 financial accounts by default. This is a foundational step before issuing cards or initiating transfers, as those operations require an active financial account.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | Yes | The unique identifier of the user profile under which the new financial account will be created. |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | No | A custom display name for the new financial account. |
Response
200 OK
| Field | Type | Description |
|---|---|---|
| financialAccountId | string | Unique identifier for the newly created financial account. |
| userProfileId | integer (int32) | The profile ID associated with this financial account. |
| name | string | Display name of the financial account. |
| accountNumber | string | The account number assigned to this financial account. |
| routingNumber | string | The routing number for this financial account. |
| status | string | Current status of the financial account (e.g., ACTIVE, SUSPENDED). |
| availableCash | integer (int64) | Available balance in the account, represented in the smallest currency unit (e.g., cents). |
| created | string (date-time) | ISO 8601 timestamp of when the account was created. |
| cardProfileSets | array | List of card profile sets associated with this account, describing available card configurations. |
| cardProduct | object | Details of the card product linked to the account, including name, id, and usage. |
| isLockBoxAccount | boolean | Indicates whether this account is a lockbox account. |
{
"financialAccountId": "fa_8e4f12a9b3c047d1",
"userProfileId": 10482,
"name": "Business Checking",
"accountNumber": "XXXXXXXXXX",
"routingNumber": "021000021",
"status": "ACTIVE",
"availableCash": 500000,
"created": "2026-06-09T14:32:00Z",
"cardProfileSets": [
{
"id": "cps_7a1d3f",
"name": "Standard Business Card",
"intent": "PURCHASE",
"network": "VISA",
"status": "ACTIVE",
"cardProductId": "cp_9b2e4a",
"displayName": "Business Visa",
"isDefault": true,
"description": "Default card profile for business spending"
}
],
"cardProduct": {
"name": "Netevia Business",
"id": "cp_9b2e4a",
"usage": "BUSINESS"
},
"isLockBoxAccount": false
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields or validation error (e.g., invalid profileId format) |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to create an account under this profile |
| 404 | Profile not found for the provided profileId |
| 500 | Internal server error |
Common Mistakes
- Providing a
profileIdthat does not exist or belongs to a different partner will return a 404 error. - Exceeding the maximum of 5 financial accounts per customer profile will result in a 400 validation error.
- Omitting the
Authorization: Bearerheader or using an expired token will result in a 401 error. - Sending
availableCashvalues as decimals — amounts must be expressed as integers in the smallest currency unit (cents).
Related Endpoints
GET /netevia/financialAccount/{profileId}— Retrieve all financial accounts for a user profileGET /netevia/financialAccount/{profileId}/{financialAccountId}— Retrieve details for a specific financial accountPOST /api/auth/v2— Obtain a Bearer token for authenticationPOST /api/auth/refresh— Refresh an expired Bearer token
Example
curl -X POST https://api.banking.netevia.dev/netevia/financialAccount/10482?name=Business%20Checking \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"