@celigo/api-specs 0.2.95 → 0.2.96

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.
@@ -35,13 +35,16 @@ paths:
35
35
  get:
36
36
  x-internal: false
37
37
  summary: List MCP OAuth providers
38
- description: Returns all MCP OAuth providers in the account.
38
+ description: |-
39
+ Returns all MCP OAuth providers in the account.
40
+
41
+ Field projection via `include` / `exclude` is **not** supported for this
42
+ resource. Passing either query param returns `422 invalid_query_params`
43
+ (`Include or exclude query params are not applicable for mcpoauthproviders
44
+ resource`). Request the full document and filter client-side.
39
45
  operationId: listMcpOauthProviders
40
46
  tags:
41
47
  - MCP OAuth Providers
42
- parameters:
43
- - $ref: '#/components/parameters/Include'
44
- - $ref: '#/components/parameters/Exclude'
45
48
  responses:
46
49
  '200':
47
50
  description: Provider list.
@@ -294,32 +297,6 @@ components:
294
297
  bearerAuth:
295
298
  type: http
296
299
  scheme: bearer
297
- parameters:
298
- Include:
299
- name: include
300
- in: query
301
- required: false
302
- description: |-
303
- Comma-separated list of fields to project into each returned record.
304
- Triggers summary projection: the response contains a minimal identity
305
- set (`_id`, `name`, plus resource-specific fields) with the requested
306
- fields added on top. Supports dot notation for nested fields.
307
- Mutually exclusive with `exclude`.
308
- schema:
309
- type: string
310
- example: _integrationId,disabled,lastModified
311
- Exclude:
312
- name: exclude
313
- in: query
314
- required: false
315
- description: |-
316
- Comma-separated list of fields to strip from the default response.
317
- Unlike `include`, does not trigger summary projection — returns the
318
- full record with the named fields removed. Protected identity fields
319
- (e.g. `name`) cannot be stripped. Mutually exclusive with `include`.
320
- schema:
321
- type: string
322
- example: createdAt,lastModified
323
300
  schemas:
324
301
  MCPOAuthProviderBase:
325
302
  type: object
package/dist/user.yml CHANGED
@@ -42,7 +42,9 @@ paths:
42
42
  summary: List users
43
43
  description: |-
44
44
  Returns all users with access to the account. The account owner is
45
- not included — only invited users appear.
45
+ not included — only invited users appear. Without `userType` the list
46
+ holds workspace records only; end-user records (MCP-only consumers
47
+ managed through the End Users API) are included only when asked for.
46
48
  operationId: listUsers
47
49
  tags:
48
50
  - Users
@@ -55,13 +57,15 @@ paths:
55
57
  enum:
56
58
  - workspace
57
59
  - end-user
60
+ - workspace,end-user
58
61
  x-enumDescriptions:
59
- workspace: Workspace (team member) access records — the records this endpoint returns.
60
- end-user: End-user records; always empty here (204) — list them via the End Users API instead.
62
+ workspace: Workspace (team member) access records — the same records an unfiltered call returns.
63
+ end-user: End-user access records only, each carrying `resourceGrants`, `provisionedBy`, and — when the end user belongs to a group — `groupMemberships` and `_groupIds`.
64
+ workspace,end-user: Both planes in one list; tell the records apart by `userType`.
61
65
  description: |-
62
- Filter by access-record type. `workspace` returns the same records as
63
- an unfiltered call; `end-user` always returns 204 because end users
64
- are served by the End Users API, not this endpoint.
66
+ Filter by access-record type. `end-user` returns the same records as
67
+ `GET /v1/endusers`, in this API's shape (`sharedWithUser` instead of the
68
+ joined `email` and `name`). Any other value is rejected with 400.
65
69
  responses:
66
70
  '200':
67
71
  description: All users with access to the account.
@@ -115,8 +119,51 @@ paths:
115
119
  name: Integration User
116
120
  allowedToResetMFA: false
117
121
  accountSSOLinked: not_linked
122
+ endUsers:
123
+ summary: ?userType=end-user — one end user with a group membership
124
+ value:
125
+ - _id: 6aacb5cd76dd63f8209a4c57
126
+ accepted: true
127
+ userType: end-user
128
+ provisionedBy: invite
129
+ resourceGrants:
130
+ - resourceType: mcpServer
131
+ _resourceId: 6aacaf0c1e2c183620e7253d
132
+ capabilities:
133
+ - tool:all
134
+ - resourceType: mcpServer
135
+ _resourceId: 6ab1ebd05af4c5a3ea6b0958
136
+ capabilities:
137
+ - pset:6ab1ec1d2d2c0e0d88aea1dc
138
+ groupMemberships:
139
+ - _groupId: 6abf4dd8fa3e52974f9f1d7a
140
+ source: manual
141
+ _groupIds:
142
+ - 6abf4dd8fa3e52974f9f1d7a
143
+ allowIntegrationWorkspaceCreation: false
144
+ lastModified: '2026-09-22T02:47:05.390Z'
145
+ createdAt: '2026-09-18T03:53:49.619Z'
146
+ sharedWithUser:
147
+ _id: 6aacb5cc76dd63f8209a4c28
148
+ email: enduser@example.com
149
+ name: Ana Enduser
150
+ lastSignIn: '2026-09-18T04:10:35.199Z'
151
+ allowedToResetMFA: false
152
+ accountSSOLinked: not_linked
118
153
  '204':
119
154
  description: No users exist in the account
155
+ '400':
156
+ description: '`userType` is not one of the accepted values.'
157
+ content:
158
+ application/json:
159
+ schema:
160
+ $ref: '#/components/schemas/Error'
161
+ examples:
162
+ invalidUserType:
163
+ value:
164
+ errors:
165
+ - code: validation_failed
166
+ message: Validation failed. userType must be workspace, end-user, or workspace,end-user.
120
167
  '401':
121
168
  $ref: '#/components/responses/401-unauthorized'
122
169
  /v1/ashares/{_id}:
@@ -702,6 +749,83 @@ components:
702
749
  allowIntegrationWorkspaceCreation:
703
750
  type: boolean
704
751
  description: When true, the user can create integration workspaces.
752
+ ResourceGrant:
753
+ type: object
754
+ description: |-
755
+ Grants access to a resource (currently MCP servers only). A grant names
756
+ the resource, or applies as a wildcard across all resources of the type,
757
+ and lists the capabilities granted on it.
758
+ required:
759
+ - resourceType
760
+ - capabilities
761
+ properties:
762
+ resourceType:
763
+ type: string
764
+ enum:
765
+ - mcpServer
766
+ x-enumDescriptions:
767
+ mcpServer: Grants access to an MCP server and its tools, APIs, or permission sets.
768
+ description: Resource type this grant applies to.
769
+ _resourceId:
770
+ type:
771
+ - string
772
+ - 'null'
773
+ format: objectId
774
+ x-celigo-refModel: mcpservers
775
+ examples:
776
+ - 6a1b2c3d4e5f6a7b8c9d0e1f
777
+ description: |-
778
+ MCP server this grant applies to. Omit or set to null for a wildcard
779
+ grant across all MCP servers in the account.
780
+ capabilities:
781
+ type: array
782
+ minItems: 1
783
+ description: |-
784
+ Capabilities granted on the target resource. Each `:all` capability
785
+ covers only its own kind — grant `tool:all`, `api:all`, `prompt:all`,
786
+ and `resource:all` together to open every item on a server.
787
+ items:
788
+ type: string
789
+ pattern: ^(?:tool|api|prompt|resource):(?:[a-fA-F0-9]{24}|all)$|^pset:[a-fA-F0-9]{24}$
790
+ description: |-
791
+ Capability string for an `mcpServer` grant. `tool:`, `api:`,
792
+ `prompt:`, and `resource:` take `all` or a 24-hex id on the target
793
+ server — a `tools[]._toolId` or upstream tool row `_id`, an
794
+ `apis[]._apiId`, a `prompts[]._id`, or a `resources[]._id`; `pset:`
795
+ takes a `permissionSets[]._id`. Grant prompts with `prompt:<_id>`:
796
+ older grants written as `tool:<prompt _id>` still validate but are
797
+ not reported by effective access. Any other shape is rejected with
798
+ 400 `validation_failed` ("Invalid capability"), and an id that is
799
+ not attached to the target server with 400 `validation_failed`
800
+ naming the missing item.
801
+ examples:
802
+ - tool:all
803
+ - prompt:6b2c3d4e5f6a7b8c9d0e1f2a
804
+ - pset:6c3d4e5f6a7b8c9d0e1f2a3b
805
+ GroupMembership:
806
+ type: object
807
+ description: An end user's membership in a group, with the source that created it.
808
+ properties:
809
+ _groupId:
810
+ type: string
811
+ format: objectId
812
+ x-celigo-refModel: groups
813
+ examples:
814
+ - 68a1b2c3d4e5f6a7b8c9d0e1
815
+ description: Group the end user belongs to.
816
+ source:
817
+ type: string
818
+ enum:
819
+ - manual
820
+ - idp
821
+ x-enumDescriptions:
822
+ manual: Membership was added by an owner or administrator (invite or group members API)
823
+ idp: Membership is synced from the identity provider — group claims at sign-in or a SCIM group push
824
+ description: |-
825
+ How the membership was created. IdP-synced memberships cannot be
826
+ removed through the group members API — change the person's group in
827
+ the identity provider instead (its group mapping, or the SCIM group
828
+ assignment, whichever created the membership).
705
829
  ResourceResponse:
706
830
  type: object
707
831
  description: Response
@@ -764,9 +888,15 @@ components:
764
888
  type: object
765
889
  required:
766
890
  - _id
767
- - integrationAccessLevel
768
891
  - createdAt
769
892
  - lastModified
893
+ if:
894
+ properties:
895
+ userType:
896
+ const: workspace
897
+ then:
898
+ required:
899
+ - integrationAccessLevel
770
900
  description: |-
771
901
  A user's access record in the account. Each user who has been invited
772
902
  (or shared access), or whom the identity provider provisioned through
@@ -817,14 +947,18 @@ components:
817
947
  readOnly: true
818
948
  enum:
819
949
  - workspace
950
+ - end-user
820
951
  description: |-
821
952
  Discriminates workspace users from end users on the underlying
822
- access-record model. Reads on this API return only `workspace`
823
- records — end users are managed through the End Users API, which
824
- shares the update and disable routes. Sending it back on update
825
- is rejected.
953
+ access-record model. An unfiltered list and `GET /v1/ashares/{_id}`
954
+ return `workspace` records only; `end-user` records appear in the
955
+ list only when it is filtered with `userType=end-user` (or
956
+ `workspace,end-user`) and are otherwise managed through the End
957
+ Users API, which shares the update and disable routes. Sending it
958
+ back on update is rejected.
826
959
  x-enumDescriptions:
827
960
  workspace: A workspace (team member) access record.
961
+ end-user: An MCP-only end-user access record — carries `resourceGrants` (and group fields) in place of `accessLevel` and `integrationAccessLevel`.
828
962
  lastSignIn:
829
963
  type: string
830
964
  format: date-time
@@ -868,19 +1002,24 @@ components:
868
1002
  type: string
869
1003
  readOnly: true
870
1004
  enum:
1005
+ - invite
1006
+ - jit
871
1007
  - scim
872
1008
  x-enumDescriptions:
1009
+ invite: End-user record created through an explicit invite (or by migration from a workspace user); never present on a workspace record
1010
+ jit: End-user record provisioned just-in-time on first sign-in through an external IdP
873
1011
  scim: Created, or adopted from an existing invitation, by the identity provider through SCIM
874
1012
  description: |-
875
- Present only on workspace users the identity provider manages through
876
- SCIM; every other workspace record omits the field, so an invited
877
- user has no value here rather than `invite`. The identity provider
878
- owns a SCIM-managed user's account-wide access level and active
879
- state: `PUT /v1/ashares/{_id}` still accepts a new `accessLevel` and
880
- `PUT /v1/ashares/{_userId}/disable` still toggles `disabled`, but the
881
- identity provider's next push overwrites both — change them in the
882
- IdP. SCIM never sets `integrationAccessLevel`, so integration-level
883
- grants made here stay.
1013
+ On workspace records, present only when the identity provider
1014
+ manages the user through SCIM; every other workspace record omits
1015
+ the field, so an invited workspace user has no value here rather
1016
+ than `invite`. End-user records (`userType=end-user`) always carry
1017
+ it. The identity provider owns a SCIM-managed user's account-wide
1018
+ access level and active state: `PUT /v1/ashares/{_id}` still accepts
1019
+ a new `accessLevel` and `PUT /v1/ashares/{_userId}/disable` still
1020
+ toggles `disabled`, but the identity provider's next push overwrites
1021
+ both — change them in the IdP. SCIM never sets
1022
+ `integrationAccessLevel`, so integration-level grants made here stay.
884
1023
  externalId:
885
1024
  type: string
886
1025
  readOnly: true
@@ -901,6 +1040,37 @@ components:
901
1040
  description: |-
902
1041
  SSO client whose SCIM configuration provisioned this record. Present
903
1042
  only when `provisionedBy` is `scim`.
1043
+ resourceGrants:
1044
+ type: array
1045
+ readOnly: true
1046
+ description: |-
1047
+ Present only on end-user records (`userType=end-user`): the MCP
1048
+ server grants held directly by the end user, in addition to any
1049
+ group- or role-derived access. Replace them with the End Users
1050
+ body on `PUT /v1/ashares/{_ashareId}`.
1051
+ items:
1052
+ $ref: '#/components/schemas/ResourceGrant'
1053
+ groupMemberships:
1054
+ type: array
1055
+ readOnly: true
1056
+ description: |-
1057
+ Present only on end-user records that belong to at least one
1058
+ group. Each entry names the group and whether an administrator or
1059
+ the identity provider created the membership.
1060
+ items:
1061
+ $ref: '#/components/schemas/GroupMembership'
1062
+ _groupIds:
1063
+ type: array
1064
+ readOnly: true
1065
+ description: |-
1066
+ Group ids from `groupMemberships`, flattened for quick filtering.
1067
+ Present exactly when `groupMemberships` is.
1068
+ items:
1069
+ type: string
1070
+ format: objectId
1071
+ x-celigo-refModel: groups
1072
+ examples:
1073
+ - 6abf4dd8fa3e52974f9f1d7a
904
1074
  sharedWithUser:
905
1075
  type: object
906
1076
  readOnly: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.95",
3
+ "version": "0.2.96",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "cb3fa5ae",
4
+ "iasCommit": "545ed6c7",
5
5
  "generatedAt": "2026-10-12"
6
6
  },
7
7
  "roots": {