logo_smallAxellero.io

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 mandatory
  • isUnique: Enforce uniqueness across the entity
  • isTranslatable: Enable multi-language support
  • isSearchable: Include in search indexes
  • encrypted: Encrypt field data at rest
  • defaultValue: 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 mandatory
  • isUnique: Enforce uniqueness across the entity
  • defaultValue: 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 mandatory
  • defaultValue: 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 mandatory
  • defaultValue: 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 mandatory
  • defaultValue: 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 mandatory
  • defaultValue: 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 mandatory
  • isUnique: 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 mandatory
  • reference: Target entity configuration
    • entityCode: Code of the referenced entity
    • displayField: 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 mandatory
  • enum: Enumeration configuration
    • values: 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 mandatory
  • encrypted: Encrypt object data at rest
  • defaultValue: 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 mandatory
  • defaultValue: 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

PropertyTypeDescription
codestringUnique field identifier within entity
namestringHuman-readable field name
descriptionstringField documentation
fieldTypestringField type from available options
isRequiredbooleanWhether field is mandatory

Advanced Properties

PropertyTypeDescription
isUniquebooleanEnforce uniqueness constraint
isTranslatablebooleanEnable multi-language support
isSearchablebooleanInclude in search indexes
encryptedbooleanEncrypt data at rest
defaultValueanyDefault 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 format
  • DATETIME: Must be valid ISO 8601 format
  • INT: Must be a valid integer
  • AMOUNT: Must be a valid number
  • BOOLEAN: Must be true or false

Multi-Language Support

Fields with isTranslatable: true support multiple languages:

  1. Base Value: Stored in the default language
  2. Translations: Stored separately for each language
  3. 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