Skip to main content

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​

ParameterTypeRequiredDescription
cmdstringYesMust be "UpdateBranchVaultCommand"
dataobjectYesVault update data
↳ vaultIdstringYesUnique identifier of the vault to update
↳ vaultNamestringNoNew name for the vault
↳ maximumBalancedecimalNoUpdated maximum balance limit
↳ minimumBalancedecimalNoUpdated minimum balance threshold
↳ requiresApprovalbooleanNoWhether to require approval for vault transactions
↳ descriptionstringNoUpdated vault description
↳ statusstringNoNew 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​

  1. Cannot update vault with pending transactions
  2. Maximum balance must be greater than minimum balance
  3. Cannot change currency code after creation
  4. Status change to "Inactive" requires zero balance or special permissions
  5. Vault name must remain unique within the branch
  6. 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();
}

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