Validation Profiles
This page covers a capability that is available in development and staging environments. It has not yet been enabled in production.
When you send data to Fenergo using Verified Import, the platform normally applies the same field rules it would enforce in the UI — mandatory fields must have values, read-only fields cannot be overridden, and calculated fields are derived from other data on the entity. In most cases this is exactly the right behaviour.
Validation profiles let you change that behaviour for a specific request. By including a validationProfile in your request, you tell the platform to apply a named set of rules instead of the defaults. This is useful when your source system holds authoritative data that should be stored exactly as sent, without the platform recalculating or restricting any of it.
The forceSave profile
The forceSave profile is the first validation profile supported by Verified Import. When you use it, the platform stores field values exactly as provided in your request. The following are bypassed for that import:
- Mandatory field validation — fields that are required in the UI may be left empty.
- Read-only field validation — values can be written to fields that are otherwise locked.
- Calculated field derivation — instead of calculating a value from other data, the platform stores whatever you send.
- Default value population — fields are not pre-filled with their configured defaults.
- Conditional logic — field visibility and value rules driven by other field values are not applied.
- Collection item-count validation — minimum or maximum item counts on data groups are not enforced.
- External adapter validation — calls to external validation services are skipped.
The following validators continue to run regardless of the profile:
- Format validation — values must match the expected data type (for example, a date field must receive a valid date).
- Character, numeric, and date limits — maximum and minimum length, value, and date constraints still apply.
- Lookup validation — values for lookup fields must appear in the configured lookup list.
This means forceSave does not disable all validation — it disables the rules that govern whether a field can be set, while keeping the rules that govern what a valid value looks like.
Enabling validation profiles
The validation profile feature is controlled by a per-tenant configuration flag. It is on by default in development and staging environments. Contact your Fenergo representative to have it enabled in your production tenant.
Request format
The ValidationProfile field is set inside EventConfig.EntityProcessingRules on a Verified Import event:
{
"correlationId": "{{$guid}}",
"entityId": null,
"eventSubtype": "verifiedimport",
"eventType": "externaldata",
"payload": {
"Entities": [
{
"collectionProperties": {},
"EntityResolver": null,
"EntityType": "Company",
"Id": "fca8cee1-6026-410a-9a31-61a2b2dcb4c9",
"singleProperties": {
"companyCategory": "Partnership",
"countryOfIncorporation": "Albania",
"dateOfIncorporationEstablishment": "2002-09-09",
"formationDate": "2001-08-08",
"legalEntityName": "Musgraves LTD",
"productRiskRating": "Medium",
"productRiskScore": "Low"
},
"TargetEntity": "Client"
}
],
"EventConfig": {
"EntityProcessingRules": {
"Categories": [
"Basic Details",
"Business Details"
],
"ValidationProfile": "forceSave",
"WaitForDataPropagation": false
},
"ImportBehaviors": {}
},
"EventIdentifier": "MDMImport",
"Integration": "forceSave validation test",
"IntegrationStatus": "Success",
"MessageId": "<message-id>"
}
}
ValidationProfile is optional within EntityProcessingRules. If omitted, the request is processed using the standard validation rules.
If you send a ValidationProfile value that is not recognised, the request will be rejected with an error indicating that the profile is invalid. The value is case-sensitive.
Audit trail
Every field change made through Verified Import is recorded in the entity audit trail. This applies to imports that use a validation profile as well as standard imports. The audit entry includes the imported value, the timestamp, the source of the change, and — where a validation profile was used — the name of the profile that was active at the time of import.
This means you can always trace what was imported, when, under which conditions, and whether any field-level rules were bypassed — even when values were written to fields that would normally be read-only or calculated.
Considerations
- Source data quality — because
forceSavebypasses field-level validation rules, the values stored on the entity reflect what your source system provided. It is the responsibility of the calling integration to ensure the data is complete and accurate before import. - Downstream processes — some platform workflows and rules run after data is saved. These are not affected by the validation profile and will execute as normal against the imported values.
- Calculated fields — if a calculated field is given a value under
forceSave, that value will be stored as sent. If the entity is subsequently updated through a UI workflow or another import withoutforceSave, the platform may recalculate and overwrite it.