@celigo/api-specs 0.2.165 → 0.2.167

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/user.yml CHANGED
@@ -30,7 +30,8 @@ tags:
30
30
 
31
31
  The account owner is not included — only invited users appear, plus any
32
32
  the identity provider provisioned through SCIM (`provisionedBy: scim`).
33
- Users can be disabled (reversible) or permanently removed.
33
+ Users can be disabled (reversible) or permanently removed. The license
34
+ sets no user or seat limit.
34
35
 
35
36
  ## User schema
36
37
 
@@ -223,14 +224,20 @@ paths:
223
224
  description: |-
224
225
  Replaces a workspace user's access settings. The body must grant access
225
226
  through `accessLevel` or a non-empty `integrationAccessLevel`, and
226
- `integrationAccessLevel` and `accountMFARequired` are cleared when
227
- omitted — send every value to keep. `accountSSORequired` is the
228
- exception: it changes only when the body carries it, and is ignored
229
- while the account enforces SSO for every user. `disabled` is not
230
- applied here; toggle it with `PUT /v1/ashares/{_userId}/disable`.
231
- Read-only fields echoed from the GET response are ignored, except
232
- `userType`, which is rejected. The user's email cannot be changed after
233
- invite. Callable from the production environment only.
227
+ `accessLevel`, `integrationAccessLevel` and `accountMFARequired` are
228
+ cleared when omitted — send every value to keep. The other settings
229
+ change only when the body carries them and keep their stored values
230
+ when omitted: `accountSSORequired` (also ignored while the account
231
+ enforces SSO for every user), `allowToEditRetryData`,
232
+ `allowIntegrationWorkspaceCreation` (both applied only to monitor and
233
+ integration-level users, and only when the owner or an administrator
234
+ sends them), `mcpServerAccessLevel` (send `[]` to clear it) and
235
+ `allMcpServerAccess`. `allowAccessToAPIM` isn't changed here at all.
236
+ `disabled` is not applied here; toggle it with
237
+ `PUT /v1/ashares/{_userId}/disable`. Read-only fields echoed from the
238
+ GET response are ignored, except `userType`, which is rejected. The
239
+ user's email cannot be changed after invite. A production
240
+ administrator's record can be changed only from production.
234
241
 
235
242
  End-user access records share this route with a different body — see
236
243
  the End Users API.
@@ -297,17 +304,7 @@ paths:
297
304
  '401':
298
305
  $ref: '#/components/responses/401-unauthorized'
299
306
  '403':
300
- description: The call was made from a sandbox environment.
301
- content:
302
- application/json:
303
- schema:
304
- $ref: '#/components/schemas/Error'
305
- examples:
306
- sandboxEnvironment:
307
- value:
308
- errors:
309
- - code: access_restricted
310
- message: This request can only be made through the production environment.
307
+ $ref: '#/components/responses/403-production-administrator'
311
308
  '404':
312
309
  $ref: '#/components/responses/404-not-found'
313
310
  '422':
@@ -346,6 +343,8 @@ paths:
346
343
  description: User removed from the account.
347
344
  '401':
348
345
  $ref: '#/components/responses/401-unauthorized'
346
+ '403':
347
+ $ref: '#/components/responses/403-production-administrator'
349
348
  '404':
350
349
  $ref: '#/components/responses/404-not-found'
351
350
  /v1/ashares/{_userId}/disable:
@@ -358,9 +357,14 @@ paths:
358
357
  description: |-
359
358
  Toggles the `disabled` flag on a user's access record. Call again to
360
359
  re-enable — there is no separate `/enable` path, and this is the only
361
- way to change `disabled` (the update operation does not apply it). A
362
- pending invitation cannot be toggled until the invited user accepts or
363
- declines it.
360
+ way to change `disabled` (the update operation does not apply it). Only
361
+ an accepted workspace invitation toggles: a pending one is refused with
362
+ 400, and a declined one (`dismissed: true`) answers 204 without changing
363
+ anything — delete it, or re-send it with
364
+ `PUT /v1/ashares/{_id}/reinvite`. The
365
+ user is emailed on every toggle. Disabling a production administrator
366
+ also disables their records in the other environments, and only
367
+ production can toggle one.
364
368
 
