[!info] Overview The P2P Commission Part Group REST API manages commission part groupings in the BMMS billing system. Groups enable organizing related commission parts for streamlined configuration and assignment in P2P commission structures.
📋 Table of Contents
Quick Reference
[!abstract] API Configuration
Entity Name: P2PCommissionPartGroup
Controller: P2pCommissionPartGroupResource
Framework: Spring Boot + JHipster
Auth: Required (Spring Security)
Content-Type: application/json
Endpoints Summary
Method
Endpoint
Description
Status
/api/p-2-p-commission-part-groups
Create new commission part group
/api/p-2-p-commission-part-groups/{id}
/api/p-2-p-commission-part-groups/{id}
/api/p-2-p-commission-part-groups
/api/p-2-p-commission-part-groups/{id}
/api/p-2-p-commission-part-groups/count
/api/p-2-p-commission-part-groups/{id}
Delete commission part group
Field Specifications
Field
Type
Required
Constraints
Description
Group name (unique identifier)
List of commission parts in group
Create Commission Part Group
POST /api/p-2-p-commission-part-groups
Creates a new commission part group entity.
Headers:
Body:
[!warning] Validation Rules
id must be null (auto-generated)
name must be non-empty and unique
commissionParts must be non-null and contain valid commission part references
Commission parts must exist in the system
✅ Success (201 Created):
❌ Error (400 - Name exists):
Update Commission Part Group
[!example] PUT /api/p-2-p-commission-part-groups/{id} Completely updates an existing commission part group.
Path Parameters
id (Long) - Commission part group identifier
Headers:
Body:
[!warning] Validation
Path id must match body id
Commission part group must exist in database
New name must be unique (if changed)
✅ Success (200 OK):
❌ Errors:
Partial Update Commission Part Group
[!example] PATCH /api/p-2-p-commission-part-groups/{id} Updates only specified fields. Null fields are ignored.
Path Parameters
id (Long) - Commission part group identifier
Headers:
Body (Example - update only description):
Body (Example - update name and commission parts):
[!tip] Partial Update Behavior
Only non-null fields are updated
Other fields remain unchanged
Perfect for updating single fields without affecting others
Commission parts list is completely replaced if provided (not merged)
✅ Success (200 OK):
Get All Commission Part Groups
[!example] GET /api/p-2-p-commission-part-groups Retrieves paginated list with filtering criteria.
Query Parameters
Pagination:
page - Page number (0-indexed, default: 0)
size - Items per page (default: 20)
sort - Sort criteria (e.g., name,asc)
unPaged - Boolean for unpaged results
Filters (P2pCommissionPartGroupCriteria):
name.contains, name.equals
Example Requests
✅ Success (200 OK):
Get Single Commission Part Group
[!example] GET /api/p-2-p-commission-part-groups/{id} Retrieves a single commission part group by ID with all relationships.
Path Parameters
id (Long) - Commission part group identifier
✅ Success (200 OK):
❌ Error (404 Not Found):
Count Commission Part Groups
[!example] GET /api/p-2-p-commission-part-groups/count Returns count of commission part groups matching criteria.
Query Parameters
Same filtering parameters as [[#Get All Commission Part Groups]]
Example Requests
✅ Success (200 OK):
Delete Commission Part Group
[!example] DELETE /api/p-2-p-commission-part-groups/{id} Deletes a commission part group from the system.
Path Parameters
id (Long) - Commission part group identifier
✅ Success (204 No Content):
❌ Error (400 - Group is in use):
[!danger] Deletion Constraint Warning A commission part group cannot be deleted if:
It is referenced by any existing P2P commission configurations
The system performs this check before deletion:
Workaround: Remove the group reference from all P2P commission configurations before attempting deletion.
Example 1: Create Basic Commission Part Group
[!example]- Setup Basic Fee Structure Request:
Example 2: Create Multi-Part Commission Group
[!example]- Complex Fee Structure Request:
Example 3: Update Commission Parts in Group
[!example]- Replace Commission Parts Request:
Response:
Example 4: Update Only Description
[!example]- Metadata Update Request:
[!failure] RFC 7807 Problem Details All errors follow standardized format.
HTTP Status Codes
Code
Type
Description
Common Causes
Validation failure, ID mismatch, duplicate name, group in use
Invalid ID, deleted entity
Database error, exception
Validation Error Example
[!bug] Field Validation Errors
Validation Rules
Required Fields
[!check] Mandatory Fields
✅ name - Group name (unique)
✅ commissionParts - List of commission parts
Field Constraints
"A new commission part group cannot already have an ID"
"must not be empty", "name already exists"
@NotNull, Valid references
"must not be null", "invalid commission part references"
[!info] Business Validation
name must be globally unique across all commission part groups
commissionParts must contain valid references to existing commission parts
Commission part group cannot be deleted if referenced by P2P commissions
Groups can contain multiple commission parts
Same commission part can appear in multiple groups
Empty commission parts list is not allowed
🔧 cURL Command Reference