@celigo/api-specs 0.2.25 → 0.2.27

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.
@@ -18,6 +18,7 @@ info:
18
18
  - Supports tool overrides for customizing connections, exports, imports, and routing per-server
19
19
  - Exposes prompts via `prompts/list` and `prompts/get` with Handlebars-style argument substitution
20
20
  - Carries **permission sets** ("Capability Sets" in the UI) — named bundles of its tools and APIs granted to end users via `pset:<_id>` capability strings on end-user, group, and role resource grants
21
+ - Carries optional **traffic limits** (`policies[]`) — a server-level rate limit, a per-user rate limit for OAuth end users, and a usage quota — enforced before a tool runs; a rejected call gets HTTP 429 with `Retry-After`
21
22
  servers:
22
23
  - url: https://api.integrator.io
23
24
  description: Production (US / default region)
@@ -43,7 +44,10 @@ tags:
43
44
  and routing. Permission sets ("Capability Sets" in the UI) bundle a
44
45
  server's tools and APIs into named grants for end users, and the
45
46
  server-scoped access endpoints bulk-assign capabilities to end users
46
- and groups and report compiled effective access.
47
+ and groups and report compiled effective access. Optional traffic
48
+ limits (`policies`) — a server-level rate limit, a per-user rate
49
+ limit, and a usage quota — reject calls over the limit with HTTP 429
50
+ and `Retry-After` before any tool runs.
47
51
 
48
52
  ## MCP server schema
49
53
 
@@ -269,10 +273,11 @@ paths:
269
273
  summary: Update an MCP server
270
274
  description: |-
271
275
  Full replacement of an MCP server's configuration. Omitted arrays
272
- (`tools`, `apis`, `prompts`, `resources`, `permissionSets`) are cleared,
273
- so include the complete arrays — clearing `permissionSets` this way also
274
- rewrites the `pset:` grants that referenced the erased sets. `relativeURI`
275
- can be changed but must remain unique per account.
276
+ (`tools`, `apis`, `prompts`, `resources`, `permissionSets`, `policies`)
277
+ are cleared, so include the complete arrays — clearing `permissionSets`
278
+ this way also rewrites the `pset:` grants that referenced the erased sets,
279
+ and clearing `policies` removes every traffic limit. `relativeURI` can be
280
+ changed but must remain unique per account.
276
281
  operationId: updateMcpServer
277
282
  tags:
278
283
  - MCP Servers
@@ -386,8 +391,14 @@ paths:
386
391
  summary: Patch an MCP server
387
392
  description: |-
388
393
  Partially updates an MCP server using a JSON Patch document (RFC 6902).
389
- Only `/name` and `/disabled` are whitelisted paths — all other paths
390
- are rejected with `not a whitelisted property`.
394
+ Only `/name`, `/disabled`, and `/policies` are whitelisted paths — all
395
+ other paths are rejected with `not a whitelisted property`. Under
396
+ `/policies`, `add`, `replace`, and `remove` work on the whole array,
397
+ `add` works at `/policies/-` or an index, and `replace` works at an index
398
+ or a sub-path such as `/policies/0/config/limit`; `remove` at an array
399
+ index is rejected with 422 `Remove at array index is not supported`. The
400
+ resulting array is validated as a whole, and an invalid policy rejects
401
+ the entire patch.
391
402
  operationId: patchMcpServer
392
403
  tags:
393
404
  - MCP Servers
@@ -421,6 +432,40 @@ paths:
421
432
  - op: replace
422
433
  path: /name
423
434
  value: Updated Server Name
435
+ set_traffic_limits:
436
+ summary: Set a server rate limit, a per-user rate limit, and a monthly quota
437
+ value:
438
+ - op: replace
439
+ path: /policies
440
+ value:
441
+ - type: rate-limit
442
+ name: Server-level rate limit
443
+ enabled: true
444
+ config:
445
+ limit: 600
446
+ periodTime: 1
447
+ periodTimeUnit: MINUTE
448
+ - type: rate-limit
449
+ name: Per-user rate limit
450
+ enabled: true
451
+ config:
452
+ limit: 60
453
+ periodTime: 1
454
+ periodTimeUnit: MINUTE
455
+ keyResolver: consumer
456
+ - type: quota
457
+ name: Monthly usage quota
458
+ enabled: true
459
+ config:
460
+ limit: 500000
461
+ periodTime: 1
462
+ periodTimeUnit: MONTH
463
+ remove_traffic_limits:
464
+ summary: Remove every traffic limit (unlimited)
465
+ value:
466
+ - op: replace
467
+ path: /policies
468
+ value: []
424
469
  responses:
