[!info] Overview The FieldValue REST API manages predefined values and options for dynamic form fields in the pkbillms billing system. FieldValues define selectable options, pricing information, and filtering logic for field configurations with multilingual support.
📋 Table of Contents
Quick Reference
[!abstract] API Configuration
Controller: FieldValueResource
Framework: Spring Boot + JHipster
Auth: Required (Spring Security)
Content-Type: application/json
Endpoints Summary
Method
Endpoint
Description
Status
/api/field-values/criteria
/api/field-values/cascaded/{id}
FieldValue Specifications
Field
Type
Required
Max/Range
Description
Param value to send to server
Multilingual descriptions
Create FieldValue
POST /api/field-values
Creates a new field value option.
Headers:
Body:
[!warning] Validation Rules
id must be null (auto-generated)
value and field are required
value max length is 64 characters
filterBy max length is 16 characters
✅ Success (201 Created):
❌ Error (400 - ID exists):
Update FieldValue
PUT /api/field-values/{id}
Updates an existing field value (full update).
Headers:
Body:
[!warning] Validation Rules
id must match path parameter
FieldValue must exist in database
✅ Success (200 OK):
❌ Error (400 - Invalid ID):
❌ Error (400 - Not found):
PATCH /api/field-values/{id}
Partially updates field value properties.
Headers:
Body:
✅ Success (200 OK):
❌ Error (404 - Not Found):
Get All FieldValues
GET /api/field-values
Retrieves all field values with pagination and filtering.
Headers:
Query Parameters:
Parameter
Type
Required
Description
Example:
✅ Success (200 OK):
Get All FieldValues (Alternative)
GET /api/field-values/get
Alternative endpoint for retrieving field values.
Headers:
Query Parameters: Same as main GET endpoint plus FieldValueCriteria filters.
Example:
✅ Success (200 OK): Same format as main GET endpoint.
FieldValueCriteria - Advanced Filtering
[!abstract] JHipster Criteria Filtering FieldValueCriteria provides powerful filtering capabilities for querying field values. All filter parameters support multiple operators for precise data retrieval.
Available Filter Types
String Filters:
Operator
Description
Example
value.in=50000,100000,150000
filterBy.doesNotContain=test
Numeric Filters (Long, Integer):
Operator
Description
Example
amount.greaterOrEqualThan=50000
amount.lessOrEqualThan=100000
Get FieldValues by Criteria
GET /api/field-values/criteria
Retrieves field values filtered by field name and criteria.
Headers:
Example:
✅ Success (200 OK):
FieldValueCriteria Parameters
Common Query Examples
Filter by Field:
Filter by Amount Range:
Filter with filterBy:
Search by Value:
Values with Amount:
Sorted by Display Order:
Complex Filter (AND operation):
Combining Filters
[!tip] Multiple Criteria All criteria are combined with AND logic. Use .in operator for OR logic on same field.
Example:
Get FieldValues V2
GET /api/v2/field-values
Retrieves field values using V2 projection (optimized response).
Headers:
Query Parameters: Same as standard criteria endpoint.
Example:
✅ Success (200 OK):
[!info] V2 Projection V2 endpoint returns a lighter projection without nested objects for better performance.
Get Single FieldValue
GET /api/field-values/{id}
Retrieves a single field value by ID.
Headers:
Example:
✅ Success (200 OK):
❌ Error (404 - Not found):
Count FieldValues
GET /api/field-values/count
Counts field values matching criteria.
Headers:
Query Parameters: Any FieldValueCriteria filters.
Example:
✅ Success (200 OK):
Delete FieldValue
DELETE /api/field-values/{id}
Deletes a field value.
Headers:
Example:
✅ Success (204 No Content):
Cascaded Delete FieldValue
[!example] DELETE /api/field-values/cascaded/{id} Deletes a field value with all related entities (I18n translations).
Headers:
Example:
✅ Success (200 OK):
HTTP Status Codes
Missing/invalid authentication
Validation Rules
Required Fields
[!check] Mandatory Fields
✅ value - Value to send to server
✅ field - Parent field reference
✅ titles - At least one title (I18n)
Field Constraints
"A new fieldValue cannot already have an ID"
"must not be null", "size must be between 0 and 64"
"size must be between 0 and 16"
[!info] Business Validation
value is used as the parameter sent to backend services
amount represents pricing information for the selected value
filterBy enables dependent dropdown filtering (parent-child relationships)
ord determines display order in UI select elements
checkId is used for validation and reconciliation processes
titles must include at least one language translation
descriptions are optional additional information
🔧 cURL Command Reference
Get by Criteria (with Field Name)
Get by Criteria (Standard)
Cascaded Delete
[!tip] Best Practices
Always provide meaningful ord values for proper sorting
Use filterBy for cascading dropdown dependencies
Include translations for all supported languages
Set appropriate amount values for pricing information
Use checkId for validation and reconciliation tracking
[!warning] Important
Deleting field values may affect active payment forms
Use cascaded delete carefully as it removes all I18n data
value field is sent to backend services - ensure proper validation
V2 endpoint provides better performance for large datasets