@@ -612,20 +612,35 @@ components:
612
612
parameter is set to `"scope"`, it will replace all relationships of the specified scope
613
613
with those provided. When it's set to `"type"`, it will replace all relationships of the
614
614
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.
617
619
enum :
618
620
- scope
619
621
- type
620
622
- complete
621
623
ExclusiveTypesParam :
622
624
type : array
623
625
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
626
628
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
628
633
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.
629
644
GroupNameParam :
630
645
type : string
631
646
description : |-
@@ -995,6 +1010,8 @@ components:
995
1010
$ref : ' #/components/schemas/ExclusiveParam'
996
1011
exclusive_types :
997
1012
$ref : ' #/components/schemas/ExclusiveTypesParam'
1013
+ exclusive_scopes :
1014
+ $ref : ' #/components/schemas/ExclusiveScopesParam'
998
1015
required :
999
1016
- operation
1000
1017
- type
0 commit comments