425
470
  '204':
426
471
  description: Patch applied.
@@ -1724,6 +1769,217 @@ components:
1724
1769
  required:
1725
1770
  - name
1726
1771
  - accessLevel
1772
+ Policy:
1773
+ type: object
1774
+ description: |-
1775
+ One traffic limit the server enforces before a tool runs — shown under
1776
+ **Access > Governance** in the UI. A `rate-limit` caps calls per MINUTE,
1777
+ HOUR, or DAY with a continuously refilling allowance, either for the whole
1778
+ server (`keyResolver` `endpoint`) or separately for each OAuth end user
1779
+ (`keyResolver` `consumer`); a `quota` caps cumulative calls over a UTC
1780
+ calendar DAY, WEEK, or MONTH across every consumer. A call must pass every
1781
+ enabled policy. A rejected call is not executed and receives HTTP 429 with
1782
+ a `Retry-After` header (seconds until the allowance refills or the quota
1783
+ period resets), an `X-RateLimit-Limit` header, and a JSON-RPC error
1784
+ (code -32004) whose message names the policy: `Rate limit exceeded: <name>`
1785
+ or `Usage quota exceeded: <name>`.
1786
+ x-celigo-ai-guidance:
1787
+ - |-
1788
+ Configure one policy per kind — one server-level rate limit, one per-user
1789
+ rate limit (`keyResolver` `consumer`), one quota. The API does not reject a
1790
+ second policy of the same kind; both are then enforced against the same
1791
+ traffic, which makes the effective limit hard to reason about.
1792
+ - |-
1793
+ A `tools/call` counts against every enabled policy, even when the named tool
1794
+ does not exist; `initialize`, `tools/list`, `prompts/list`, and `resources/list`
1795
+ are never counted or rejected (all live-verified). Whether `prompts/get` and
1796
+ `resources/read` count has not been verified — do not assert either way.
1797
+ - |-
1798
+ Bearer API-token traffic is evaluated by `endpoint`-keyed rate limits and by
1799
+ quotas only; a `consumer`-keyed rate limit applies to OAuth end users, each
1800
+ with an independent allowance, and leaves API-token traffic untouched.
1801
+ - |-
1802
+ A rate limit keeps its allowance state when its `limit` is changed, so raising
1803
+ a limit right after it tripped admits nothing until tokens refill at the new
1804
+ rate. A quota counts every call the server accepted in the current UTC period,
1805
+ including calls made before the quota was configured — a quota below the
1806
+ period's current count rejects every call until the period resets.
1807
+ required:
1808
+ - type
1809
+ - name
1810
+ - config
1811
+ properties:
1812
+ type:
1813
+ type: string
1814
+ enum:
1815
+ - rate-limit
1816
+ - quota
1817
+ x-enumDescriptions:
1818
+ rate-limit: Caps calls per MINUTE, HOUR, or DAY with an allowance that refills continuously; server-wide, or per end user with keyResolver consumer
1819
+ quota: Caps cumulative calls over a UTC calendar DAY, WEEK, or MONTH for every consumer combined
1820
+ description: |-
1821
+ Kind of limit. Use rate-limit to protect downstream systems from bursts
1822
+ and, with `keyResolver` `consumer`, to keep one end user from consuming
1823
+ the whole server; use quota to cap total consumption for cost control.
1824
+ examples:
1825
+ - rate-limit
1826
+ name:
1827
+ type: string
1828
+ maxLength: 100
1829
+ description: |-
1830
+ Label for the limit, echoed verbatim in the 429 error message that
1831
+ rejected clients receive — name it the way consumers should read it.
1832
+ examples:
1833
+ - Server-level rate limit
1834
+ - Per-user rate limit
1835
+ - Monthly usage quota
1836
+ enabled:
1837
+ type: boolean
1838
+ default: true
1839
+ description: |-
1840
+ When true, the policy is enforced. Set to false to keep the
1841
+ configuration in place without enforcing it.
1842
+ examples:
1843
+ - true
1844
+ config:
1845
+ type: object
1846
+ additionalProperties: false
1847
+ description: |-
1848
+ Limit value and period. The maximum `limit` depends on the unit and
1849
+ equals the platform ceiling of 300 calls per second over one period.
1850
+ required:
1851
+ - limit
1852
+ - periodTime
1853
+ - periodTimeUnit
1854
+ properties:
1855
+ limit:
1856
+ type: integer
1857
+ minimum: 1
1858
+ description: |-
1859
+ Maximum number of counted calls in one period. Ceilings per unit:
1860
+ 18000 per MINUTE, 1080000 per HOUR, 25920000 per DAY, 181440000 per
1861
+ WEEK, 777600000 per MONTH — higher values are rejected with 422
1862
+ `policy_config_invalid`.
1863
+ examples:
1864
+ - 600
1865
+ periodTime:
1866
+ type: integer
1867
+ const: 1
1868
+ default: 1
1869
+ description: |-
1870
+ Number of `periodTimeUnit` units in one period. Only a single unit
1871
+ is supported; any other value is rejected with 422.
1872
+ examples:
1873
+ - 1
1874
+ periodTimeUnit:
1875
+ type: string
1876
+ enum:
1877
+ - MINUTE
1878
+ - HOUR
1879
+ - DAY
1880
+ - WEEK
1881
+ - MONTH
1882
+ x-enumDescriptions:
1883
+ MINUTE: One-minute period; rate limits only
1884
+ HOUR: One-hour period; rate limits only
1885
+ DAY: One calendar day (UTC) for quotas, or a one-day refilling allowance for rate limits
1886
+ WEEK: One calendar week (UTC); quotas only
1887
+ MONTH: One calendar month (UTC); quotas only
1888
+ description: |-
1889
+ Length of one period. Rate limits take MINUTE, HOUR, or DAY; quotas
1890
+ take DAY, WEEK, or MONTH — any other pairing, or a lowercase value,
1891
+ is rejected with 422 `policy_config_invalid`.
1892
+ examples:
1893
+ - MINUTE
1894
+ keyResolver:
1895
+ type: string
1896
+ enum:
1897
+ - endpoint
1898
+ - consumer
1899
+ default: endpoint
1900
+ x-enumDescriptions:
1901
+ endpoint: One shared allowance for the whole server across every consumer and authentication method
1902
+ consumer: A separate allowance for each OAuth end user; bearer API-token traffic is not evaluated by this policy
1903
+ description: |-
1904
+ Whose allowance the limit tracks. Omit it (or send endpoint) for a
1905
+ server-level limit and send consumer for a per-user rate limit;
1906
+ quotas accept endpoint only.
1907
+ examples:
1908
+ - endpoint
1909
+ if:
1910
+ properties:
1911
+ periodTimeUnit:
1912
+ const: MINUTE
1913
+ required:
1914
+ - periodTimeUnit
1915
+ then:
1916
+ properties:
1917
+ limit:
1918
+ maximum: 18000
1919
+ else:
1920
+ if:
1921
+ properties:
1922
+ periodTimeUnit:
1923
+ const: HOUR
1924
+ required:
1925
+ - periodTimeUnit
1926
+ then:
1927
+ properties:
1928
+ limit:
1929
+ maximum: 1080000
1930
+ else:
1931
+ if:
1932
+ properties:
1933
+ periodTimeUnit:
1934
+ const: DAY
1935
+ required:
1936
+ - periodTimeUnit
1937
+ then:
1938
+ properties:
1939
+ limit:
1940
+ maximum: 25920000
1941
+ else:
1942
+ if:
1943
+ properties:
1944
+ periodTimeUnit:
1945
+ const: WEEK
1946
+ required:
1947
+ - periodTimeUnit
1948
+ then:
1949
+ properties:
1950
+ limit:
1951
+ maximum: 181440000
1952
+ else:
1953
+ properties:
1954
+ limit:
1955
+ maximum: 777600000
1956
+ if:
1957
+ properties:
1958
+ type:
1959
+ const: rate-limit
1960
+ required:
1961
+ - type
1962
+ then:
1963
+ properties:
1964
+ config:
1965
+ properties:
1966
+ periodTimeUnit:
1967
+ enum:
1968
+ - MINUTE
1969
+ - HOUR
1970
+ - DAY
1971
+ else:
1972
+ properties:
1973
+ config:
1974
+ properties:
1975
+ periodTimeUnit:
1976
+ enum:
1977
+ - DAY
1978
+ - WEEK
1979
+ - MONTH
1980
+ keyResolver:
1981
+ enum:
1982
+ - endpoint
1727
1983
  OAuthConfig:
1728
1984
  type: object
1729
1985
  description: |-
@@ -1965,12 +2221,28 @@ components:
1965
2221
  `resources`, the field is not normalized to an empty array).
1966
2222
  x-celigo-ai-guidance:
1967
2223
  - |-
1968
- Not editable via PATCH (the whitelist covers only `/name` and
1969
- `/disabled`). To change permission sets safely, GET the server,
2224
+ Not editable via PATCH (the whitelist covers only `/name`,
2225
+ `/disabled`, and `/policies`). To change permission sets safely, GET the server,
1970
2226
  modify `permissionSets`, and PUT the complete document back with
1971
2227
  every set's `_id` intact.
1972
2228
  items:
1973
2229
  $ref: '#/components/schemas/PermissionSet'
2230
+ policies:
2231
+ type: array
2232
+ description: |-
2233
+ Traffic limits enforced on this server before a tool runs — a
2234
+ server-level rate limit, a per-user rate limit, and a usage quota, each
2235
+ optional and independent. An empty array (the default) means unlimited.
2236
+ Always returned; servers saved before traffic limits existed return an
2237
+ empty array. Omitting the field on PUT clears every limit — send the
2238
+ complete array back, or edit it with PATCH.
2239
+ x-celigo-ai-guidance:
2240
+ - |-
2241
+ Leave `policies` empty unless the user asks for a limit — that is today's
2242
+ default behavior. To change limits without touching the rest of the
2243
+ document, PATCH `replace /policies` with the complete array.
2244
+ items:
2245
+ $ref: '#/components/schemas/Policy'
1974
2246
  oauth:
1975
2247
  $ref: '#/components/schemas/OAuthConfig'
1976
2248
  ResourceResponse:
@@ -2065,9 +2337,9 @@ components:
2065
2337
  type: object
2066
2338
  description: |-
2067
2339
  Request body for creating or updating an MCP server. On PUT, include
2068
- the full `tools`, `apis`, and `resources` arrays because omitted arrays
2069
- are cleared. Use PATCH to update individual fields without affecting
2070
- these arrays.
2340
+ the full `tools`, `apis`, `prompts`, `resources`, `permissionSets`, and
2341
+ `policies` arrays because omitted arrays are cleared. Use PATCH to update individual
2342
+ fields without affecting these arrays.
2071
2343
  x-celigo-ai-guidance:
2072
2344
  - |-
2073
2345
  MCP servers expose Celigo tools, builder-mode APIs,
@@ -1396,12 +1396,22 @@ components:
1396
1396
  `preConfiguredFields` must include a `type` path (e.g. `ftp` or
1397
1397
  `as2`) and export/import must include `file.type` set to
1398
1398
  `filedefinition` -- these are validated when `published` is `true`.
1399
+
1400
+ `type`, `region`, and `model` must match the deployment's configured
1401
+ values exactly, including case. A value outside the list is not
1402
+ rejected with a validation error: the request never completes (no
1403
+ response is returned) and nothing is created or changed.
1399
1404
  x-celigo-ai-guidance:
1400
1405
  - |-
1401
1406
  Trading partner connectors define reusable templates for onboarding EDI trading partners.
1402
1407
  They specify which fields are pre-configured and which fields the user must
1403
1408
  provide for connections,
1404
1409
  exports, imports, and EDI profiles.
1410
+ - |-
1411
+ Send `type`, `region`, and `model` exactly as configured (`AS2`, not `as2`;
1412
+ `North America`; `Dropship`). An out-of-list value gets no response at all — the
1413
+ create or update never completes and nothing is saved — so a request that hangs
1414
+ on this endpoint means a categorization value is wrong, not that the platform is slow.
1405
1415
  - |-
1406
1416
  When `published` is true, the connector's `supportedBy` sections are validated
1407
1417
  to ensure all required fields are present. For example:
package/dist/user.yml CHANGED
@@ -125,7 +125,10 @@ paths:
125
125
  operationId: getUser
126
126
  tags:
127
127
  - Users
128
- description: Retrieve a single user's access record by its id.
128
+ description: |-
129
+ Retrieve a single user's access record by its id. Returns workspace
130
+ records only — an end-user access-record id is not found here; read
131
+ those from `GET /v1/endusers`.
129
132
  parameters:
130
133
  - name: _id
131
134
  in: path
@@ -173,10 +176,17 @@ paths:
173
176
  tags:
174
177
  - Users
175
178
  description: |-
