Skip to content

EntityUpdateByIdOptions

Options for updating an existing entity — schema and/or metadata in a single call.

Schema changes (addFields, removeFields, updateFields) and metadata changes (displayName, description, isRbacEnabled) can be combined; each is applied only when the corresponding fields are provided.

Extends

Properties

Property Type Description
addExternalFields? EntityAddExternalFields[] Experimental Fields to add to an existing source (or one added in the same call), identified by object name + connection id. A field name must be unique across all sources of the entity.
addExternalSources? EntityCreateExternalSource[] Experimental External sources to add to a Federated entity (same shape as create's externalFields). A new source is not primary: it must be joined to the entity's join graph in the same call, with addSourceJoins (or replaceSourceJoins), or the backend rejects the update.
addFields? EntityCreateFieldOptions[] New fields to add
addSourceJoins? SourceJoinConditionDetail[] Experimental Joins to add. Use it to connect a source added in the same call (addExternalSources) to the entity's primary source. A Federated entity with N sources has exactly N-1 joins; the backend rejects any other number. Cannot be combined with replaceSourceJoins.
description? string New description for the entity
displayName? string New display name for the entity
folderKey? string Experimental Key identifying the folder the entity belongs to. Omit for tenant-level entities. Folder-scoped Data Fabric is in preview — the contract may change.
isRbacEnabled? boolean Whether role-based access control is enabled for this entity
removeExternalFields? EntityRemoveExternalFields[] Experimental Fields to remove from a source, identified by object name + connection id, and by the field's name on the entity (fieldDefinition.name). A source must keep at least one field (the backend rejects a source with none): to swap all of a source's fields, remove them and add the new ones in the same call. Joins that use a removed field are removed with it.
removeExternalSources? FederatedSourceRef[] Experimental External sources to remove, each identified by object name + connection id. Joins that use a removed source are removed with it. A Federated entity has at least one source, so removing the last one needs a replacement source (addExternalSources) in the same call. The remaining sources must still form a valid join graph (the backend enforces this), so removing the primary source requires replaceSourceJoins to re-join them in the same call.
removeFields? EntityRemoveFieldOptions[] Fields to remove, each identified by field name
replaceSourceJoins? SourceJoinConditionDetail[] Experimental Replace the entity's whole set of joins with this list. This is the way to change the primary source: the primary source is the one every join starts from, so pass the complete new join set rooted at the new primary. Every non-primary source must be the related side of exactly one join. A join cannot be removed on its own, because every source except the primary has to stay joined. Pass the full set even if only some joins change. An empty list is valid only for an entity with a single source. Cannot be combined with addSourceJoins or updateSourceJoin.
updateExternalConnection? EntityUpdateExternalConnection[] Experimental Point a connector source at a different Integration Service connection, identified by object name + current connection id. The source keeps its object, fields and joins, and the joins that reference it are updated to the new connection id. The SDK does not check the new connection. The caller must make sure it belongs to the same connector and exposes the same object with every field the source maps. Native (entity-backed) sources cannot be changed this way.
updateFields? EntityFieldUpdateOptions[] Fields to update, each identified by its field ID
updateSourceJoin? EntityUpdateSourceJoin[] Experimental Change the join fields (sourceJoinField and/or relatedSourceJoinField) of an existing join, identified by both sides' object name + connection id. It cannot change which sources the join connects, its direction or its join type: to change the primary source, use replaceSourceJoins. Cannot be combined with replaceSourceJoins.