@celigo/api-specs 0.2.70 → 0.2.71

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/api.yml CHANGED
@@ -144,7 +144,9 @@ paths:
144
144
  description: |-
145
145
  Creates a new API. For `script` mode, include `script._scriptId` and `script.function` (the
146
146
  server also copies these to the top level in the response). For `builder` mode,
147
- `builder.request` is required (at minimum `relativeURI` and `method`).
147
+ `builder.request` can be added later — an API created without it has no route until
148
+ `relativeURI` and `method` are set — but when it is present it must carry both, or the
149
+ request fails with 422 `invalid_api_builder_request`.
148
150
 
149
151
  Builder-mode APIs are created with `logging: {"mode": "basic"}` when the account license
150
152
  has logging enabled -- the request body cannot override this (`logging` is ignored on POST
@@ -666,7 +668,13 @@ paths:
666
668
  summary: Update the grouping for one or more APIs
667
669
  description: |-
668
670
  Assigns or removes an API grouping for the specified API resources. Pass
669
- `_apiGroupingId: null` to ungroup. Nonexistent API IDs are silently accepted.
671
+ `_apiGroupingId: null` or omit it to ungroup. Nonexistent API IDs are silently accepted.
672
+
673
+ Every API in `_apiIds` must belong to the same integration, and the grouping must be
674
+ one of that integration's `apiGroupings`. Each API is re-saved through full validation,
675
+ so an API that cannot be saved as it stands (for example a builder API whose response
676
+ router is not configured yet) fails the request with 400 `apigrouping_update_error`;
677
+ regroup such an API with a full `PUT /v1/apis/{_id}` instead.
670
678
  requestBody:
671
679
  required: true
672
680
  content:
@@ -704,7 +712,34 @@ paths:
704
712
  '204':
705
713
  description: API grouping updated successfully (no body returned).
706
714
  '400':
707
- $ref: '#/components/responses/400-bad-request'
715
+ description: |-
716
+ The request was rejected: the APIs span more than one integration
717
+ (`invalid_request`), or one API could not be re-saved with the new grouping
718
+ (`apigrouping_update_error` — the grouping belongs to another integration, or the
719
+ API fails its own validation).
720
+ content:
721
+ application/json:
722
+ schema:
723
+ $ref: '#/components/schemas/Error'
724
+ examples:
725
+ differentIntegrations:
726
+ summary: APIs belong to different integrations
727
+ value:
728
+ errors:
729
+ - code: invalid_request
730
+ message: Unable to update apis for apigrouping, since apis belongs to different integrations.
731
+ groupingNotInIntegration:
732
+ summary: Grouping belongs to another integration
733
+ value:
734
+ errors:
735
+ - code: apigrouping_update_error
736
+ message: 'Failed to update api grouping for api: Get Customer. Error: API grouping does not belong to Integration: 6a429af50547257e3301246c.'
737
+ apiFailsValidation:
738
+ summary: API cannot be re-saved as it stands
739
+ value:
740
+ errors:
741
+ - code: apigrouping_update_error
742
+ message: 'Failed to update api grouping for api: Get Customer. Error: Response router id must be "apiRouter"..'
708
743
  '401':
709
744
  $ref: '#/components/responses/401-unauthorized'
710
745
  /v1/apis/{_id}/logs:
@@ -2119,7 +2154,8 @@ paths:
2119
2154
  combination of `version`, `method`, and `relativeURI` must be unique. Reusing all
2120
2155
  three returns a 422 `clone_api_already_exists`. Pass `_integrationId` to create the
2121
2156
  clone inside an integration — when omitted, the clone is created standalone rather
2122
- than inheriting the source API's integration.
2157
+ than inheriting the source API's integration. Add `_apiGroupingId` to file the clone
2158
+ under one of that integration's `apiGroupings`.
2123
2159
 
2124
2160
  Only **builder-type** APIs can be cloned — cloning any other API type returns a 400
2125
2161
  `clone_not_supported`.
@@ -2168,12 +2204,32 @@ paths:
2168
2204
  standalone — it does not inherit the source API's integration.
2169
2205
  examples:
2170
2206
  - 6a429af50547257e3301246c
2207
+ _apiGroupingId:
2208
+ type:
2209
+ - string
2210
+ - 'null'
2211
+ format: objectId
2212
+ description: |-
2213
+ Grouping inside the target integration that the clone is filed under; `null`
2214
+ or omitted leaves it ungrouped. Honored only together with `_integrationId` —
2215
+ sent without it, the clone is created standalone and the grouping is dropped
2216
+ silently. A grouping that belongs to a different integration fails the clone
2217
+ with 422 `apigrouping_not_belong` and nothing is created.
2218
+ examples:
2219
+ - 60a1b2c3d4e5f60012345678
2171
2220
  examples:
2172
2221
  default:
2173
2222
  summary: Clone to a new version
2174
2223
  value:
2175
2224
  version: v2
2176
2225
  name: IDP (v2)
2226
+ intoGroup:
2227
+ summary: Clone into an integration's API grouping
2228
+ value:
2229
+ version: v2
2230
+ name: IDP (v2)
2231
+ _integrationId: 6a429af50547257e3301246c
2232
+ _apiGroupingId: 60a1b2c3d4e5f60012345678
2177
2233
  responses:
2178
2234
  '201':
2179
2235
  description: |-
@@ -2234,8 +2290,9 @@ paths:
2234
2290
  $ref: '#/components/responses/404-not-found'
2235
2291
  '422':
2236
2292
  description: |-
2237
- An API with the same `version`, `method`, and `relativeURI` already exists. Clone
2238
- with a different `version` (or change the method/URI) to create a distinct API.
2293
+ An API with the same `version`, `method`, and `relativeURI` already exists — clone
2294
+ with a different `version` (or change the method/URI) to create a distinct API — or
2295
+ `_apiGroupingId` is not one of the target integration's `apiGroupings`.
2239
2296
  content:
2240
2297
  application/json:
2241
2298
  schema:
@@ -2246,6 +2303,13 @@ paths:
2246
2303
  errors:
2247
2304
  - code: clone_api_already_exists
2248
2305
  message: The clone API already exists with the same version, method and relative uri.
2306
+ groupingNotInIntegration:
2307
+ summary: Grouping belongs to a different integration
2308
+ value:
2309
+ errors:
2310
+ - field: _apiGroupingId
2311
+ code: apigrouping_not_belong
2312
+ message: 'Failed to create Api for _id "68ae4264b5f755d2dd3796b4" due to: API grouping does not belong to Integration: 6a429af50547257e3301246c'
2249
2313
  /v1/apis/{_id}/clone/validate:
2250
2314
  post:
2251
2315
  x-internal: false
@@ -3332,6 +3396,15 @@ components:
3332
3396
  API. On reads the field is omitted when unset, never `null`.
3333
3397
  examples:
3334
3398
  - 60a1b2c3d4e5f60012345678
3399
+ x-celigo-ai-guidance:
3400
+ - |-
3401
+ The id must be one of the `apiGroupings` of the integration named by _integrationId
3402
+ in the same write; any other id fails with 422 `apigrouping_not_belong` — including
3403
+ a PUT that changes _integrationId but keeps the previous grouping. When moving an
3404
+ API, send the target integration's grouping or `null` (Unassigned).
3405
+ - |-
3406
+ `PATCH /v1/apis/{_id}` rejects `/_apiGroupingId` (422, not a whitelisted property);
3407
+ regroup with a full PUT or with `PUT /v1/apis/updateApiGrouping`.
3335
3408
  description:
3336
3409
  type: string
3337
3410
  description: Optional description of the API's purpose.
@@ -3678,11 +3751,13 @@ components:
3678
3751
  description: |-
3679
3752
  Request body for creating or updating an API.
3680
3753
 
3681
- For builder-mode APIs, populate the `builder` object (at minimum
3682
- `builder.request.relativeURI` and `builder.request.method`); the `script`
3683
- field is ignored. For script-mode APIs, populate `script` with `_scriptId`
3684
- and `function`; the `builder` field is ignored. On PUT, send the complete
3685
- object — omitted fields revert to defaults.
3754
+ For builder-mode APIs, populate the `builder` object; the `script` field is
3755
+ ignored. `builder.request` can be omitted on create — the API has no route
3756
+ until `relativeURI` and `method` are set — but when it is present it must
3757
+ carry both, or the write fails with 422 `invalid_api_builder_request`. For
3758
+ script-mode APIs, populate `script` with `_scriptId` and `function`; the
3759
+ `builder` field is ignored. On PUT, send the complete object — omitted
3760
+ fields revert to defaults.
3686
3761
 
3687
3762
  Set `type` explicitly to `builder` or `script`. The server infers `script`
3688
3763
  when `type` is omitted, but new APIs must declare it.
@@ -287,7 +287,9 @@ paths:
287
287
  | `/flowGroupings` | Flow grouping configuration |
288
288
  | `/apiGroupings` | API grouping configuration |
289
289
 
290
- All other paths are rejected with `422`.
290
+ All other paths are rejected with `422`. A successful patch returns no body, so the
291
+ server-assigned `_id` of a grouping added through `/flowGroupings` or `/apiGroupings`
292
+ is only available from a follow-up `GET`.
291
293
  operationId: patchIntegration
292
294
  tags:
293
295
  - Integrations
@@ -4088,7 +4090,19 @@ components:
4088
4090
 
4089
4091
  Used to group APIs into named sections with their own settings/settingsForm.
4090
4092
  Works identically to `flowGroupings` but for API resources. Create groupings here,
4091
- then assign APIs to them via `PUT /v1/apis/updateApiGrouping`.
4093
+ then assign APIs to them via `PUT /v1/apis/updateApiGrouping`. A grouping that still
4094
+ has member APIs survives being removed from this array — ungroup its APIs first.
4095
+ x-celigo-ai-guidance:
4096
+ - |-
4097
+ `Unassigned` is a reserved name (422 `invalid_apigrouping_name`) and names must be
4098
+ unique within the integration (422 `duplicate_field`).
4099
+ - |-
4100
+ Removing a grouping that still has member APIs returns success but leaves the
4101
+ grouping in place; move those APIs with `PUT /v1/apis/updateApiGrouping` first.
4102
+ - |-
4103
+ `POST` and `PUT` answer with the saved integration, so a new grouping's `_id` is
4104
+ in the response; `PATCH` answers `204` with no body, so after a patch the `_id`
4105
+ comes from a follow-up `GET`.
4092
4106
  items:
4093
4107
  type: object
4094
4108
  additionalProperties: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.70",
3
+ "version": "0.2.71",
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": "d5da91d",
4
+ "iasCommit": "de043a7",
5
5
  "generatedAt": "2026-10-02"
6
6
  },
7
7
  "roots": {