365
369
  End-user access records share this route — see the End Users API.
366
370
  parameters:
@@ -386,7 +390,7 @@ paths:
386
390
  value: {}
387
391
  responses:
388
392
  '204':
389
- description: User access toggled.
393
+ description: User access toggled, or the invitation was declined and nothing changed.
390
394
  '400':
391
395
  description: The invitation is still pending.
392
396
  content:
@@ -401,6 +405,8 @@ paths:
401
405
  message: You can't disable this invitation without it being accepted or dismissed by the invited user.
402
406
  '401':
403
407
  $ref: '#/components/responses/401-unauthorized'
408
+ '403':
409
+ $ref: '#/components/responses/403-production-administrator'
404
410
  '404':
405
411
  description: User not found.
406
412
  content:
@@ -421,6 +427,11 @@ paths:
421
427
  Re-sends the invitation to a user who previously dismissed it. Only
422
428
  works on users with `dismissed: true` in the user record. After
423
429
  reinviting, the user returns to a pending state awaiting acceptance.
430
+
431
+ There is no re-send for an invitation that is still pending: this
432
+ route refuses it, and inviting the address again answers
433
+ `invalid_invite`. Delete the pending record and invite the address
434
+ again with the same access settings.
424
435
  operationId: reinviteUser
425
436
  tags:
426
437
  - Users
@@ -458,9 +469,11 @@ paths:
458
469
  value:
459
470
  errors:
460
471
  - code: invalid_request
461
- message: User has not dismissed the invite.
472
+ message: You can reinvite a user only if he/she has dismissed you previous invite.
462
473
  '401':
463
474
  $ref: '#/components/responses/401-unauthorized'
475
+ '403':
476
+ $ref: '#/components/responses/403-production-administrator'
464
477
  '404':
465
478
  $ref: '#/components/responses/404-not-found'
466
479
  /v1/ashares/{_id}/accept:
@@ -559,6 +572,16 @@ paths:
559
572
  Invite one or more users by email. Each entry in the response array
560
573
  corresponds to the email at the same index — check `statusCode` per
561
574
  entry for partial failures.
575
+
576
+ An address that already has an access record in this environment —
577
+ accepted, still pending, or declined — fails in its entry with 400
578
+ `invalid_invite`: nothing changes and no email is sent. Change an
579
+ existing user with `PUT /v1/ashares/{_id}`, and re-send a declined
580
+ invitation with `PUT /v1/ashares/{_id}/reinvite`. A pending
581
+ invitation has no re-send: delete it and invite the address again.
582
+
583
+ Each call takes at most five addresses; the account itself has no user
584
+ limit.
562
585
  operationId: inviteUsers
563
586
  tags:
564
587
  - Users
@@ -598,11 +621,27 @@ paths:
598
621
  statusCode:
599
622
  type: integer
600
623
  description: |-
601
- Per-entry result code. `201` on success, `400` if
602
- the user already has access (use `PUT /v1/ashares/{_id}`
603
- to update permissions instead).
624
+ Per-entry result code. `201` on success; `400`
625
+ (`invalid_invite`) if the address already has an access
626
+ record in this environment. For an accepted user, change
627
+ access with `PUT /v1/ashares/{_id}`; re-send a declined
628
+ invitation with `PUT /v1/ashares/{_id}/reinvite`; a
629
+ pending invitation can't be re-sent (delete it and invite
630
+ again).
604
631
  doc:
605
632
  $ref: '#/components/schemas/User'
633
+ errors:
634
+ type: array
635
+ description: Why this address failed. Present instead of `doc` when `statusCode` isn't `201`.
636
+ items:
637
+ type: object
638
+ properties:
639
+ code:
640
+ type: string
641
+ description: Machine-readable error code, such as `invalid_invite`.
642
+ message:
643
+ type: string
644
+ description: Human-readable description of the error.
606
645
  examples:
607
646
  default:
608
647
  value:
@@ -630,10 +669,49 @@ paths:
630
669
  sharedWithUser:
631
670
  _id: 6a02b1859a09438890230aab
632
671
  email: user2@example.com
672
+ alreadyInvited:
673
+ summary: The second address already has a (pending) access record
674
+ value:
675
+ - statusCode: 201
676
+ doc:
677
+ _id: 6a02b1869a09438890230ae2
678
+ accessLevel: monitor
679
+ integrationAccessLevel: []
680
+ lastModified: '2026-05-12T04:50:14.342Z'
681
+ createdAt: '2026-05-12T04:50:14.330Z'
682
+ createdVia: existing_account_invite
683
+ sharedWithUser:
684
+ _id: 6a02b1859a09438890230a9f
685
+ email: user1@example.com
686
+ - statusCode: 400
687
+ errors:
688
+ - code: invalid_invite
689
+ message: The user already has access to this environment. Please use the edit permissions option to update the permissions for the user.
633
690
  '400':
634
691
  $ref: '#/components/responses/400-bad-request'
635
692
  '401':
636
693
  $ref: '#/components/responses/401-unauthorized'
694
+ '403':
695
+ description: |-
696
+ `emails` is empty, holds more than five addresses, or repeats one; nothing is
697
+ invited. Also returned when the caller may not invite users.
698
+ content:
699
+ application/json:
700
+ schema:
701
+ $ref: '#/components/schemas/Error'
702
+ examples:
703
+ tooMany:
704
+ summary: More than five addresses
705
+ value:
706
+ errors:
707
+ - code: limit_exceeded
708
+ message: Number of invites in the request exceeds maximum allowed limit 5.
709
+ duplicate:
710
+ summary: An address listed twice
711
+ value:
712
+ errors:
713
+ - code: duplicate_emails
714
+ message: Duplicate emails found in the request.
637
715
  components:
638
716
  securitySchemes:
639
717
  bearerAuth:
@@ -659,9 +737,11 @@ components:
659
737
 
660
738
  If per-integration level permissions are needed, omit `accessLevel` and instead populate `integrationAccessLevel`.
661
739
 
662
- On update (`PUT /v1/ashares/{_id}`) the body replaces the access settings: `integrationAccessLevel`
663
- and `accountMFARequired` are cleared when omitted, so resend them to keep them. `accountSSORequired`
664
- is different — it changes only when the body carries it.
740
+ On update (`PUT /v1/ashares/{_id}`) the body replaces the access settings: `accessLevel`,
741
+ `integrationAccessLevel` and `accountMFARequired` are cleared when omitted, so resend them to keep
742
+ them. `accountSSORequired`, `allowToEditRetryData`, `allowIntegrationWorkspaceCreation`,
743
+ `mcpServerAccessLevel` and `allMcpServerAccess` are different — each changes only when the body
744
+ carries it. An update never writes `allowAccessToAPIM`.
665
745
 
666
746
  `none` is written by SCIM provisioning for a user who has no account-wide grant; do not send it
667
747
  yourself — omit `accessLevel` and use `integrationAccessLevel` for integration-only access.
@@ -673,9 +753,10 @@ components:
673
753
  created later, so pairing it with `integrationAccessLevel` widens access rather than
674
754
  limiting it.
675
755
  - |-
676
- On PUT, "omit" means "clear" for integrationAccessLevel and accountMFARequired — GET the
677
- record first and resend both with the new accessLevel. accountSSORequired keeps its stored
678
- value when omitted.
756
+ On PUT, "omit" means "clear" for accessLevel, integrationAccessLevel and accountMFARequired —
757
+ GET the record first and resend all three. accountSSORequired, allowToEditRetryData,
758
+ allowIntegrationWorkspaceCreation, mcpServerAccessLevel and allMcpServerAccess keep their
759
+ stored values when omitted, and allowAccessToAPIM is never written by a PUT.
679
760
  enum:
680
761
  - monitor
681
762
  - manage
