Reject Customer
Overview
The Reject Customer API allows authorized personnel to reject customer records that have been submitted for approval. This command declines the customer application, preventing activation and requiring resubmission with corrections.
Command Details
Command Name: RejectCustomerCommand
Operation Type: Command (Write Operation)
Use Cases
- Incomplete Documentation: Reject applications missing required documents
- Compliance Issues: Decline customers failing regulatory checks
- Data Quality: Return applications with incorrect or suspicious information
- Risk Management: Reject high-risk customer applications
- Policy Violations: Decline applications not meeting bank policies
API Endpoint
POST /api/bpm/cmd
Content-Type: application/json
Authorization: Bearer {access_token}
Request Structure
Request Body
{
"commandName": "RejectCustomerCommand",
"data": {
"contactEncodedKey": "string",
"rejectionReason": "string",
"rejectionNotes": "string"
}
}
Request Fields
| Field Name | Type | Mandatory | Description |
|---|---|---|---|
contactEncodedKey | String | Yes | Unique identifier of the customer |
rejectionReason | String | Yes | Reason for rejection |
rejectionNotes | String | No | Additional details about rejection |
Sample Requests
1. Reject Customer
{
"commandName": "RejectCustomerCommand",
"data": {
"contactEncodedKey": "8a8e87e87d1234567890abcd",
"rejectionReason": "Incomplete documentation",
"rejectionNotes": "Missing valid proof of address. Please resubmit with complete documents."
}
}
2. Reject for Compliance
{
"commandName": "RejectCustomerCommand",
"data": {
"contactEncodedKey": "8a8e87e87d0987654321efgh",
"rejectionReason": "Failed compliance checks",
"rejectionNotes": "Customer appears on sanctions watchlist. Cannot proceed with onboarding."
}
}
Response Structure
Success Response
{
"isSuccessful": true,
"statusCode": "00",
"message": "Customer rejected successfully.",
"data": {
"contactEncodedKey": "8a8e87e87d1234567890abcd",
"approvalStatus": "Rejected",
"rejectedBy": "user@bank.com",
"rejectionDate": "2025-12-18T10:30:00Z",
"rejectionReason": "Incomplete documentation"
}
}
Error Handling
Common Error Responses
Invalid Status
{
"isSuccessful": false,
"statusCode": "CBS_409",
"message": "Customer is not in pending approval status and cannot be rejected."
}
Missing Rejection Reason
{
"isSuccessful": false,
"statusCode": "CBS_400",
"message": "Rejection reason is required."
}
Error Codes
| Status Code | Message | Cause |
|---|---|---|
CBS_400 | Validation error | Missing rejection reason or invalid data |
CBS_403 | Forbidden | Insufficient rejection permissions |
CBS_404 | Customer not found | Invalid contact encoded key |
CBS_409 | Invalid status | Customer not in pending approval status |
CBS_500 | Internal server error | System error |
Code Examples
cURL
curl -X POST https://api.example.com/api/bpm/cmd \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"commandName": "RejectCustomerCommand",
"data": {
"contactEncodedKey": "8a8e87e87d1234567890abcd",
"rejectionReason": "Incomplete documentation",
"rejectionNotes": "Missing proof of address"
}
}'
C# Example
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", accessToken);
var request = new
{
commandName = "RejectCustomerCommand",
data = new
{
contactEncodedKey = "8a8e87e87d1234567890abcd",
rejectionReason = "Incomplete documentation",
rejectionNotes = "Missing proof of address"
}
};
var response = await client.PostAsJsonAsync(
"https://api.example.com/api/bpm/cmd",
request
);
Notes
- Requires rejection/approval permissions
- Customer must be in pending approval status
- Rejection reason is mandatory
- Rejection is logged with user details for audit
- Customer can be resubmitted for approval after corrections
- Clear rejection reasons help customer service teams
- Notifications sent to relevant staff members
Post-Rejection Actions
After rejection, the customer record can be:
- Corrected and resubmitted for approval
- Archived if permanently declined
- Reviewed by senior staff for special handling