Create Branch
Creates a new branch with the provided details. Most fields are required to ensure complete branch information is captured including address, contact details, and point of contact information. The branchId must be unique across the tenant. The creator field can be used to record who created the branch for audit purposes.
Authorization
tenantAuth The DCMS tenant name for multi-tenant isolation. Every API call must include this header to identify the client organization.
In: header
Header Parameters
The DCMS client or tenant name for multi-tenant isolation.
Request Body
application/json
Unique identifier for the new branch. Must not already exist in the system.
Unique code assigned to the branch for cross-system identification.
Human-readable display name of the branch.
Primary street address of the branch location.
Secondary address line such as landmark or building name.
Tertiary address line such as area or locality name.
City where the branch is located.
State or province where the branch is located.
Country where the branch is located.
District within the state where the branch is located.
Postal or ZIP code of the branch location.
Contact phone number of the branch including country code.
Contact email address of the branch. Optional but recommended.
emailIdentifier of the user or system creating the branch, used for audit trail.
List of point of contact details for the branch. At least one contact is recommended.
Response Body
application/json
application/json
application/json
curl -X POST "https://api.dcms.example.com/v1/branch" \ -H "tenant: ACME_BANK" \ -H "Content-Type: application/json" \ -d '{ "branchId": "789001", "branchCode": "BR001", "branchName": "Main Branch", "address": "123 Main Street", "address2": "Near City Center", "address3": "MG Road", "city": "Bangalore", "state": "Karnataka", "country": "India", "district": "Bangalore Urban", "zipCode": "560001", "branchPhoneNumber": "+919876543210", "branchEmailId": "mainbranch@example.com", "creator": "ADMIN001", "pocDetails": [ { "pocName": "John Doe", "pocRole": "Branch Manager", "pocEmailId": "john.doe@example.com", "pocLevel": "L1" }, { "pocName": "Jane Smith", "pocRole": "Operations Manager", "pocEmailId": "jane.smith@example.com", "pocLevel": "L2" } ] }'{
"result": true,
"exception": null,
"pagination": null
}{
"result": null,
"exception": {
"errorCode": "BR004",
"shortMessage": "Invalid request",
"detailMessage": "Required fields are missing in the request body",
"httpStatus": "BAD_REQUEST",
"fieldError": [
"branchName is required",
"address is required"
],
"languageCode": "en"
},
"pagination": null
}{
"result": null,
"exception": {
"errorCode": "BR002",
"shortMessage": "Branch already exists",
"detailMessage": "A branch with the given branchId already exists",
"httpStatus": "CONFLICT",
"fieldError": [
"Duplicate branchId"
],
"languageCode": "en"
},
"pagination": null
}Validate PIN V2 POST
Enhanced version of PIN validation that uses AES-GCM encryption for the PIN block. The PIN must be encrypted using a three-step process. Step 1 - PIN Block Generation using ISO 9564 Format 0 encoding where the PIN is XORed with the PAN (card number or kit number). Step 2 - AES-GCM Encryption where the PIN block is encrypted using the shared set-PIN key with a random 16-byte IV and 128-bit authentication tag. Step 3 - The encrypted result is Base64 encoded containing the IV prepended to the ciphertext. The expiryDate must match the card expiry in MMYY format.
Get Branch Details POST
Retrieves branch details using various filter criteria. Supports filtering by branchId, branchCode, branchName, creation date range, modification date range, pagination, and sorting. All filter fields are optional. When isAudit is set to true, the response includes audit trail information showing who created or modified the branch and when. The sortFields parameter accepts field names as keys with ASC or DESC direction values.
