@celigo/api-specs 0.2.38 → 0.2.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/stack.yml CHANGED
@@ -21,11 +21,11 @@ security:
21
21
  tags:
22
22
  - name: Stacks
23
23
  description: |-
24
- Stacks are execution environments that run custom extension code for integrations. Two types are supported: **server** (self-hosted) and **lambda** (AWS Lambda).
24
+ Stacks are execution environments that run custom extension code for integrations. Two types are supported: **server** (self-hosted) and **lambda** (AWS Lambda). A stack can be shared with other integrator.io users; the `/v1/sshares` operations manage the shares you own, while the Account API lists the stacks shared with you.
25
25
 
26
- ## Stack schema
26
+ ## Stack and stack share schemas
27
27
 
28
- {% openapi-schemas spec="stack" schemas="Stack" grouped="true" %}
28
+ {% openapi-schemas spec="stack" schemas="Stack,StackShare" grouped="true" %}
29
29
  paths:
30
30
  /v1/stacks:
31
31
  get:
@@ -576,10 +576,12 @@ paths:
576
576
  - api
577
577
  - ui
578
578
  - system
579
+ - cli
579
580
  x-enumDescriptions:
580
581
  api: Change made via the REST API.
581
582
  ui: Change made through the Celigo UI.
582
583
  system: Change made by an automated platform process.
584
+ cli: Change made via the Celigo CLI.
583
585
  time:
584
586
  type: string
585
587
  format: date-time
@@ -625,11 +627,14 @@ paths:
625
627
  description: New value (absent on delete).
626
628
  deletedInfo:
627
629
  type: object
628
- description: Metadata about the deleted resource. Present on `delete` events.
630
+ description: |-
631
+ Name snapshot of a deleted stack. Once the stack is in the recycle
632
+ bin, every entry in its history carries it — not only the `delete`
633
+ event — so the name can still be shown after the record is gone.
629
634
  properties:
630
635
  name:
631
636
  type: string
632
- description: Name of the resource at the time of deletion.
637
+ description: Name of the stack at the time of deletion.
633
638
  examples:
634
639
  - Order Processing Lambda
635
640
  examples:
@@ -712,6 +717,460 @@ paths:
712
717
  value: {}
713
718
  '401':
714
719
  $ref: '#/components/responses/401-unauthorized'
