From f9878461906aafde81c486dbd3504ec3c6dde1c7 Mon Sep 17 00:00:00 2001 From: Britta Stallknecht Date: Thu, 6 Nov 2025 14:32:59 +0000 Subject: [PATCH 1/3] fix: shareInfo mentioned in data model overview --- _docs_integrate/data-model-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_docs_integrate/data-model-overview.md b/_docs_integrate/data-model-overview.md index c70d74912..83d369ca7 100644 --- a/_docs_integrate/data-model-overview.md +++ b/_docs_integrate/data-model-overview.md @@ -1123,7 +1123,7 @@ A ThirdPartyRelationshipAttributeQuery has the following properties: | @type | `"ThirdPartyRelationshipAttributeQuery"` | | | key | `string` | The `key` of the RelationshipAttribute that should be queried. | | owner | `"recipient"` \| `"thirdParty"` \| `""` | The `owner` of the queried RelationshipAttribute. Specify the string `"recipient"` if the Recipient should be the `owner` of the queried RelationshipAttribute. Use the string `"thirdParty"` if any of the third parties specified in the array string `thirdParty` should be the `owner`. If both the Recipient and each of the given third parties may be the `owner`, an empty string `""` must be specified. Using this option is useful if the `owner` of the queried RelationshipAttribute is not known in advance. | -| thirdParty | `string[]` | The third parties the RelationshipAttribute should be queried from. An `address` from this array will match the `shareInfo.thirdPartyAddress` property of a [ThirdPartyRelationshipAttribute](#localattribute). | +| thirdParty | `string[]` | The third parties the RelationshipAttribute should be queried from. An `address` from this array will match the `initialAttributePeer` property of a [ThirdPartyRelationshipAttribute](#thirdpartyrelationshipattribute). | ### IQLQuery From 2ea285913840b4e9a094026bb61d16e5b136757e Mon Sep 17 00:00:00 2001 From: Britta Stallknecht Date: Thu, 6 Nov 2025 14:38:10 +0000 Subject: [PATCH 2/3] feat: rename thirdPartyAddress property --- _docs_integrate/attribute-introduction.md | 6 ++-- _docs_integrate/data-model-overview.md | 32 +++++++++---------- _docs_integrate/share-attributes-with-peer.md | 6 ++-- ...tyrelationshipattribute-and-notify-peer.md | 2 +- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/_docs_integrate/attribute-introduction.md b/_docs_integrate/attribute-introduction.md index 824e5ff1a..867226fdc 100644 --- a/_docs_integrate/attribute-introduction.md +++ b/_docs_integrate/attribute-introduction.md @@ -160,7 +160,7 @@ The `id` of a peer shared RelationshipAttribute is always the same as the `id` o As with the own shared RelationshipAttribute, the `shareInfo` property of a peer shared RelationshipAttribute is of course set. Within the `shareInfo.peer` property, the `address` of the `owner` of the RelationshipAttribute is specified. Furthermore, the `shareInfo.sourceAttribute` property of a peer shared RelationshipAttribute is undefined. -Also, for both the own shared and peer shared RelationshipAttribute, the `shareInfo.thirdPartyAddress` property is undefined, as it is only used for ThirdPartyRelationshipAttributes. +Also, for both the own shared and peer shared RelationshipAttribute, there is no `initialAttributePeer` property, as it is only used for ThirdPartyRelationshipAttributes. #### Emitted and received ThirdPartyRelationshipAttributes @@ -169,13 +169,13 @@ The sharing of a RelationshipAttribute with such a peer leads to the creation of An emitted ThirdPartyRelationshipAttribute is a [LocalAttribute]({% link _docs_integrate/data-model-overview.md %}#localattribute) similar to an own shared RelationshipAttribute that contains the `address` of this peer within its `shareInfo.peer` property. As it originates from another own shared RelationshipAttribute that exists in the context of a different Relationship, it contains the `id` of the source RelationshipAttribute within its `shareInfo.sourceAttribute` property. This is the case as long as the own shared RelationshipAttribute used as the source has not been [deleted]({% link _docs_integrate/delete-attributes.md %}#delete-own-shared-attributes). -Furthermore, in the `shareInfo.thirdPartyAddress` the `address` of the peer of the source RelationshipAttribute is stored. +Furthermore, in the `initialAttributePeer` property, the `address` of the peer of the source RelationshipAttribute is stored.
In the wallet of the peer with whom the underlying RelationshipAttribute of the source RelationshipAttribute was shared, a so-called received ThirdPartyRelationshipAttribute is created. It is a [LocalAttribute]({% link _docs_integrate/data-model-overview.md %}#localattribute) similar to a peer shared RelationshipAttribute that can be interpreted as the counterpart of an emitted ThirdPartyRelationshipAttribute. -As for the emitted ThirdPartyRelationshipAttribute, the `shareInfo.thirdPartyAddress` property of the received ThirdPartyRelationshipAttribute is set to the peer of the source RelationshipAttribute. +As for the emitted ThirdPartyRelationshipAttribute, the `initialAttributePeer` property of the received ThirdPartyRelationshipAttribute is set to the peer of the source RelationshipAttribute. Lastly, the `shareInfo.sourceAttribute` property of a received ThirdPartyRelationshipAttribute is always undefined, as the source RelationshipAttribute can only be available locally to the emitter of the ThirdPartyRelationshipAttribute. ## Attribute management options diff --git a/_docs_integrate/data-model-overview.md b/_docs_integrate/data-model-overview.md index 83d369ca7..e99b78d68 100644 --- a/_docs_integrate/data-model-overview.md +++ b/_docs_integrate/data-model-overview.md @@ -759,15 +759,15 @@ Furthermore, all details on how to use the ReadAttributeRequestItem and examples For more information you should check out the section [ShareAttributeRequestItem of the Request and Response introduction]({% link _docs_integrate/request-and-response-introduction.md %}#shareattributerequestitem). Furthermore, all details on how to use the ShareAttributeRequestItem and examples of use cases for it can be found in the [Share Attributes with peer]({% link _docs_integrate/share-attributes-with-peer.md %}) guide. -| Name | Type | Description | -| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| @type | `"ShareAttributeRequestItem"` | Specifies the type of the RequestItem for internal processing. | -| attribute | [`IdentityAttribute`]({% link _docs_integrate/data-model-overview.md %}#identityattribute) \| [`RelationshipAttribute`]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute) | The [Attribute](#attributes) to be shared can be an IdentityAttribute or a RelationshipAttribute. It is therefore not a [LocalAttribute](#localattribute) itself, but its `content`. An overview of the possible kinds of Attributes that can be shared is provided by the table of the [combinations and usage scenarios of the ShareAttributeRequestItem]({% link _docs_integrate/share-attributes-with-peer.md %}#combinations-and-usage-scenarios-of-shareattributerequestitem). | -| sourceAttributeId | `string` | The `id` of the [LocalAttribute](#localattribute) which is the source of the shared [Attribute](#attributes). This will be used later to reference the `sourceAttribute` from its shared copy. | -| thirdPartyAddress | `string` \| `undefined` | If the Attribute to be shared is a [RelationshipAttribute](#relationshipattribute), this property must contain the address of the `peer` with whom the sender of the Attribute has the [Relationship](#relationship) in which context the RelationshipAttribute exists. | -| description | `string` \| `undefined` | An optional, human readable description for the RequestItem. | -| metadata | `object` \| `undefined` | The metadata property can be used to provide arbitrary JSON content by the sender of the Request. The metadata is not processed by enmeshed. It is a great way to use your own process descriptors at the time of sending the Request which helps you identify the correct internal process at the time of receiving the Response. | -| mustBeAccepted | `boolean` | The mandatory `mustBeAccepted` property is used to differentiate between required and optional RequestItems within the Request.
{::nomarkdown}{:/} | +| Name | Type | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| @type | `"ShareAttributeRequestItem"` | Specifies the type of the RequestItem for internal processing. | +| attribute | [`IdentityAttribute`]({% link _docs_integrate/data-model-overview.md %}#identityattribute) \| [`RelationshipAttribute`]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute) | The [Attribute](#attributes) to be shared can be an IdentityAttribute or a RelationshipAttribute. It is therefore not a [LocalAttribute](#localattribute) itself, but its `content`. An overview of the possible kinds of Attributes that can be shared is provided by the table of the [combinations and usage scenarios of the ShareAttributeRequestItem]({% link _docs_integrate/share-attributes-with-peer.md %}#combinations-and-usage-scenarios-of-shareattributerequestitem). | +| sourceAttributeId | `string` | The `id` of the [LocalAttribute](#localattribute) which is the source of the shared [Attribute](#attributes). This will be used later to reference the `sourceAttribute` from its shared copy. | +| initialAttributePeer | `string` \| `undefined` | If the Attribute to be shared is a [RelationshipAttribute](#relationshipattribute), this property must contain the address of the `peer` with whom the sender of the Attribute has the [Relationship](#relationship) in which context the RelationshipAttribute exists. | +| description | `string` \| `undefined` | An optional, human readable description for the RequestItem. | +| metadata | `object` \| `undefined` | The metadata property can be used to provide arbitrary JSON content by the sender of the Request. The metadata is not processed by enmeshed. It is a great way to use your own process descriptors at the time of sending the Request which helps you identify the correct internal process at the time of receiving the Response. | +| mustBeAccepted | `boolean` | The mandatory `mustBeAccepted` property is used to differentiate between required and optional RequestItems within the Request.
{::nomarkdown}{:/} | #### TransferFileOwnershipRequestItem @@ -884,13 +884,13 @@ Receiving an AttributeSuccessionAcceptResponseItem, the respective shared LocalA ##### ReadAttributeAcceptResponseItem -| Name | Type | Description | -| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| @type | `"ReadAttributeAcceptResponseItem"` | The type of the ResponseItem. | -| result | `"Accepted"` | The only possible value here is the string `"Accepted"`. | -| attributeId | `string` | The `id` of the returned LocalAttribute. | -| attribute | [`IdentityAttribute`]({% link _docs_integrate/data-model-overview.md %}#identityattribute) \| [`RelationshipAttribute`]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute) | The IdentityAttribute or RelationshipAttribute that will be shared with the peer. | -| thirdPartyAddress | `string` \| `undefined` | If the Attribute to be shared is an already existing [RelationshipAttribute](#relationshipattribute) of another [Relationship](#relationship), this property must contain the address of the `peer` with whom the sender of the Attribute has the Relationship in which context the RelationshipAttribute exists. | +| Name | Type | Description | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| @type | `"ReadAttributeAcceptResponseItem"` | The type of the ResponseItem. | +| result | `"Accepted"` | The only possible value here is the string `"Accepted"`. | +| attributeId | `string` | The `id` of the returned LocalAttribute. | +| attribute | [`IdentityAttribute`]({% link _docs_integrate/data-model-overview.md %}#identityattribute) \| [`RelationshipAttribute`]({% link _docs_integrate/data-model-overview.md %}#relationshipattribute) | The IdentityAttribute or RelationshipAttribute that will be shared with the peer. | +| initialAttributePeer | `string` \| `undefined` | If the Attribute to be shared is an already existing [RelationshipAttribute](#relationshipattribute) of another [Relationship](#relationship), this property must contain the address of the `peer` with whom the sender of the Attribute has the Relationship in which context the RelationshipAttribute exists. | ##### ShareAttributeAcceptResponseItem diff --git a/_docs_integrate/share-attributes-with-peer.md b/_docs_integrate/share-attributes-with-peer.md index 89f792f51..a7f71e9a7 100644 --- a/_docs_integrate/share-attributes-with-peer.md +++ b/_docs_integrate/share-attributes-with-peer.md @@ -49,7 +49,7 @@ For sharing a single Attribute, the Sender needs to insert a single RequestItem The Sender can only share an Attribute that already exists as a [LocalAttribute]({% link _docs_integrate/data-model-overview.md %}#localattribute) and, in the case of IdentityAttributes, is owned by it. The latter means that the address of the Sender is contained in the `content.owner` property of the corresponding LocalAttribute. The `id` of the LocalAttribute must be inserted into the `sourceAttributeId` property and the `content` of the LocalAttribute into the `attribute` property of the ShareAttributeRequestItem. -If a RelationshipAttribute is to be shared, the `thirdPartyAddress` property of the ShareAttributeRequestItem must contain the address of the `peer` with whom the Sender has the [Relationship]({% link _docs_integrate/data-model-overview.md %}#relationship) from which the RelationshipAttribute originates. +If a RelationshipAttribute is to be shared, the `initialAttributePeer` property of the ShareAttributeRequestItem must contain the address of the `peer` with whom the Sender has the [Relationship]({% link _docs_integrate/data-model-overview.md %}#relationship) from which the RelationshipAttribute originates. To get a list of all LocalAttributes that are owned by the Sender, proceed as described in the [Get Attributes]({% link _docs_use-cases/use-case-consumption-get-attributes.md %}) use case documentation and use `content.owner=
` as query parameter. Please note that the `<...>` notation is used as a placeholder for the actual data as usual. @@ -150,7 +150,7 @@ In our example, we assume that the `confidentiality` of the RelationshipAttribut ``` To share the RelationshipAttribute with the Recipient, the Sender needs to insert the `id` of the corresponding own shared RelationshipAttribute into the `sourceAttributeId` property and the RelationshipAttribute itself into the `attribute` property of the [ShareAttributeRequestItem]({% link _docs_integrate/data-model-overview.md %}#shareattributerequestitem) contained within the `items` property of the [Request]({% link _docs_integrate/data-model-overview.md %}#request) for sharing Attributes. -Furthermore, the address of the third party, which corresponds to the `shareInfo.peer` of the own shared RelationshipAttribute, must be specified as the `thirdPartyAddress` of the ShareAttributeRequestItem. +Furthermore, the address of the third party, which corresponds to the `shareInfo.peer` of the own shared RelationshipAttribute, must be specified as the `initialAttributePeer` of the ShareAttributeRequestItem. The value of the `mustBeAccepted` property is set to `true` in this example. ```jsonc @@ -172,7 +172,7 @@ The value of the `mustBeAccepted` property is set to `true` in this example. } }, "sourceAttributeId": "", - "thirdPartyAddress": "
" + "initialAttributePeer": "
" } ] } diff --git a/_docs_use-cases/use-case-consumption-delete-a-thirdpartyrelationshipattribute-and-notify-peer.md b/_docs_use-cases/use-case-consumption-delete-a-thirdpartyrelationshipattribute-and-notify-peer.md index f805cdd5c..14ce111ae 100644 --- a/_docs_use-cases/use-case-consumption-delete-a-thirdpartyrelationshipattribute-and-notify-peer.md +++ b/_docs_use-cases/use-case-consumption-delete-a-thirdpartyrelationshipattribute-and-notify-peer.md @@ -44,7 +44,7 @@ api_route_regex: ^DELETE /api/core/v1/Attributes/ThirdParty/{id}$ {% include properties_list.html %} -This use case allows you to delete a ThirdPartyRelationshipAttribute, i.e. a [LocalAttribute]({%link _docs_integrate/data-model-overview.md %}#localattribute) that has the property `shareInfo.thirdPartyAddress` set. +This use case allows you to delete a ThirdPartyRelationshipAttribute, i.e. a [LocalAttribute]({%link _docs_integrate/data-model-overview.md %}#localattribute) that has the property `initialAttributePeer` set. ## Parameters From d1c070f49b8904f3b812bab6eb9e12d58b774c5c Mon Sep 17 00:00:00 2001 From: Britta Stallknecht Date: Thu, 6 Nov 2025 15:01:31 +0000 Subject: [PATCH 3/3] feat: mention renamed thirdPartyAddress property in v7 migration guide --- _docs_integrate/migration-from-v6-to-v7.md | 1 + 1 file changed, 1 insertion(+) diff --git a/_docs_integrate/migration-from-v6-to-v7.md b/_docs_integrate/migration-from-v6-to-v7.md index fdd932120..227039193 100644 --- a/_docs_integrate/migration-from-v6-to-v7.md +++ b/_docs_integrate/migration-from-v6-to-v7.md @@ -91,6 +91,7 @@ The step-by-step instructions can be consulted to start the migration to version - The introduction of the [LocalAttribute]({% link _docs_integrate/data-model-overview.md %}#localattribute) subtypes has led to a renaming of the [NotificationItems]({% link _docs_integrate/data-model-overview.md %}#notificationitems). The [PeerAttributeSucceededNotificationItem]({% link _docs_integrate/data-model-overview.md %}#peerattributesucceedednotificationitem) replaces the PeerSharedAttributeSucceededNotificationItem. The OwnSharedAttributeDeletedByOwnerNotificationItem, the PeerSharedAttributeDeletedByPeerNotificationItem and the ThirdPartyRelationshipAttributeDeletedByPeerNotificationItem have been replaced by the [OwnAttributeDeletedByOwnerNotificationItem]({% link _docs_integrate/data-model-overview.md %}#ownattributedeletedbyownernotificationitem), the [PeerRelationshipAttributeDeletedByPeerNotificationItem]({%link _docs_integrate/data-model-overview.md %}#peerrelationshipattributedeletedbypeernotificationitem) and the [ForwardedAttributeDeletedByPeerNotificationItem]({%link _docs_integrate/data-model-overview.md %}#forwardedattributedeletedbypeernotificationitem). + - To better align with the `initialAttributePeer` property of the [ThirdPartyRelationshipAttribute]({% link _docs_integrate/data-model-overview.md %}#thirdpartyrelationshipattribute), the `thirdPartyAddress` property of the [ShareAttributeRequestItem]({% link _docs_integrate/data-model-overview.md %}#shareattributerequestitem) and the [ReadAttributeAcceptResponseItem]({% link _docs_integrate/data-model-overview.md %}#readattributeacceptresponseitem) has been renamed to `initialAttributePeer`. - The `parentId` property of the [LocalAttribute]({% link _docs_integrate/data-model-overview.md %}#localattribute) was removed as there is no child Attribute feature anymore. Sharing individual components of a [complex IdentityAttribute]({% link _docs_integrate/attribute-introduction.md %}#complex-identityattributes) will be possible again in future releases.