@celigo/api-specs 0.2.200 → 0.2.202

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.
@@ -34,7 +34,9 @@ paths:
34
34
  `partUrls`, and `completeUrl` for larger files. Upload the bytes directly
35
35
  to those URLs — a single PUT must carry the
36
36
  `x-amz-server-side-encryption: AES256` header — then the item flips to
37
- active once S3 confirms it; no further API call is needed. Each URL's
37
+ active once S3 confirms it; no further API call is needed. If the
38
+ uploaded object is empty (0 bytes), the file is not activated: it is
39
+ deleted permanently, without passing through the recycle bin. Each URL's
38
40
  lifetime is in its `X-Amz-Expires` parameter; once every part already
39
41
  issued has been uploaded, a multipart upload fetches further part URLs by
40
42
  posting again with the item's `_id`, `uploadId`, and `issuedPartsCount`,
@@ -222,7 +224,12 @@ paths:
222
224
  downloadUrl:
223
225
  type: string
224
226
  format: uri
225
- description: Presigned S3 URL to GET the file's bytes from.
227
+ description: |-
228
+ Presigned S3 URL to GET the file's bytes from. The bytes are
229
+ served as an attachment named after the item: the
230
+ `Content-Disposition` header carries an ASCII `filename` in
231
+ which non-ASCII characters are replaced with `_`, plus
232
+ `filename*=UTF-8''` with the full name percent-encoded.
226
233
  examples:
227
234
  - https://integrator-file-storage.s3.us-west-2.amazonaws.com/file-storage/...
228
235
  expiresIn:
@@ -611,6 +618,17 @@ paths:
611
618
  description: Folder name.
612
619
  examples:
613
620
  - My Files
621
+ _integrationId:
622
+ type: string
623
+ format: objectId
624
+ x-celigo-refModel: integrations
625
+ description: |-
626
+ Integration whose system folder tree contains the listed
627
+ folder. Present only on the last entry (the listed folder
628
+ itself), and only when that folder is the integration's
629
+ root folder or inside it.
630
+ examples:
631
+ - 6ab1e7ab38d7733b4594d0d2
614
632
  examples:
615
633
  listMode:
616
634
  summary: List a folder's children
@@ -839,7 +857,10 @@ paths:
839
857
 
840
858
  Only files are looked up: a folder's id is treated as unknown, so it
841
859
  fails the request or comes back as a `notFound` entry. Read folder
842
- metadata from `GET /v1/storage/items`.
860
+ metadata from `GET /v1/storage/items`. A pending file is returned, as
861
+ active, once its bytes have landed in storage, even if the upload has not
862
+ finalized yet; a pending file whose bytes have not been uploaded is
863
+ treated as unknown.
843
864
  operationId: batchGetStorageItems
844
865
  tags:
845
866
  - File Storage
@@ -1293,9 +1314,12 @@ paths:
1293
1314
  Updates an item's `name` and/or `description`. Renaming keeps the item's
1294
1315
  `_id` stable, so references from flows, exports, imports, and tokens
1295
1316
  survive; a name already held by another live item in the same folder is
1296
- rejected with 409 `STORAGE_ITEM_ALREADY_EXISTS`. To move an item to a
1297
- different folder, use `PATCH /v1/storage/items/{_id}/move`; to replace a
1298
- file's content, use `PATCH /v1/storage/items/{_id}/replace`.
1317
+ rejected with 409 `STORAGE_ITEM_ALREADY_EXISTS`. An integration's root
1318
+ folder (`isSystem`) can be renamed and described too; renaming the
1319
+ integration updates only the folder's `integrationName`, never its
1320
+ `name`. To move an item to a different folder, use
1321
+ `PATCH /v1/storage/items/{_id}/move`; to replace a file's content, use
1322
+ `PATCH /v1/storage/items/{_id}/replace`.
1299
1323
  operationId: updateStorageItem
1300
1324
  tags:
1301
1325
  - File Storage
@@ -1450,7 +1474,9 @@ paths:
1450
1474
  placement are preserved, so every reference to the file stays intact — use
1451
1475
  this instead of delete-and-recreate when a file is referenced by flows or
1452
1476
  exports. The previous content remains downloadable until the replacement
1453
- finalizes. Rename with `PUT /v1/storage/items/{_id}` instead; this
1477
+ finalizes. Uploading empty (0-byte) content does not replace it: the file
1478
+ itself is deleted permanently, without passing through the recycle bin.
1479
+ Rename with `PUT /v1/storage/items/{_id}` instead; this
1454
1480
  endpoint does not accept a name.
1455
1481
  operationId: replaceStorageFileContent
1456
1482
  tags:
@@ -1565,7 +1591,13 @@ paths:
1565
1591
  file: the destination file keeps its `_id` and takes the source file's
1566
1592
  content, its previous content is discarded, and the source file's `_id`
1567
1593
  is removed — neither goes to the recycle bin, so references to the
1568
- source file break. A soft-deleted source folder may be
1594
+ source file break. A sub-folder whose name the destination also holds as
1595
+ a folder is merged into it the same way. When the names match but the
1596
+ types differ (a file against a folder), both are kept: the destination
1597
+ item is unchanged, and the source item moves in with its `_id` under the
1598
+ first free `<name> (k)` — the suffix follows the full name, so
1599
+ `report.pdf` lands as `report.pdf (1)`, or `report.pdf (2)` when
1600
+ `report.pdf (1)` is taken. A soft-deleted source folder may be
1569
1601
  merged, which restores its contents into the destination. Folders only —
1570
1602
  move individual files with the move endpoint. Requires delete access on
1571
1603
  the source folder and write access on the destination.
@@ -2425,7 +2457,7 @@ components:
2425
2457
  size:
2426
2458
  type: integer
2427
2459
  format: int64
2428
- minimum: 0
2460
+ minimum: 1
2429
2461
  description: |-
2430
2462
  Declared size in bytes. Used to reserve quota up front. When omitted,
2431
2463
  the backend reserves a worst-case estimate (1 GB for single,
@@ -2765,6 +2797,18 @@ components:
2765
2797
  integration purges them.
2766
2798
  examples:
2767
2799
  - 6ab1e7ab38d7733b4594d0d2
2800
+ _fileServerAccountId:
2801
+ type: string
2802
+ format: objectId
2803
+ readOnly: true
2804
+ x-celigo-refModel: fileserveraccounts
2805
+ description: |-
2806
+ File Server account that uploaded the file over SFTP, or that most
2807
+ recently replaced its content over SFTP. Absent for folders and for
2808
+ files uploaded through this API; replacing the content through this
2809
+ API keeps the current value.
2810
+ examples:
2811
+ - 6ac0f3e1b2d4a5001c7e9f10
2768
2812
  integrationName:
2769
2813
  type: string
2770
2814
  readOnly: true
@@ -2772,6 +2816,9 @@ components:
2772
2816
  Name of the integration an integration root folder belongs to. Present
2773
2817
  only on that root folder (the `isSystem` folder at the account root);
2774
2818
  items inside the tree carry `_integrationId` but not this field.
2819
+ Follows the integration's name when the integration is renamed, while
2820
+ the folder's own `name` keeps the value it was created with or last
2821
+ renamed to, so the two can differ.
2775
2822
  examples:
2776
2823
  - Order to cash
2777
2824
  __ancestorIds:
@@ -2802,10 +2849,15 @@ components:
2802
2849
  maxLength: 256
2803
2850
  readOnly: true
2804
2851
  description: |-
2805
- Media type recorded at upload time, used to set the download
2806
- Content-Type. Present when type is file; absent for folders and for
2807
- files uploaded without a declared type. Matched case-sensitively by
2808
- the `mimeType` and `mimeType_nin` list filters.
2852
+ Media type used to set the download Content-Type. Present when type is
2853
+ file; absent for folders and for files uploaded through this API
2854
+ without a declared type. A file uploaded over the SFTP file server gets
2855
+ the type its name's extension maps to, ignoring a trailing `.filepart`,
2856
+ `.part`, or `.tmp`, or `application/octet-stream` when the extension is
2857
+ unknown. An SFTP rename replaces an absent or `application/octet-stream`
2858
+ value when the new extension maps to a known type; renames made with an
2859
+ API token leave the value unchanged. Matched case-sensitively by the
2860
+ `mimeType` and `mimeType_nin` list filters.
2809
2861
  examples:
2810
2862
  - image/png
2811
2863
  description:
@@ -2831,11 +2883,13 @@ components:
2831
2883
  type: boolean
2832
2884
  readOnly: true
2833
2885
  description: |-
2834
- When true, the platform created the item (for example a system or
2835
- integration folder) and protects it — rename, move, content replace,
2836
- copy, delete, and purge are rejected with 403
2837
- `STORAGE_SYSTEM_ITEM_PROTECTED` ("System items cannot be modified or
2838
- deleted").
2886
+ When true, the platform created the item (for example an
2887
+ integration's root folder) and protects it: moving it, merging it
2888
+ into another folder, deleting it, and restoring or purging it from
2889
+ the recycle bin are rejected with 403 `STORAGE_SYSTEM_ITEM_PROTECTED`
2890
+ ("System items cannot be modified or deleted"; a per-item error in a
2891
+ bulk move). Renaming it and editing its description with
2892
+ `PUT /v1/storage/items/{_id}` are allowed.
2839
2893
  deletedAt:
2840
2894
  type: string
2841
2895
  format: date-time
@@ -3049,7 +3103,7 @@ components:
3049
3103
  size:
3050
3104
  type: integer
3051
3105
  format: int64
3052
- minimum: 0
3106
+ minimum: 1
3053
3107
  description: |-
3054
3108
  Declared size in bytes of the replacement content, used to reserve
3055
3109
  quota. Reconciled to the real size when the upload finalizes.
package/dist/flow.yml CHANGED
@@ -4369,6 +4369,12 @@ components:
4369
4369
  step's response is discarded after the call.
4370
4370
 
4371
4371
  `fields` and `lists` are plain arrays — exactly the shape GET returns.
4372
+ Entries sent empty (`null`, `{}`, or every value `null`) are dropped on
4373
+ save. Any other `fields` entry left with neither `extract` nor
4374
+ `generate`, or `lists` entry with neither `generate` nor `fields` —
4375
+ what is left of a wrapped or misspelled value such as
4376
+ `"fields": {"type": [...]}` — fails the save with 422
4377
+ `invalid_field_value`.
4372
4378
 
4373
4379
  Extract paths do NOT read the raw application response — the platform
4374
4380
  wraps every response in a canonical per-record envelope first, and
@@ -4425,10 +4431,10 @@ components:
4425
4431
  runs on top of it in a test run).
4426
4432
  - |-
4427
4433
  Send `fields` and `lists` as bare arrays, exactly as GET returns them.
4428
- Never wrap either in an object (e.g. `"fields": {"type": [...]}`): the
4429
- API does not reject that shape — it returns 200 and silently persists
4430
- `fields: [null]` / `lists: [{"fields": []}]`, erasing the step's
4431
- response mappings.
4434
+ A wrapped value (e.g. `"fields": {"type": [...]}`), an empty object
4435
+ (`"fields": {}`), or an entry holding only unknown keys fails the save
4436
+ with 422 `invalid_field_value`, and the error's `field` names the array
4437
+ (e.g. `pageProcessors[0].responseMapping.fields`).
4432
4438
  - |-
4433
4439
  responseMapping is fully replaced on PUT: omitting it resets the step
4434
4440
  to empty `{"fields": [], "lists": []}`. Always send the complete
@@ -1597,11 +1597,13 @@ paths:
1597
1597
  operationId: registerConnectionToIntegrationByBody
1598
1598
  tags:
1599
1599
  - Integrations
1600
- summary: Register a connection to an integration (by body)
1600
+ summary: Register connections to an integration (by body)
1601
1601
  description: |-
1602
- Registers a single connection to the integration by passing the connection id in the request
1603
- body. Alternatively, use `PUT /v1/integrations/{_id}/connections/{_connectionId}/register` to
1604
- register by path parameter.
1602
+ Registers one or more connections to the integration, adding them to its
1603
+ `_registeredConnectionIds` list. The request body is a bare JSON array of
1604
+ connection ids; duplicates and ids that are already registered are ignored.
1605
+ Alternatively, use `PUT /v1/integrations/{_id}/connections/{_connectionId}/register`
1606
+ to register a single connection by path parameter.
1605
1607
  parameters:
1606
1608
  - name: _id
1607
1609
  in: path
@@ -1618,24 +1620,40 @@ paths:
1618
1620
  content:
1619
1621
  application/json:
1620
1622
  schema:
1621
- type: object
1622
- required:
1623
- - _connectionId
1624
- properties:
1625
- _connectionId:
1626
- type: string
1627
- format: objectId
1628
- x-celigo-refModel: connections
1629
- examples:
1630
- - 626168f90b6ef816b50c82d7
1631
- description: The id of the connection to register.
1623
+ type: array
1624
+ description: Connection ids to register.
1625
+ items:
1626
+ type: string
1627
+ format: objectId
1628
+ x-celigo-refModel: connections
1632
1629
  examples:
1633
1630
  default:
1634
1631
  value:
1635
- _connectionId: 69680d7111d1437fbcbce534
1632
+ - 626168f90b6ef816b50c82d7
1633
+ - 6553ebdeda62bb22e7fa81ff
1636
1634
  responses:
1637
1635
  '204':
1638
- description: Connection registered successfully. No body returned.
1636
+ description: Connections registered successfully. No body returned.
1637
+ '400':
1638
+ description: |-
1639
+ The body is not a JSON array (`invalid_request`), or an entry in the
1640
+ array is not a valid ObjectId (`invalid_ref`).
1641
+ content:
1642
+ application/json:
1643
+ schema:
1644
+ $ref: '#/components/schemas/Error'
1645
+ examples:
1646
+ notAnArray:
1647
+ summary: 'An object body such as {"_connectionId": "..."}'
1648
+ value:
1649
+ errors:
1650
+ - code: invalid_request
1651
+ message: Request body should be a JSON array of _connectionId values.
1652
+ invalidId:
1653
+ value:
1654
+ errors:
1655
+ - code: invalid_ref
1656
+ message: Please provide a valid _connectionId.
1639
1657
  '401':
1640
1658
  $ref: '#/components/responses/401-unauthorized'
1641
1659
  '404':
@@ -1934,11 +1952,25 @@ paths:
1934
1952
  '204':
1935
1953
  description: Lookup caches registered successfully. No body returned.
1936
1954
  '400':
1937
- description: An entry in the array is not a valid ObjectId.
1955
+ description: |-
1956
+ The body is not a JSON array (`invalid_request`), or an entry in the
1957
+ array is not a valid ObjectId (`invalid_ref`).
1938
1958
  content:
1939
1959
  application/json:
1940
1960
  schema:
1941
1961
  $ref: '#/components/schemas/Error'
1962
+ examples:
1963
+ notAnArray:
1964
+ summary: 'An object body such as {"_lookupCacheId": "..."}'
1965
+ value:
1966
+ errors:
1967
+ - code: invalid_request
1968
+ message: Request body should be a JSON array of _lookupCacheId values.
1969
+ invalidId:
1970
+ value:
1971
+ errors:
1972
+ - code: invalid_ref
1973
+ message: Please provide a valid _lookupCacheId.
1942
1974
  '401':
1943
1975
  $ref: '#/components/responses/401-unauthorized'
1944
1976
  '404':
@@ -435,6 +435,7 @@ paths:
435
435
  name: Error automation via integrator.io APIs
436
436
  docType: Template
437
437
  type: integration
438
+ celigoAgentSupported: false
438
439
  description: Template that automates flow error handling via integrator.io APIs.
439
440
  applications:
440
441
  - integrator.io
@@ -544,6 +545,15 @@ components:
544
545
  on Connector entries, which install through their own route.
545
546
  examples:
546
547
  - integration
548
+ celigoAgentSupported:
549
+ type: boolean
550
+ description: |-
551
+ When true, the template is flagged for installation through the Celigo Agent (Ora)
552
+ guided install. Present on every `docType: Template` entry of
553
+ `POST /v1/published/combined`; absent on Connector entries and from
554
+ `GET /v1/templates/published`.
555
+ examples:
556
+ - false
547
557
  imageURL:
548
558
  type: string
549
559
  description: |-