@@ -612,20 +612,35 @@ components:
612612 parameter is set to `"scope"`, it will replace all relationships of the specified scope
613613 with those provided. When it's set to `"type"`, it will replace all relationships of the
614614 specified type(s) and scope with those provided. When it's set to `"complete"`, it will
615- replace all relationships with those provided. If the exclusive parameter is omitted,
616- all relationships provided will be added to the asset.
615+ replace all relationships with those provided. When it's set to `"type_and_scope"`, it will
616+ replace all relationships matching any combination of type and scope declared in `exclusive_types`
617+ and `exclusive_scopes`. If the exclusive parameter is omitted, all relationships provided will be
618+ added to the asset.
617619 enum :
618620 - scope
619621 - type
620622 - complete
621623 ExclusiveTypesParam :
622624 type : array
623625 description : |-
624- An array of asset types. This parameter can be used with the `exclusive=type` parameter.
625- When using `exclusive=type`, these asset types will be considered for exclusion within
626+ An array of asset types. This parameter can be used with the `exclusive=type` and `exclusive=type_and_scope`
627+ parameter. When using `exclusive=type`, these asset types will be considered for exclusion within
626628 the given `"scope"` in addition to the asset types of the `"relationships"` in the
627- request. This allows clients to effectively declare **empty** relationships for
629+ request. When using `exclusive=type_and_scope`, these asset types will be considered for exclusion in
630+ combination with the given `exclusive_scopes`. Any relationships matching some combination of
631+ type and scope will be removed.
632+ This allows clients to effectively declare **empty** relationships for
628633 specific asset type(s).
634+ ExclusiveScopesParam :
635+ type : array
636+ description : |-
637+ An array of scopes. This parameter can be used with the `exclusive=type_and_scope` parameter.
638+ These scopes will be considered for exclusion with the types provided in the `exclusive_types` parameter.
639+ Any relationship matching some combination of scope declared in `exclusive_scopes` and type declared in
640+ `exclusive_types` will be considered for exclusion. This parameter allows a client to override
641+ relationships declared in scopes beyond the scope provided in the body.
642+ A client must include the calling scope in this list when utilizing this parameter to replace relationships
643+ matching the calling scope.
629644 GroupNameParam :
630645 type : string
631646 description : |-
@@ -995,6 +1010,8 @@ components:
9951010 $ref : ' #/components/schemas/ExclusiveParam'
9961011 exclusive_types :
9971012 $ref : ' #/components/schemas/ExclusiveTypesParam'
1013+ exclusive_scopes :
1014+ $ref : ' #/components/schemas/ExclusiveScopesParam'
9981015 required :
9991016 - operation
10001017 - type
0 commit comments