Transfer To/From Lockbox Financial Account
This endpoint allows partners to programmatically move funds into or out of a customer's lockbox financial account. The lockbox model restricts the customer from initiating these transfers directly — only the partner or an authorized system can perform them. This enables controlled fund movement for scenarios such as dispute resolution, compliance holds, or conditional fund release.
Endpoint
POST /netevia/lockfinancialAccount/transfer/{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 the partner needs to restrict or release customer funds without requiring the customer to initiate the action. Common scenarios include moving funds into the lockbox to enforce a hold (e.g., during a compliance review or dispute), and moving funds out of the lockbox once conditions are satisfied (e.g., after dispute resolution or regulatory clearance). This operation does not require customer confirmation.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | Yes | The unique identifier of the customer whose lockbox financial account is involved in the transfer. |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| fromFinancialAccountId | string | Yes | The ID of the source financial account from which funds will be debited. Minimum length: 1. |
| toFinancialAccountId | string | Yes | The ID of the destination financial account to which funds will be credited. Minimum length: 1. |
| amount | integer (int32) | No | The amount to transfer, in the smallest currency unit (e.g., cents for USD). Must be between 1 and 4,294,967,295. |
| currencyCode | integer (int32) | No | ISO 4217 numeric currency code. Supported value: 840 (USD). |
| memo | string | No | An optional memo or note for the transfer. Maximum 1024 characters. Allowed characters: word characters, periods, and spaces ([\w. ]+). |
{
"fromFinancialAccountId": "fa_source_account_id_001",
"toFinancialAccountId": "fa_lockbox_account_id_002",
"amount": 50000,
"currencyCode": 840,
"memo": "Funds held pending dispute resolution"
}Response
200 OK
A successful 200 response confirms that the transfer was initiated. The response body is not detailed in the schema; treat a 200 status as confirmation of success.
{}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (fromFinancialAccountId or toFinancialAccountId), invalid amount range, or memo contains disallowed characters |
| 401 | Token missing, expired, or invalid |
| 403 | Caller is not an authorized partner or does not have permission to transfer on behalf of this customer |
| 404 | The specified profileId, fromFinancialAccountId, or toFinancialAccountId does not exist |
| 500 | Internal server error |
Common Mistakes
- Passing
amountin dollars instead of cents — theamountfield expects the value in the smallest currency unit (e.g.,50000for $500.00 USD). - Using a
fromFinancialAccountIdortoFinancialAccountIdthat does not belong to the customer identified byprofileId. - Including invalid characters in the
memofield — only word characters (\w), periods (.), and spaces are permitted. - Assuming the customer can initiate this transfer — only the partner or an authorized system may call this endpoint.
- Omitting
currencyCodewhen the platform may require it — always supply840for USD transactions to avoid ambiguity.
Related Endpoints
POST /netevia/lockfinancialAccount/{profileId}— Create a lockbox financial account for a customerGET /netevia/lockfinancialAccount/{profileId}— Retrieve lockbox financial account details for a customerPOST /netevia/financialAccount/transfer/{profileId}— Transfer funds between standard financial accounts for a customer
Example
curl -X POST https://api.banking.netevia.dev/netevia/lockfinancialAccount/transfer/123456 \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fromFinancialAccountId": "fa_source_account_id_001",
"toFinancialAccountId": "fa_lockbox_account_id_002",
"amount": 50000,
"currencyCode": 840,
"memo": "Funds held pending dispute resolution"
}' 200Success
