Field Types
Complete reference for Backbase field types and configurations
Field Types
Backbase supports multiple field types for data modeling. Each field type has specific configuration options and validation rules.
Available Field Types
TEXT
Text strings with optional length constraints and formatting.
Configuration Options:
isRequired: Whether the field is mandatoryisUnique: Enforce uniqueness across the entityisTranslatable: Enable multi-language supportisSearchable: Include in search indexesencrypted: Encrypt field data at restdefaultValue: Default text value
GraphQL Type: String
Example Use Cases:
- Names, descriptions, addresses
- User-generated content
- Configuration values
INT
Integer numbers with optional range validation.
Configuration Options:
isRequired: Whether the field is mandatoryisUnique: Enforce uniqueness across the entitydefaultValue: Default integer value
GraphQL Type: Int
Example Use Cases:
- Quantities, counts, IDs
- Status codes, priority levels
- Version numbers
AMOUNT
Decimal numbers optimized for currency and precise calculations.
Configuration Options:
isRequired: Whether the field is mandatorydefaultValue: Default amount value
GraphQL Type: Float
Example Use Cases:
- Prices, costs, financial amounts
- Measurements requiring precision
- Percentages and ratios
BOOLEAN
True/false values for binary choices.
Configuration Options:
isRequired: Whether the field is mandatorydefaultValue: Default boolean value
GraphQL Type: Boolean
Example Use Cases:
- Feature flags, status indicators
- User preferences, permissions
- Yes/no questions
DATE
Date values without time information.
Configuration Options:
isRequired: Whether the field is mandatorydefaultValue: Default date in YYYY-MM-DD format
GraphQL Type: String (YYYY-MM-DD format)
Example Use Cases:
- Birth dates, deadlines
- Event dates, milestones
- Scheduling information
DATETIME
Date and time values with timezone support.
Configuration Options:
isRequired: Whether the field is mandatorydefaultValue: Default datetime in ISO 8601 format
GraphQL Type: String (ISO 8601 format)
Example Use Cases:
- Created/updated timestamps
- Event scheduling with time
- Log entries, audit trails
ID
Unique identifier fields for entity relationships.
Configuration Options:
isRequired: Whether the field is mandatoryisUnique: Automatically enforced for ID fields
GraphQL Type: ID
Example Use Cases:
- Primary keys, external IDs
- System-generated identifiers
- Integration keys
REFERENCE
References to other entities in your schema.
Configuration Options:
isRequired: Whether the field is mandatoryreference: Target entity configurationentityCode: Code of the referenced entitydisplayField: Field to show in UI selections
GraphQL Type: ID (with automatic relationship resolution)
Example Use Cases:
- Foreign keys, relationships
- Category assignments
- User associations
ENUM
Predefined list of allowed values.
Configuration Options:
isRequired: Whether the field is mandatoryenum: Enumeration configurationvalues: Array of allowed string values
defaultValue: Default enum value
GraphQL Type: String (with validation)
Example Use Cases:
- Status values, categories
- Dropdown selections
- Standardized classifications
OBJECT
Complex nested data structures stored as JSON.
Configuration Options:
isRequired: Whether the field is mandatoryencrypted: Encrypt object data at restdefaultValue: Default object as JSON string
GraphQL Type: JSON
Example Use Cases:
- Configuration objects
- Flexible metadata
- API response storage
LOCATION
Geographic location data with coordinates.
Configuration Options:
isRequired: Whether the field is mandatorydefaultValue: Default location data
GraphQL Type: String (JSON format with lat/lng)
Example Use Cases:
- Address coordinates
- Geofencing boundaries
- Location-based services
Field Configuration Properties
Core Properties
| Property | Type | Description |
|---|---|---|
code | string | Unique field identifier within entity |
name | string | Human-readable field name |
description | string | Field documentation |
fieldType | string | Field type from available options |
isRequired | boolean | Whether field is mandatory |
Advanced Properties
| Property | Type | Description |
|---|---|---|
isUnique | boolean | Enforce uniqueness constraint |
isTranslatable | boolean | Enable multi-language support |
isSearchable | boolean | Include in search indexes |
encrypted | boolean | Encrypt data at rest |
defaultValue | any | Default value for new entities |
Reference Configuration
For REFERENCE fields:
{
"reference": {
"entityCode": "user",
"displayField": "name"
}
}Enum Configuration
For ENUM fields:
{
"enum": {
"values": ["draft", "published", "archived"]
}
}Validation Rules
Required Fields
Fields marked as isRequired: true must have a value when creating entities.
Unique Fields
Fields marked as isUnique: true cannot have duplicate values across entities.
Reference Validation
REFERENCE fields must point to existing entities in the referenced collection.
Enum Validation
ENUM fields must contain one of the predefined values.
Type Validation
Each field type has built-in format validation:
DATE: Must be valid YYYY-MM-DD formatDATETIME: Must be valid ISO 8601 formatINT: Must be a valid integerAMOUNT: Must be a valid numberBOOLEAN: Must be true or false
Multi-Language Support
Fields with isTranslatable: true support multiple languages:
- Base Value: Stored in the default language
- Translations: Stored separately for each language
- Fallback: Returns base value if translation unavailable
Translation API
{
"name": "Product",
"translations": {
"es": { "name": "Producto" },
"fr": { "name": "Produit" }
}
}
# Query with language
productList(language: "es") {
name # Returns Spanish translation
}Search Integration
Fields with isSearchable: true are automatically indexed for full-text search:
productList(
filter: {
search: "laptop gaming" # Searches all searchable text fields
}
) {
id
name
description
}Encryption
Fields with encrypted: true are automatically encrypted at rest using AES-256:
- Transparent encryption/decryption
- Search disabled for encrypted fields
- Backup encryption maintained