Autogenerated IDs for attributes and crosswalks
Learn about unique IDs that Reltio can automatically generate for simple and nested attributes.
Autogenerated IDs in Reltio assign unique identifiers to entity attributes (simple and nested) and crosswalks, without requiring manual input or external generation. Ensure data consistency and simplify onboarding by using predefined rules to automatically generate IDs.
Reltio supports two types of ID generators:
- UUID: Produces globally unique 128-bit random values.
- Sequential IDs: Generates ordered numeric values using a defined starting point and increment.
You configure ID generation using a combination of parameters (to define generator logic) and properties (to control when and how values are applied). For more information on creating and configuring generators, see Adding Record ID Generators. You can choose whether to generate values only when empty, overwrite existing values, or share a generated value across multiple attributes in a single request.
Reltio also supports auto-generating IDs for reference attributes at creation time. You can enable this by assigning a generator in the attribute configuration in the referenced entity or relationship. However, once generated, reference IDs can't be modified. If changes are required, delete the reference and recreate it with the updated settings.
The following table describes how UUID and sequential IDs are generated.
| Parameter | Required | Description |
|---|---|---|
name | yes | Name of the generator. It must be unique across the environment. |
type | yes | Can be 'UUID' or 'SEQUENTIAL'. |
rangestart | no | The starting value in the sequence. If omitted, the default is 0. Can be applied only to SEQUENTIAL generators. |
step | no | The increment. If omitted, the default is 1. Can be applied only to SEQUENTIAL generators. |
uuidversion | yes, if type is UUID | The version of UUIDs. Must be 4 (random UUIDs). Can be applied only to UUID generators. |
The feature uses the following properties:
| Option | Applies To | Description | Default Value |
|---|---|---|---|
autoGenerated | Attribute/Source | If true, the value of attribute/crosswalk will be auto-generated. Use this to enable the feature. | False |
generateIfEmpty | Attribute | If true, the value will be generated only if a value is not sent in the request. Note: You must send an empty string to generate a value. A null value is not considered empty string and will not generate a value. . | False |
generateIfNotEmpty | Attribute | If true, the value will be generated even if a value is sent in the request. | True |
generatedValueUniqueForCrosswalk | Attribute | If true, existing value by crosswalk will be reused instead of generating a new one. | False |
generator | Attribute/source | The generator name. | None |
autoGenerationPattern | Simple attribute/source | {value} will be substituted by generated value. | None |
autoGenerationNestedPattern | Nested attribute | Used to specify auto-generated patterns for sub-attributes | None |
uniqueGeneratedValuePerEntityPerRequest | Entity | If true, only one value will be generated for all auto-generated attribute/crosswalk values per entity per request. | False |
dataProvider=false option.The following tables describe behavior for common combinations of Boolean settings
generateIfEmpty = True and generatedValueUniqueForCrosswalk= True:| Value was Sent | Value by Crosswalk Exists | Reaction |
|---|---|---|
| Yes | Yes | Reuse existing value. |
| No | Generate new value and use it instead of the value that was sent. | |
| No | Yes | Reuse existing value. |
| No | Generate new value. |
generateIfEmpty = True| Value was Sent | Value by Crosswalk Exists | Reaction |
|---|---|---|
| Yes | Doesn't matter | Generate new value and use it instead of the value that was sent. |
| No | Doesn't matter | Generate new value. |
generatedValueUnique for Crosswalk = True| Value was Sent | Value by Crosswalk Exists | Reaction |
|---|---|---|
| Yes | Yes | Reuse existing value. |
| No | Generate new value and use it instead of the value that was sent. | |
| No | Doesn't Matter | Don't generate a value. |
None (Neither Boolean setting set to True)
| Value was Sent | Value by Crosswalk Exists | Reaction |
|---|---|---|
| Yes | Doesn't Matter. | Generate new value and use it instead of value that was sent |
| No | Doesn't Matter | Don't generate a value |
If you specify the value for any auto generated field in the above table as null, it is treated as not empty. If you have specified the null value, but also want to auto-generate the value, ensure the generateIfNotEmpty field is true.