@@ -725,6 +806,14 @@ components:
725
806
  leaves the stored value unchanged. While the account enforces SSO for every
726
807
  user, the value sent is ignored and the stored value is kept until that
727
808
  enforcement is turned off.
809
+
810
+ While SSO applies to the user (here or account-wide) and the account's SSO
811
+ provider is enabled, requests made through the user's access record — signed in
812
+ to the UI, or with a personal access token, which acts through its creator's
813
+ record — are refused with 403 `access_restricted` ("You are required to sign in
814
+ via SSO configured for the account to access it.") when the user's login isn't
815
+ linked to that provider. Account API tokens don't act through a user's access
816
+ record, so SSO settings don't affect them.
728
817
  examples:
729
818
  - false
730
819
  x-celigo-ai-guidance:
@@ -740,7 +829,11 @@ components:
740
829
  - The invite body takes it too, so require MFA in the invite itself rather than with a follow-up update, which must resend `integrationAccessLevel` and this flag or clears them.
741
830
  allowAccessToAPIM:
742
831
  type: boolean
743
- description: When true, the user can access API Management (APIM) features for this account.
832
+ readOnly: true
833
+ description: |-
834
+ When true, the user has been set up in API Management (APIM) for this account. The platform
835
+ sets it the first time an administrator opens API Management; `PUT /v1/ashares/{_id}` never
836
+ writes it.
744
837
  allowToEditRetryData:
745
838
  type: boolean
746
839
  description: |-
@@ -753,9 +846,15 @@ components:
753
846
  This setting only applies when:
754
847
  - `accessLevel` is `monitor`, or
755
848
  - an entry in `integrationAccessLevel` grants `monitor` access for a specific integration.
849
+
850
+ On update it changes only when the body carries it, only for such a user, and only when the
851
+ owner or an administrator sends it; omitted, the stored value is kept.
756
852
  allowIntegrationWorkspaceCreation:
757
853
  type: boolean
758
- description: When true, the user can create integration workspaces.
854
+ description: |-
855
+ When true, a monitor or integration-level user can create integration workspaces, which
856
+ includes installing templates. Written on update only when the body carries it, by the
857
+ owner or an administrator; omitted, the stored value is kept.
759
858
  ResourceGrant:
760
859
  type: object
761
860
  description: |-
@@ -1190,7 +1289,13 @@ components:
1190
1289
  description: Single email address to invite (use with `POST /v1/invite`).
1191
1290
  emails:
1192
1291
  type: array
1193
- description: Email addresses to invite (use with `POST /v1/invite/multiple`).
1292
+ minItems: 1
1293
+ maxItems: 5
1294
+ uniqueItems: true
1295
+ description: |-
1296
+ Email addresses to invite (use with `POST /v1/invite/multiple`): one to five
1297
+ distinct addresses. An empty list, more than five, or a repeated address refuses
1298
+ the whole request with 403 (`no_emails`, `limit_exceeded`, `duplicate_emails`).
1194
1299
  items:
1195
1300
  type: string
1196
1301
  format: email
@@ -1244,6 +1349,21 @@ components:
1244
1349
  errors:
1245
1350
  - code: not_found
1246
1351
  message: The requested resource was not found.
1352
+ 403-production-administrator:
1353
+ description: |-
1354
+ The user is an administrator of the production environment, whose access record is
1355
+ repeated in every environment, and the request came from a non-production environment.
1356
+ Change, disable, re-invite or remove a production administrator from production.
1357
+ content:
1358
+ application/json:
1359
+ schema:
1360
+ $ref: '#/components/schemas/Error'
1361
+ examples:
1362
+ productionAdministrator:
1363
+ value:
1364
+ errors:
1365
+ - code: access_restricted
1366
+ message: This request can only be made through the production environment.
1247
1367
  400-bad-request:
1248
1368
  description: |
1249
1369
  Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.165",
3
+ "version": "0.2.167",
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": "ab4f8f83",
4
+ "iasCommit": "560182fc",
5
5
  "generatedAt": "2026-10-22"
6
6
  },
7
7
  "roots": {