720
+ /v1/stacks/{_id}/invite:
721
+ post:
722
+ x-internal: false
723
+ summary: Share a stack with a user
724
+ operationId: inviteUserToStack
725
+ tags:
726
+ - Stacks
727
+ description: |-
728
+ Invites another integrator.io user to use this stack and emails them the
729
+ invitation. Creates a pending share record — the stack becomes usable by
730
+ the recipient only after they accept it (`PUT /v1/sshares/{_id}/accept`).
731
+ The recipient is looked up by email before the stack is checked, so an
732
+ unknown address fails even for a stack id that does not exist. Stacks that
733
+ back an Integration App cannot be shared.
734
+ x-celigo-ai-guidance:
735
+ - The response `_id` is the share record — use it with `/v1/sshares/{_id}`, not `/v1/stacks/{_id}`.
736
+ parameters:
737
+ - name: _id
738
+ in: path
739
+ required: true
740
+ description: Stack ID.
741
+ schema:
742
+ type: string
743
+ format: objectId
744
+ x-celigo-refModel: stacks
745
+ examples:
746
+ - 685a05192a483c98dc907762
747
+ requestBody:
748
+ required: true
749
+ content:
750
+ application/json:
751
+ schema:
752
+ $ref: '#/components/schemas/StackInviteRequest'
753
+ examples:
754
+ default:
755
+ value:
756
+ email: partner@example.com
757
+ responses:
758
+ '201':
759
+ description: Pending share created and the invitation emailed. The `Location` header points at the new share record.
760
+ headers:
761
+ Location:
762
+ description: Relative path of the created share record, `/sshares/{_id}`.
763
+ schema:
764
+ type: string
765
+ examples:
766
+ - /sshares/69f538ddb600a20919f8bd94
767
+ content:
768
+ application/json:
769
+ schema:
770
+ $ref: '#/components/schemas/StackShare'
771
+ examples:
772
+ pending:
773
+ value:
774
+ _id: 69f538ddb600a20919f8bd94
775
+ _stackId: 685a05192a483c98dc907762
776
+ sharedWithUser:
777
+ _id: 68c821306f5d848c881da205
778
+ email: partner@example.com
779
+ '400':
780
+ description: The user already holds a share on this stack.
781
+ content:
782
+ application/json:
783
+ schema:
784
+ $ref: '#/components/schemas/Error'
785
+ examples:
786
+ alreadyShared:
787
+ value:
788
+ errors:
789
+ - code: invalid_invite
790
+ message: The user already has access to the account. Please use the edit permissions option to update the permissions for the user.
791
+ '401':
792
+ $ref: '#/components/responses/401-unauthorized'
793
+ '404':
794
+ description: No integrator.io user has this email address.
795
+ content:
796
+ application/json:
797
+ schema:
798
+ $ref: '#/components/schemas/Error'
799
+ examples:
800
+ unknownUser:
801
+ value:
802
+ errors:
803
+ - code: invalid_user
804
+ message: We were not able to find any user with the provided email address.
805
+ /v1/sshares:
806
+ get:
807
+ x-internal: false
808
+ summary: List stack shares you own
809
+ operationId: listStackShares
810
+ tags:
811
+ - Stacks
812
+ description: |-
813
+ Returns every share record for stacks you own — who each stack is shared
814
+ with and whether they have accepted. Sorted by `_stackId` ascending. For the
815
+ stacks other users have shared with *you*, use `GET /v1/shared/sshares`.
816
+ parameters:
817
+ - name: limit
818
+ in: query
819
+ required: false
820
+ description: Maximum number of share records to return per page.
821
+ schema:
822
+ type: integer
823
+ minimum: 1
824
+ maximum: 1000
825
+ default: 1000
826
+ examples:
827
+ - 100
828
+ - $ref: '#/components/parameters/After'
829
+ - name: sort_by
830
+ in: query
831
+ required: false
832
+ description: Field to sort by. Values outside the enum are rejected with 400 `invalid_query_param`.
833
+ schema:
834
+ type: string
835
+ enum:
836
+ - _stackId
837
+ default: _stackId
838
+ x-enumDescriptions:
839
+ _stackId: Group the records by stack
840
+ responses:
841
+ '200':
842
+ description: Array of stack share records.
843
+ headers:
844
+ Link:
845
+ description: |-
846
+ RFC 5988 pagination link. Includes `<...>; rel="next"` with an
847
+ `after` cursor when more records exist; absent on the final page.
848
+ schema:
849
+ type: string
850
+ content:
851
+ application/json:
852
+ schema:
853
+ type: array
854
+ items:
855
+ $ref: '#/components/schemas/StackShare'
856
+ examples:
857
+ default:
858
+ value:
859
+ - _id: 69f538ddb600a20919f8bd94
860
+ _stackId: 685a05192a483c98dc907762
861
+ accepted: true
862
+ sharedWithUser:
863
+ _id: 68c821306f5d848c881da205
864
+ name: Partner User
865
+ email: partner@example.com
866
+ authTypeSSO: null
867
+ lastSignIn: '2026-05-01T23:40:36.839Z'
868
+ allowedToResetMFA: false
869
+ - _id: 6ab1f8c04db5688fd8cb2a11
870
+ _stackId: 685a05192a483c98dc907762
871
+ sharedWithUser:
872
+ _id: 6a6f0d2c9b1e4f3a8c7d5e21
873
+ email: contractor@example.com
874
+ authTypeSSO: null
875
+ allowedToResetMFA: false
876
+ '204':
877
+ description: You have not shared any stacks.
878
+ '400':
879
+ description: Invalid pagination or sort parameter.
880
+ content:
881
+ application/json:
882
+ schema:
883
+ $ref: '#/components/schemas/Error'
884
+ examples:
885
+ badSort:
886
+ value:
887
+ errors:
888
+ - code: invalid_query_param
889
+ message: The query parameter "sort_by" has invalid value.
890
+ badCursor:
891
+ value:
892
+ errors:
893
+ - code: invalid_query_param
894
+ message: Please provide a valid cursor(i.e after or before query param) to encode or decode.
895
+ '401':
896
+ $ref: '#/components/responses/401-unauthorized'
897
+ /v1/sshares/{_id}:
898
+ get:
899
+ x-internal: false
900
+ summary: Get a stack share
901
+ operationId: getStackShareById
902
+ tags:
903
+ - Stacks
904
+ description: |-
905
+ Returns a single share record for a stack you own. Identifies the recipient
906
+ by `_sharedWithUserId` only — for their name and email, read the record from
907
+ `GET /v1/sshares`.
908
+ parameters:
909
+ - name: _id
910
+ in: path
911
+ required: true
912
+ description: Share record ID (not the stack ID).
913
+ schema:
914
+ type: string
915
+ format: objectId
916
+ x-celigo-refModel: sshares
917
+ examples:
918
+ - 69f538ddb600a20919f8bd94
919
+ responses:
920
+ '200':
921
+ description: Stack share record.
922
+ content:
923
+ application/json:
924
+ schema:
925
+ $ref: '#/components/schemas/StackShare'
926
+ examples:
927
+ accepted:
928
+ value:
929
+ _id: 69f538ddb600a20919f8bd94
930
+ _stackId: 685a05192a483c98dc907762
931
+ _sharedWithUserId: 68c821306f5d848c881da205
932
+ accepted: true
933
+ '401':
934
+ $ref: '#/components/responses/401-unauthorized'
935
+ '404':
936
+ description: No share with this id exists on a stack you own.
937
+ content:
938
+ application/json:
939
+ schema:
940
+ $ref: '#/components/schemas/Error'
941
+ examples:
942
+ notFound:
943
+ value:
944
+ errors:
945
+ - code: invalid_ref
946
+ message: SShare not found.
947
+ put:
948
+ x-internal: false
949
+ summary: Update a stack share
950
+ operationId: updateStackShare
951
+ tags:
952
+ - Stacks
953
+ description: |-
954
+ Replaces a share record you own. Resend `_stackId` and `_sharedWithUserId`
955
+ unchanged — they identify the share and cannot be modified — and set
956
+ `disabled` to suspend or restore the recipient's use of the stack. The
957
+ recipient's acceptance is preserved. Toggling `disabled`, or reopening a
958
+ dismissed invitation with `dismissed: false`, notifies the recipient by email.
959
+ parameters:
960
+ - name: _id
961
+ in: path
962
+ required: true
963
+ description: Share record ID (not the stack ID).
964
+ schema:
965
+ type: string
966
+ format: objectId
967
+ x-celigo-refModel: sshares
968
+ examples:
969
+ - 69f538ddb600a20919f8bd94
970
+ requestBody:
971
+ required: true
972
+ content:
973
+ application/json:
974
+ schema:
975
+ $ref: '#/components/schemas/StackShareRequest'
976
+ examples:
977
+ suspend:
978
+ summary: Suspend the recipient's use of the stack
979
+ value:
980
+ _stackId: 685a05192a483c98dc907762
981
+ _sharedWithUserId: 68c821306f5d848c881da205
982
+ disabled: true
983
+ responses:
984
+ '200':
985
+ description: Updated share record.
986
+ content:
987
+ application/json:
988
+ schema:
989
+ $ref: '#/components/schemas/StackShare'
990
+ examples:
991
+ updated:
992
+ value:
993
+ _id: 69f538ddb600a20919f8bd94
994
+ _stackId: 685a05192a483c98dc907762
995
+ _sharedWithUserId: 68c821306f5d848c881da205
996
+ accepted: true
997
+ disabled: true
998
+ '401':
999
+ $ref: '#/components/responses/401-unauthorized'
1000
+ '404':
1001
+ description: No share with this id exists on a stack you own.
1002
+ content:
1003
+ application/json:
1004
+ schema:
1005
+ $ref: '#/components/schemas/Error'
1006
+ examples:
1007
+ notFound:
1008
+ value:
1009
+ errors:
1010
+ - code: invalid_ref
1011
+ message: SShare not found.
1012
+ '422':
1013
+ description: An identity field is missing, or `_stackId` does not match the stored share.
1014
+ content:
1015
+ application/json:
1016
+ schema:
1017
+ $ref: '#/components/schemas/Error'
1018
+ examples:
1019
+ missingRecipient:
1020
+ summary: _sharedWithUserId omitted
1021
+ value:
1022
+ errors:
1023
+ - field: _sharedWithUserId
1024
+ code: missing_required_field
1025
+ message: Path `_sharedWithUserId` is required.
1026
+ stackChanged:
1027
+ summary: _stackId differs from the stored share
1028
+ value:
1029
+ errors:
1030
+ - code: update_not_allowed
1031
+ message: The value provided for the field _stackId in the update request for SShare doesn't match with the existing record.
1032
+ delete:
1033
+ x-internal: false
1034
+ summary: Revoke a stack share
1035
+ operationId: deleteStackShare
1036
+ tags:
1037
+ - Stacks
1038
+ description: |-
1039
+ Permanently removes the share so the recipient can no longer use the
1040
+ stack. Blocked while any of the recipient's connections, exports, or
1041
+ imports still reference the stack — they must repoint or delete those
1042
+ first. To suspend access without removing the share, use
1043
+ `PUT /v1/sshares/{_id}/disable`.
1044
+ parameters:
1045
+ - name: _id
1046
+ in: path
1047
+ required: true
1048
+ description: Share record ID (not the stack ID).
1049
+ schema:
1050
+ type: string
1051
+ format: objectId
1052
+ x-celigo-refModel: sshares
1053
+ examples:
1054
+ - 69f538ddb600a20919f8bd94
1055
+ responses:
1056
+ '204':
1057
+ description: Share revoked.
1058
+ '401':
1059
+ $ref: '#/components/responses/401-unauthorized'
1060
+ '404':
1061
+ description: No share with this id exists on a stack you own.
1062
+ content:
1063
+ application/json:
1064
+ schema:
1065
+ $ref: '#/components/schemas/Error'
1066
+ examples:
1067
+ notFound:
1068
+ value:
1069
+ errors:
1070
+ - code: invalid_ref
1071
+ message: SShare not found.
1072
+ /v1/sshares/{_id}/disable:
1073
+ put:
1074
+ x-internal: false
1075
+ summary: Toggle a stack share (disable or re-enable)
1076
+ operationId: toggleStackShareDisabled
1077
+ tags:
1078
+ - Stacks
1079
+ description: |-
1080
+ Flips the `disabled` flag on a share you own — call again to re-enable;
1081
+ there is no separate `/enable` path. The recipient is notified by email each
1082
+ time. Only an accepted or dismissed share can be toggled: a still-pending
1083
+ invitation is rejected, and a dismissed one is left unchanged. Equivalent to
1084
+ updating `disabled` through `PUT /v1/sshares/{_id}` without resending the body.
1085
+ parameters:
1086
+ - name: _id
1087
+ in: path
1088
+ required: true
1089
+ description: Share record ID (not the stack ID).
1090
+ schema:
1091
+ type: string
1092
+ format: objectId
1093
+ x-celigo-refModel: sshares
1094
+ examples:
1095
+ - 69f538ddb600a20919f8bd94
1096
+ requestBody:
1097
+ required: false
1098
+ content:
1099
+ application/json:
1100
+ schema:
1101
+ type: object
1102
+ description: Empty body — the target is identified by the path parameter alone.
1103
+ examples:
1104
+ default:
1105
+ summary: Empty body
1106
+ value: {}
1107
+ responses:
1108
+ '204':
1109
+ description: Share toggled.
1110
+ '401':
1111
+ $ref: '#/components/responses/401-unauthorized'
1112
+ '404':
1113
+ description: No share with this id exists on a stack you own.
1114
+ content:
1115
+ application/json:
1116
+ schema:
1117
+ $ref: '#/components/schemas/Error'
1118
+ examples:
1119
+ notFound:
1120
+ value:
1121
+ errors:
1122
+ - code: invalid_ref
1123
+ message: SShare not found.
1124
+ /v1/sshares/{_id}/reinvite:
1125
+ put:
1126
+ x-internal: false
1127
+ summary: Reinvite a user who dismissed a stack share
1128
+ operationId: reinviteStackShare
1129
+ tags:
1130
+ - Stacks
1131
+ description: |-
1132
+ Re-sends a stack share invitation the recipient dismissed and returns the
1133
+ share to the pending state. Only a dismissed, unaccepted share can be
1134
+ reinvited. To share a stack for the first time, use `POST /v1/stacks/{_id}/invite`.
1135
+ parameters:
1136
+ - name: _id
1137
+ in: path
1138
+ required: true
1139
+ description: Share record ID (not the stack ID).
1140
+ schema:
1141
+ type: string
1142
+ format: objectId
1143
+ x-celigo-refModel: sshares
1144
+ examples:
1145
+ - 69f538ddb600a20919f8bd94
1146
+ requestBody:
1147
+ required: false
1148
+ content:
1149
+ application/json:
1150
+ schema:
1151
+ type: object
1152
+ description: Empty body — the target is identified by the path parameter alone.
1153
+ examples:
1154
+ default:
1155
+ summary: Empty body
1156
+ value: {}
1157
+ responses:
1158
+ '204':
1159
+ description: Invitation re-sent.
1160
+ '401':
1161
+ $ref: '#/components/responses/401-unauthorized'
1162
+ '404':
1163
+ description: No share with this id exists on a stack you own.
1164
+ content:
1165
+ application/json:
1166
+ schema:
1167
+ $ref: '#/components/schemas/Error'
1168
+ examples:
1169
+ notFound:
1170
+ value:
1171
+ errors:
1172
+ - code: invalid_ref
1173
+ message: SShare not found.
715
1174
  components:
