Update Branch Vault
Overview
Updates the configuration and settings of an existing branch vault.
Command
UpdateBranchVaultCommand
Endpoint
POST /api/bpm/cmd
Request Headers
Authorization: Bearer {access_token}
Content-Type: application/json
X-Tenant-Id: {tenant_id}
Request Body
{
"cmd": "UpdateBranchVaultCommand",
"data": {
"vaultId": "VLT-001",
"vaultName": "Main Branch Vault - Updated",
"maximumBalance": 5000000.00,
"minimumBalance": 100000.00,
"requiresApproval": true,
"description": "Updated vault configuration",
"status": "Active"
}
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| cmd | string | Yes | Must be "UpdateBranchVaultCommand" |
| data | object | Yes | Vault update data |
| ↳ vaultId | string | Yes | Unique identifier of the vault to update |
| ↳ vaultName | string | No | New name for the vault |
| ↳ maximumBalance | decimal | No | Updated maximum balance limit |
| ↳ minimumBalance | decimal | No | Updated minimum balance threshold |
| ↳ requiresApproval | boolean | No | Whether to require approval for vault transactions |
| ↳ description | string | No | Updated vault description |
| ↳ status | string | No | New vault status (Active, Inactive, Suspended) |
Response
Success Response (200 OK)
{
"success": true,
"message": "Branch vault updated successfully",
"data": {
"vaultId": "string",
"branchId": "string",
"vaultName": "string",
"currencyCode": "string",
"currentBalance": "decimal",
"maximumBalance": "decimal",
"minimumBalance": "decimal",
"status": "string",
"requiresApproval": "boolean",
"lastUpdatedDate": "datetime"
}
}
Error Responses
400 Bad Request
{
"success": false,
"message": "Validation failed",
"errors": [
"Vault ID is required",
"Maximum balance must be greater than minimum balance"
]
}
404 Not Found
{
"success": false,
"message": "Vault not found with the provided ID"
}
409 Conflict
{
"success": false,
"message": "Cannot update vault: active transactions in progress"
}
Business Rules
- Cannot update vault with pending transactions
- Maximum balance must be greater than minimum balance
- Cannot change currency code after creation
- Status change to "Inactive" requires zero balance or special permissions
- Vault name must remain unique within the branch
- Cannot reduce maximum balance below current balance
Code Example
async function updateBranchVault(vaultId, updates) {
const response = await fetch('/api/bpm/cmd', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
'X-Tenant-Id': tenantId
},
body: JSON.stringify({
commandType: 'UpdateBranchVaultCommand',
data: {
vaultId: vaultId,
maximumBalance: 15000000.00,
minimumBalance: 100000.00,
requiresApproval: true,
description: 'Updated limits for increased transaction volume'
}
})
});
return await response.json();
}
Related Commands
- Create Branch Vault - Create new vault
- Get Branch Vault List - View all vaults
- Fund Branch Vault Account - Add funds
Notes
- Update vault limits during off-peak hours to avoid transaction conflicts
- Always verify current balance before reducing maximum balance
- Document reasons for status changes for audit purposes
- Consider the impact on teller operations when modifying vault settings