176
- Update a user's access level, integration permissions, or account
177
- settings. The user's email cannot be changed after invite. To
178
- disable a user without deleting, use `PUT /v1/ashares/{_id}/disable`
179
- instead.
179
+ Replaces a workspace user's access settings. The body must grant access
180
+ through `accessLevel` or a non-empty `integrationAccessLevel`, and
181
+ `integrationAccessLevel`, `accountSSORequired`, and `accountMFARequired`
182
+ are cleared when omitted — send every value to keep. `disabled` is not
183
+ applied here; toggle it with `PUT /v1/ashares/{_userId}/disable`.
184
+ Read-only fields echoed from the GET response are ignored, except
185
+ `userType`, which is rejected. The user's email cannot be changed after
186
+ invite. Callable from the production environment only.
187
+
188
+ End-user access records share this route with a different body — see
189
+ the End Users API.
180
190
  parameters:
181
191
  - name: _id
182
192
  in: path
@@ -193,30 +203,81 @@ paths:
193
203
  $ref: '#/components/schemas/Request'
194
204
  examples:
195
205
  changeAccessLevel:
196
- summary: Change to administrator
206
+ summary: Change to administrator (resend the SSO/MFA settings — omitted ones are cleared)
197
207
  value:
198
208
  accessLevel: administrator
209
+ integrationAccessLevel: []
210
+ accountSSORequired: false
211
+ accountMFARequired: true
199
212
  integrationOnly:
200
- summary: Integration-only access
213
+ summary: Integration-only access (no accessLevel; resend the SSO/MFA settings)
201
214
  value:
202
215
  integrationAccessLevel:
203
216
  - _integrationId: 68f52162f00a35a1b26eaafb
204
217
  accessLevel: manage
205
218
  - _integrationId: 6842261335b64c0bcb308e4f
206
219
  accessLevel: monitor
207
- disableUser:
208
- summary: Re-enable a disabled user
220
+ accountSSORequired: false
221
+ accountMFARequired: true
222
+ keepSettings:
223
+ summary: Change access level, keeping every other setting
209
224
  value:
210
- disabled: false
225
+ accessLevel: monitor
226
+ integrationAccessLevel: []
227
+ accountSSORequired: false
228
+ accountMFARequired: true
229
+ allowToEditRetryData: true
211
230
  responses:
212
231
  '204':
213
232
  description: User updated.
214
233
  '400':
215
- $ref: '#/components/responses/400-bad-request'
234
+ description: The body grants no access, or echoes the read-only `userType`.
235
+ content:
236
+ application/json:
237
+ schema:
238
+ $ref: '#/components/schemas/Error'
239
+ examples:
240
+ noAccessGranted:
241
+ summary: Neither accessLevel nor integrationAccessLevel sent
242
+ value:
243
+ errors:
244
+ - code: invalid_request
245
+ message: To update the account access you need to either provide account level access or integration level access.
246
+ userTypeEchoed:
247
+ summary: Read-only userType sent back
248
+ value:
249
+ errors:
250
+ - code: validation_failed
251
+ message: userType is immutable after creation.
216
252
  '401':
217
253
  $ref: '#/components/responses/401-unauthorized'
254
+ '403':
255
+ description: The call was made from a sandbox environment.
256
+ content:
257
+ application/json:
258
+ schema:
259
+ $ref: '#/components/schemas/Error'
260
+ examples:
261
+ sandboxEnvironment:
262
+ value:
263
+ errors:
264
+ - code: access_restricted
265
+ message: This request can only be made through the production environment.
218
266
  '404':
219
267
  $ref: '#/components/responses/404-not-found'
268
+ '422':
269
+ description: '`integrationAccessLevel` is empty and no `accessLevel` was sent.'
270
+ content:
271
+ application/json:
272
+ schema:
273
+ $ref: '#/components/schemas/Error'
274
+ examples:
275
+ emptyIntegrationAccess:
276
+ value:
277
+ errors:
278
+ - code: missing_required_field
279
+ field: accessLevel
280
+ message: You need to provide user with either an account level access or integration level access.
220
281
  delete:
221
282
  x-internal: false
222
283
  summary: Delete a user
@@ -251,8 +312,12 @@ paths:
251
312
  summary: Toggle a user's account access (disable or re-enable)
252
313
  description: |-
253
314
  Toggles the `disabled` flag on a user's access record. Call again to
254
- re-enable — there is no separate `/enable` path. Only works on users
255
- with `accepted: true`.
315
+ re-enable — there is no separate `/enable` path, and this is the only
316
+ way to change `disabled` (the update operation does not apply it). A
317
+ pending invitation cannot be toggled until the invited user accepts or
318
+ declines it.
319
+
320
+ End-user access records share this route — see the End Users API.
256
321
  parameters:
257
322
  - name: _userId
258
323
  in: path