716
1175
  securitySchemes:
717
1176
  bearerAuth:
@@ -743,6 +1202,15 @@ components:
743
1202
  schema:
744
1203
  type: string
745
1204
  example: createdAt,lastModified
1205
+ After:
1206
+ name: after
1207
+ in: query
1208
+ required: false
1209
+ description: |-
1210
+ Opaque cursor for forward pagination. Pass the value from the `Link`
1211
+ response header (`rel="next"`) to fetch the next page.
1212
+ schema:
1213
+ type: string
746
1214
  schemas:
747
1215
  Stack:
748
1216
  type: object
@@ -1137,6 +1605,13 @@ components:
1137
1605
  description: Display name of the dependent resource.
1138
1606
  examples:
1139
1607
  - Import Orders to NetSuite
1608
+ type:
1609
+ type: string
1610
+ description: |-
1611
+ Sub-type of the dependent resource when its collection distinguishes one, such as
1612
+ `stream` for a listener export. Only present for resource types that carry a `type`.
1613
+ examples:
1614
+ - stream
1140
1615
  paths:
1141
1616
  type: array
1142
1617
  description: |-
@@ -1199,6 +1674,168 @@ components:
1199
1674
  dependencyIds:
1200
1675
  export:
1201
1676
  - 64ff4b21612a134bd2f45534
1677
+ StackInviteRequest:
1678
+ type: object
1679
+ description: Request body for `POST /v1/stacks/{_id}/invite`.
1680
+ required:
1681
+ - email
1682
+ properties:
1683
+ email:
1684
+ type: string
1685
+ format: email
1686
+ description: |-
1687
+ Email address of the integrator.io user to share the stack with, matched
1688
+ case-insensitively. The address must already belong to an integrator.io
1689
+ account — a stack cannot be shared with someone who has not signed up.
1690
+ examples:
1691
+ - partner@example.com
1692
+ x-celigo-ai-guidance:
1693
+ - An address with no integrator.io account fails with 404 `invalid_user`; the recipient must sign up first, then the invite can be sent.
1694
+ - Sharing with a user who already holds a share on this stack fails with 400 `invalid_invite` — edit or re-enable the existing share instead.
1695
+ StackShare:
1696
+ type: object
1697
+ description: |-
1698
+ A share record granting another user access to one of your stacks — the
1699
+ owner's view of a stack share. The `_id` is the share record, not the stack;
1700
+ the recipient sees the same share through `GET /v1/shared/sshares`.
1701
+ x-celigo-ai-guidance:
1702
+ - Booleans are present only when true — a share with no `accepted`, `dismissed`, or `disabled` key is a pending invitation.
1703
+ required:
1704
+ - _id
1705
+ - _stackId
1706
+ properties:
1707
+ _id:
1708
+ type: string
1709
+ format: objectId
1710
+ readOnly: true
1711
+ x-celigo-refModel: sshares
1712
+ description: Identifier of the share record. Use it with the `/v1/sshares/{_id}` operations, not the stack id.
1713
+ examples:
1714
+ - 69f538ddb600a20919f8bd94
1715
+ _stackId:
1716
+ type: string
1717
+ format: objectId
1718
+ readOnly: true
1719
+ x-celigo-refModel: stacks
1720
+ description: Stack that is shared. Fetch its configuration with `GET /v1/stacks/{_id}`.
1721
+ examples:
1722
+ - 685a05192a483c98dc907762
1723
+ _sharedWithUserId:
1724
+ type: string
1725
+ format: objectId
1726
+ readOnly: true
1727
+ x-celigo-refModel: users
1728
+ description: |-
1729
+ Identity of the user the stack is shared with. Present on
1730
+ `GET /v1/sshares/{_id}` and the update response; the list and the
1731
+ invite response expand it into `sharedWithUser` instead.
1732
+ examples:
1733
+ - 68c821306f5d848c881da205
1734
+ accepted:
1735
+ type: boolean
1736
+ readOnly: true
1737
+ description: When true, the recipient accepted the invitation and can use the stack. Present only when true.
1738
+ examples:
1739
+ - true
1740
+ dismissed:
1741
+ type: boolean
1742
+ readOnly: true
1743
+ description: When true, the recipient declined the invitation; send it again with `PUT /v1/sshares/{_id}/reinvite`. Present only when true.
1744
+ disabled:
1745
+ type: boolean
1746
+ readOnly: true
1747
+ description: When true, you suspended the recipient's use of the stack via `PUT /v1/sshares/{_id}/disable`. Present only when true.
1748
+ sharedWithUser:
1749
+ type: object
1750
+ readOnly: true
1751
+ description: |-
1752
+ Identity details of the recipient. Present on `GET /v1/sshares` and on the
1753
+ invite response; the single-record operations return `_sharedWithUserId`
1754
+ instead. `name` is included only once the invitation is accepted.
1755
+ properties:
1756
+ _id:
1757
+ type: string
1758
+ format: objectId
1759
+ x-celigo-refModel: users
1760
+ description: The recipient's own user id.
1761
+ examples:
1762
+ - 68c821306f5d848c881da205
1763
+ email:
1764
+ type: string
1765
+ format: email
1766
+ description: Email address the invitation was sent to.
1767
+ examples:
1768
+ - partner@example.com
1769
+ name:
1770
+ type: string
1771
+ description: Display name of the recipient. Present only once the invitation is accepted.
1772
+ examples:
1773
+ - Partner User
1774
+ authTypeSSO:
1775
+ type:
1776
+ - object
1777
+ - 'null'
1778
+ description: SSO linkage of the recipient's own sign-in. `null` when the recipient signs in with a password.
1779
+ additionalProperties: true
1780
+ lastSignIn:
1781
+ type: string
1782
+ format: date-time
1783
+ description: Timestamp when the recipient last signed in to integrator.io (any account).
1784
+ examples:
1785
+ - '2026-05-01T23:40:36.839Z'
1786
+ allowedToResetMFA:
1787
+ type: boolean
1788
+ description: When true, the caller may reset the recipient's MFA.
1789
+ examples:
1790
+ - false
1791
+ StackShareRequest:
1792
+ type: object
1793
+ description: |-
1794
+ Request body for `PUT /v1/sshares/{_id}`. The share's identity fields must be
1795
+ resent unchanged; the only state the owner can change here is `disabled` (and
1796
+ `dismissed`, to reopen a declined invitation). Acceptance belongs to the
1797
+ recipient and is preserved.
1798
+ required:
1799
+ - _stackId
1800
+ - _sharedWithUserId
1801
+ properties:
1802
+ _stackId:
1803
+ type: string
1804
+ format: objectId
1805
+ x-celigo-refModel: stacks
1806
+ description: |-
1807
+ Stack the share belongs to. Must match the stored value — a share cannot
1808
+ be moved to another stack.
1809
+ examples:
1810
+ - 685a05192a483c98dc907762
1811
+ _sharedWithUserId:
1812
+ type: string
1813
+ format: objectId
1814
+ x-celigo-refModel: users
1815
+ description: |-
1816
+ User the stack is shared with. Must match the stored value — to share the
1817
+ stack with someone else, send a new invitation with `POST /v1/stacks/{_id}/invite`.
1818
+ examples:
1819
+ - 68c821306f5d848c881da205
1820
+ disabled:
1821
+ type: boolean
1822
+ description: |-
1823
+ When true, suspends the recipient's use of the stack without deleting the
1824
+ share; send false to re-enable. Accepted only once the recipient has
1825
+ accepted or dismissed the invitation. `PUT /v1/sshares/{_id}/disable` toggles
1826
+ the same flag without resending the body.
1827
+ examples:
1828
+ - true
1829
+ dismissed:
1830
+ type: boolean
1831
+ description: |-
1832
+ Send false on a dismissed share to reopen the invitation; the owner cannot
1833
+ set it to true. `PUT /v1/sshares/{_id}/reinvite` does the same and notifies
1834
+ the recipient.
1835
+ examples:
1836
+ - false
1837
+ x-celigo-ai-guidance:
1838
+ - GET the share first and resend `_stackId` and `_sharedWithUserId` unchanged — omitting `_sharedWithUserId` fails with 422 `missing_required_field`, and a different `_stackId` fails with 422 `update_not_allowed`.
1202
1839
  responses:
1203
1840
  401-unauthorized:
1204
1841
  description: |-