@@ -278,7 +343,17 @@ paths:
278
343
  '204':
279
344
  description: User access toggled.
280
345
  '400':
281
- $ref: '#/components/responses/400-bad-request'
346
+ description: The invitation is still pending.
347
+ content:
348
+ application/json:
349
+ schema:
350
+ $ref: '#/components/schemas/Error'
351
+ examples:
352
+ pendingInvitation:
353
+ value:
354
+ errors:
355
+ - code: invalid_request
356
+ message: You can't disable this invitation without it being accepted or dismissed by the invited user.
282
357
  '401':
283
358
  $ref: '#/components/responses/401-unauthorized'
284
359
  '404':
@@ -435,9 +510,6 @@ components:
435
510
  type: object
436
511
  description: Writable fields shared by the request and response schemas.
437
512
  properties:
438
- disabled:
439
- type: boolean
440
- description: Set to False to enable a disabled user, or True to maintain disabled
441
513
  accessLevel:
442
514
  type: string
443
515
  description: |-
@@ -452,8 +524,14 @@ components:
452
524
  `integrationAccessLevel` undefined/empty
453
525
 
454
526
  If per-integration level permissions are needed, omit `accessLevel` and instead populate `integrationAccessLevel`.
527
+
528
+ On update (`PUT /v1/ashares/{_id}`) the body replaces the access settings: `integrationAccessLevel`,
529
+ `accountSSORequired`, and `accountMFARequired` are cleared when omitted, so resend every value to keep.
455
530
  x-celigo-ai-guidance:
456
531
  - Choose the `accessLevel` value based on what the user should be able to do across the account.
532
+ - |-
533
+ On PUT, "omit" means "clear" for integrationAccessLevel, accountSSORequired, and
534
+ accountMFARequired — GET the record first and resend those three with the new accessLevel.
457
535
  enum:
458
536
  - monitor
459
537
  - manage
@@ -472,6 +550,8 @@ components:
472
550
  - If `accessLevel` is omitted, this creates **integration-only** access.
473
551
  - If `accessLevel` is `monitor`, this grants **elevated access** (typically `manage`) for specific integrations.
474
552
  - If `accessLevel` is `manage` or `administrator`, do not set `integrationAccessLevel`.
553
+
554
+ Cleared when omitted on update — send `[]` explicitly only when you mean no per-integration grants.
475
555
  items:
476
556
  type: object
477
557
  properties:
@@ -493,12 +573,16 @@ components:
493
573
  manage: Full access to edit the integration and its resources.
494
574
  accountSSORequired:
495
575
  type: boolean
496
- description: When true, SSO is required for this user in this account.
576
+ description: |-
577
+ When true, SSO is required for this user in this account. Cleared when
578
+ omitted on update — resend it with every `PUT /v1/ashares/{_id}`.
497
579
  x-celigo-ai-guidance:
498
580
  - Whether the invited user must use SSO to access this account.
499
581
  accountMFARequired:
500
582
  type: boolean
501
- description: When true, MFA is required for this user in this account.
583
+ description: |-
584
+ When true, MFA is required for this user in this account. Cleared when
585
+ omitted on update — resend it with every `PUT /v1/ashares/{_id}`.
502
586
  x-celigo-ai-guidance:
503
587
  - Whether the invited user must use MFA to access this account.
504
588
  allowAccessToAPIM:
@@ -601,6 +685,13 @@ components:
601
685
  type: boolean
602
686
  readOnly: true
603
687
  description: When true, the user has accepted the invitation to join the account.
688
+ disabled:
689
+ type: boolean
690
+ readOnly: true
691
+ description: |-
692
+ When true, the user's access to the account is suspended. Changed
693
+ only by `PUT /v1/ashares/{_userId}/disable` — a value sent on the
694
+ update operation is accepted but not applied.
604
695
  userType:
605
696
  type: string
606
697
  readOnly: true
@@ -608,8 +699,10 @@ components:
608
699
  - workspace
609
700
  description: |-
610
701
  Discriminates workspace users from end users on the underlying
611
- access-record model. This endpoint only returns `workspace`
612
- records — end users are managed through the End Users API.
702
+ access-record model. Reads on this API return only `workspace`
703
+ records — end users are managed through the End Users API, which
704
+ shares the update and disable routes. Sending it back on update
705
+ is rejected.
613
706
  x-enumDescriptions:
614
707
  workspace: A workspace (team member) access record.
615
708
  lastSignIn:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.25",
3
+ "version": "0.2.27",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [