@celigo/api-specs 0.2.19 → 0.2.20

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/job.yml CHANGED
@@ -333,9 +333,9 @@ paths:
333
333
  `canceled`, `retried`) are not returned; use `POST /v1/flows/runs/stats` for run history.
334
334
 
335
335
  The request body contains all filters -- there are no query-string parameters. Narrow to a specific flow or
336
- integration with `_flowIds` / `_integrationIds` (AND-combined). The time bounds `time_gt` and `time_lte`
337
- are accepted but do not narrow this list; to find long-running jobs, compare each job's `createdAt` or
338
- `startedAt` on the client.
336
+ integration with `_flowIds` / `_integrationIds` (not both — sending both is rejected with HTTP 400).
337
+ `time_gt` and `time_lte` are not filters on this endpoint; use `POST /v1/flows/runs/stats`. To find
338
+ long-running jobs, compare each job's `createdAt` or `startedAt` on the client.
339
339
  requestBody:
340
340
  required: true
341
341
  content:
@@ -363,12 +363,11 @@ paths:
363
363
  $ref: '#/components/schemas/JobsCurrentResponse'
364
364
  examples:
365
365
  one_page:
366
- summary: One queued retry job — single page, so no pagingPostBody
366
+ summary: One queued flow job — single page, so no pagingPostBody
367
367
  value:
368
368
  jobs:
369
369
  - _id: 69e9958f815ae7eae3d9146b
370
- type: retry
371
- _importId: 69e9953d7a8373d88147b5ec
370
+ type: flow
372
371
  _flowId: 69e99544f3a2ac489d0f7953
373
372
  status: queued
374
373
  numSuccess: 0
@@ -377,6 +376,11 @@ paths:
377
376
  numOpenError: 0
378
377
  createdAt: '2026-04-23T03:44:15.515Z'
379
378
  lastModified: '2026-04-23T03:44:15.532Z'
379
+ flow:
380
+ _id: 69e99544f3a2ac489d0f7953
381
+ name: Shopee
382
+ _integrationId: 69496f01615f724066afaac2
383
+ integrationName: Shopee
380
384
  '204':
381
385
  description: No in-progress jobs match the filter.
382
386
  '400':
@@ -390,10 +394,9 @@ paths:
390
394
  application. The platform requires ``sandbox`` in the body; Ora is
391
395
  production-only so it always sends ``false``.
392
396
  - |-
393
- time_gt and time_lte are accepted but do not narrow this endpoint: a time_lte a week
394
- in the past still returns jobs created seconds ago. To find jobs stuck for longer than
395
- a threshold, compare each job's createdAt or startedAt yourself, and never describe the
396
- result as bounded by a time filter you sent.
397
+ Do not send time_gt or time_lte; they are not on this request. To find jobs
398
+ stuck for longer than a threshold, compare each job's createdAt or startedAt
399
+ on the client.
397
400
  /v1/flows/runs/stats:
398
401
  post:
399
402
  x-internal: false
@@ -1443,15 +1446,29 @@ components:
1443
1446
  triggeredBy:
1444
1447
  type: string
1445
1448
  readOnly: true
1446
- description: Who/what triggered the job (free-form string).
1449
+ description: |-
1450
+ What started the run. On a `flow` job: `system` for a scheduled run, the `_id` of
1451
+ the user who ran the flow, or the `_id` of the upstream flow whose `_runNextFlowIds`
1452
+ chained into this one; absent on event-driven runs (webhook, real-time listener, and
1453
+ stream page generators), which the inbound event starts. On a `retry` job: `auto`
1454
+ for the platform's automatic intermittent-error retry, otherwise the `_id` of the
1455
+ user who submitted the retry. Absent on `export` and `import` child jobs — the
1456
+ parent flow job carries it.
1447
1457
  examples:
1448
- - scheduler
1458
+ - system
1449
1459
  canceledBy:
1450
1460
  type: string
1451
1461
  readOnly: true
1452
- description: Who/what requested cancellation (free-form string).
1462
+ description: |-
1463
+ Who canceled the run: the `_id` of the user who requested the cancel, or `system` for
1464
+ every platform-initiated cancel — stuck-run recovery after a worker exit or crash or
1465
+ when a run stops making progress, stale-run cleanup, a scheduler that could not
1466
+ re-queue the run, and the cancels that follow deleting the flow or replacing one of
1467
+ its connections. The record does not say which of these it was.
1468
+ x-celigo-ai-guidance:
1469
+ - A `system` cancel is not something the user did and not a verdict on the flow's configuration, and by itself it does not prove the run was stuck — deleting the flow or replacing one of its connections cancels in-flight runs the same way; read the run's age and progress counters for that.
1453
1470
  examples:
1454
- - user
1471
+ - system
1455
1472
  flowExecutionGroupId:
1456
1473
  type: string
1457
1474
  readOnly: true
@@ -1656,43 +1673,58 @@ components:
1656
1673
  type: string
1657
1674
  examples:
1658
1675
  - netsuite
1659
- category:
1676
+ createdOnAndAfter:
1660
1677
  type: string
1661
- description: Optional category filter (e.g., `edi`).
1678
+ format: date-time
1679
+ description: Paging cursor. The server sets this on `pagingPostBody` to the last row's `createdAt`.
1662
1680
  examples:
1663
- - edi
1664
- time_gt:
1665
- type: integer
1666
- format: int64
1667
- description: |-
1668
- Start of the time window, in epoch milliseconds (exclusive). `POST /v1/flows/runs/stats`
1669
- aggregates only runs inside the window. `POST /v1/jobs/current` accepts the field but does
1670
- not apply it: in-progress jobs are returned regardless of when they were created.
1681
+ - '2026-05-02T01:03:51.757Z'
1682
+ required: []
1683
+ DashboardFlow:
1684
+ type: object
1685
+ description: Minimal flow metadata inlined for rendering convenience — equivalent to `GET /v1/flows/{_flowId}` with most fields stripped.
1686
+ properties:
1687
+ _id:
1688
+ type: string
1689
+ format: objectId
1690
+ x-celigo-refModel: flows
1691
+ description: Flow id (matches the outer `_flowId`).
1671
1692
  examples:
1672
- - 1745366400000
1673
- time_lte:
1674
- type: integer
1675
- format: int64
1676
- description: |-
1677
- End of the time window, in epoch milliseconds (inclusive). `POST /v1/flows/runs/stats`
1678
- aggregates only runs inside the window. `POST /v1/jobs/current` accepts the field but does
1679
- not apply it. To find jobs that have been queued or running longer than a threshold, compare
1680
- each returned job's `createdAt` (queued) or `startedAt` (running) on the client.
1693
+ - 69497fc443fc1f9a03d31bd9
1694
+ name:
1695
+ type: string
1696
+ description: Flow name.
1681
1697
  examples:
1682
- - 1746147600000
1683
- required: []
1684
- JobWithChildren:
1698
+ - Shopee
1699
+ _abstractFlowId:
1700
+ type: string
1701
+ format: objectId
1702
+ x-celigo-refModel: flows
1703
+ description: Abstract flow this instance was created from. Omitted for ordinary flows.
1704
+ examples:
1705
+ - 69497fc443fc1f9a03d31bd0
1706
+ abstractFlowName:
1707
+ type: string
1708
+ description: Name of the abstract flow. Omitted when `_abstractFlowId` is absent.
1709
+ _integrationId:
1710
+ type: string
1711
+ format: objectId
1712
+ x-celigo-refModel: integrations
1713
+ description: Parent integration id. Omitted for standalone flows.
1714
+ examples:
1715
+ - 69496f01615f724066afaac2
1716
+ integrationName:
1717
+ type: string
1718
+ description: Parent integration name. Omitted for standalone flows.
1719
+ examples:
1720
+ - Shopee
1721
+ CurrentJobEntry:
1685
1722
  allOf:
1686
1723
  - $ref: '#/components/schemas/Job'
1687
1724
  - type: object
1688
- description: Job plus any child jobs (job family view).
1689
1725
  properties:
1690
- children:
1691
- type: array
1692
- readOnly: true
1693
- description: Child jobs (export/import) that are part of this job family.
1694
- items:
1695
- $ref: '#/components/schemas/Job'
1726
+ flow:
1727
+ $ref: '#/components/schemas/DashboardFlow'
1696
1728
  JobsCurrentResponse:
1697
1729
  type: object
1698
1730
  description: Response envelope for `POST /v1/jobs/current`.
@@ -1701,45 +1733,91 @@ components:
1701
1733
  type: array
1702
1734
  description: Current (in-progress) jobs.
1703
1735
  items:
1704
- $ref: '#/components/schemas/JobWithChildren'
1736
+ $ref: '#/components/schemas/CurrentJobEntry'
1705
1737
  pagingPostBody:
1706
- type: object
1707
1738
  description: |-
1708
1739
  Cursor for the next page. Absent on the last (or only) page. Pagination is **body-based**:
1709
1740
  POST this object back to the same endpoint as the next request body to fetch the next page.
1710
- Echoes the caller's filter plus a server-added watermark (`endedOnOrBefore`). Single-page
1741
+ Echoes the caller's filter plus a server-added watermark (`createdOnAndAfter`). Single-page
1711
1742
  responses omit this field entirely.
1712
- properties:
1713
- endedOnOrBefore:
1714
- type: string
1715
- format: date-time
1716
- description: Server-added cursor watermark — only jobs with `endedAt <= this` are included on the next page.
1717
- examples:
1718
- - '2026-05-02T01:03:51.757Z'
1743
+ allOf:
1744
+ - $ref: '#/components/schemas/JobsCurrentRequest'
1719
1745
  FlowRunsStatsRequest:
1720
- allOf:
1721
- - $ref: '#/components/schemas/JobsCurrentRequest'
1722
- - type: object
1723
- description: |-
1724
- Request body for `POST /v1/flows/runs/stats`. Shares its filter shape with `POST /v1/jobs/current`
1725
- (`_integrationIds`, `_flowIds`, `time_gt`, `time_lte`, …), but the response is a set of
1726
- **per-flow aggregates** rather than individual job records. Filters narrow which runs are rolled
1727
- up into each aggregate.
1746
+ type: object
1747
+ description: |-
1748
+ Request body for `POST /v1/flows/runs/stats`. Shares common filters with `POST /v1/jobs/current`
1749
+ (`_integrationIds`, `_flowIds`, …), but the response is a set of
1750
+ **per-flow aggregates** rather than individual job records. Filters narrow which runs are rolled
1751
+ up into each aggregate.
1728
1752
 
1729
- Omitting `time_gt` does not mean "all history" — the endpoint falls back to the dashboard's
1730
- default window (approximately the last 24 hours), and runs older than that silently drop out
1731
- of every aggregate. Send `time_gt` (epoch milliseconds) explicitly for any other range.
1753
+ Omitting `time_gt` does not mean "all history" — the endpoint falls back to the dashboard's
1754
+ default window (approximately the last 24 hours), and runs older than that silently drop out
1755
+ of every aggregate. Send `time_gt` (epoch milliseconds) explicitly for any other range.
1732
1756
 
1733
- `time_lte` must not be later than the current time: a future value is rejected with
1734
- `400 invalid_filter_request_body` (unlike `POST /v1/jobs/current`, which accepts it). Omit
1735
- `time_lte` to end the window at now. When both bounds are sent they must be at least one hour
1736
- apart (`time_lte - time_gt >= 3600000`), or the request is rejected with
1737
- `400 invalid_time_filter`; a window with `time_gt` alone has no minimum span.
1738
- x-celigo-ai-guidance:
1739
- - Always send an explicit time_gt matching the window you intend to report, and never present the aggregates as covering a longer period than the time filter you sent. Without time_gt the default window (~24 hours) applies — an empty result then means "nothing ran recently", never "no runs exist".
1740
- - For a window that runs through the present, omit time_lte rather than computing an end bound — a value even seconds ahead of the server clock (a rounded-up "now", end of today) fails the whole request with 400 invalid_filter_request_body.
1741
- - A closed window narrower than one hour cannot be queried; widen time_lte to time_gt + one hour (and say so when reporting) rather than sending the narrower range.
1742
- - A flow absent from stats[] had no runs in the window; it does not mean the flow does not exist. numOpenError counts errors open NOW, which may predate the window.
1757
+ `time_lte` must not be later than the current time: a future value is rejected with
1758
+ `400 invalid_filter_request_body`. Omit
1759
+ `time_lte` to end the window at now. When both bounds are sent they must be at least one hour
1760
+ apart (`time_lte - time_gt >= 3600000`), or the request is rejected with
1761
+ `400 invalid_time_filter`; a window with `time_gt` alone has no minimum span.
1762
+ x-celigo-ai-guidance:
1763
+ - Always send an explicit time_gt matching the window you intend to report, and never present the aggregates as covering a longer period than the time filter you sent. Without time_gt the default window (~24 hours) applies — an empty result then means "nothing ran recently", never "no runs exist".
1764
+ - For a window that runs through the present, omit time_lte rather than computing an end bound — a value even seconds ahead of the server clock (a rounded-up "now", end of today) fails the whole request with 400 invalid_filter_request_body.
1765
+ - A closed window narrower than one hour cannot be queried; widen time_lte to time_gt + one hour (and say so when reporting) rather than sending the narrower range.
1766
+ - A flow absent from stats[] had no runs in the window; it does not mean the flow does not exist. numOpenError counts errors open NOW, which may predate the window.
1767
+ properties:
1768
+ _integrationIds:
1769
+ type: array
1770
+ description: Optional filter to only return jobs for these integration ids.
1771
+ items:
1772
+ type: string
1773
+ format: objectId
1774
+ x-celigo-refModel: integrations
1775
+ examples:
1776
+ - 6842261335b64c0bcb308e4f
1777
+ _flowIds:
1778
+ type: array
1779
+ description: Optional filter to only return jobs for these flow ids.
1780
+ items:
1781
+ type: string
1782
+ format: objectId
1783
+ x-celigo-refModel: flows
1784
+ examples:
1785
+ - 69497fc443fc1f9a03d31bd9
1786
+ applicationIds:
1787
+ type: array
1788
+ description: Optional filter by application ids.
1789
+ items:
1790
+ type: string
1791
+ examples:
1792
+ - netsuite
1793
+ category:
1794
+ type: string
1795
+ description: Optional category filter (e.g., `edi`).
1796
+ examples:
1797
+ - edi
1798
+ time_gt:
1799
+ type: integer
1800
+ format: int64
1801
+ description: |-
1802
+ Start of the time window, in epoch milliseconds (exclusive). `POST /v1/flows/runs/stats`
1803
+ aggregates only runs inside the window.
1804
+ examples:
1805
+ - 1745366400000
1806
+ time_lte:
1807
+ type: integer
1808
+ format: int64
1809
+ description: |-
1810
+ End of the time window, in epoch milliseconds (inclusive). `POST /v1/flows/runs/stats`
1811
+ aggregates only runs inside the window.
1812
+ examples:
1813
+ - 1746147600000
1814
+ endedOnOrBefore:
1815
+ type: string
1816
+ format: date-time
1817
+ description: Paging cursor. The server sets this on `pagingPostBody` to the last row's `lastExecutedAt`.
1818
+ examples:
1819
+ - '2026-04-23T02:51:52.551Z'
1820
+ required: []
1743
1821
  FlowRunStatsEntry:
1744
1822
  type: object
1745
1823
  description: |-
@@ -1822,7 +1900,7 @@ components:
1822
1900
  lastExecutedAt:
1823
1901
  type: string
1824
1902
  format: date-time
1825
- description: Timestamp of the most recent matching run (any status).
1903
+ description: Timestamp of the most recent matching terminal run (`completed`, `canceled`, or `failed`).
1826
1904
  examples:
1827
1905
  - '2026-04-23T02:51:52.551Z'
1828
1906
  lastErrorAt:
@@ -1832,33 +1910,7 @@ components:
1832
1910
  examples:
1833
1911
  - '2026-04-21T10:51:13.221Z'
1834
1912
  flow:
1835
- type: object
1836
- description: Minimal flow metadata inlined for rendering convenience — equivalent to `GET /v1/flows/{_flowId}` with most fields stripped.
1837
- properties:
1838
- _id:
1839
- type: string
1840
- format: objectId
1841
- x-celigo-refModel: flows
1842
- description: Flow id (matches the outer `_flowId`).
1843
- examples:
1844
- - 69497fc443fc1f9a03d31bd9
1845
- name:
1846
- type: string
1847
- description: Flow name.
1848
- examples:
1849
- - Shopee
1850
- _integrationId:
1851
- type: string
1852
- format: objectId
1853
- x-celigo-refModel: integrations
1854
- description: Parent integration id. Omitted for standalone flows.
1855
- examples:
1856
- - 69496f01615f724066afaac2
1857
- integrationName:
1858
- type: string
1859
- description: Parent integration name. Omitted for standalone flows.
1860
- examples:
1861
- - Shopee
1913
+ $ref: '#/components/schemas/DashboardFlow'
1862
1914
  FlowRunsStatsResponse:
1863
1915
  type: object
1864
1916
  description: |-
@@ -1877,20 +1929,14 @@ components:
1877
1929
  items:
1878
1930
  $ref: '#/components/schemas/FlowRunStatsEntry'
1879
1931
  pagingPostBody:
1880
- type: object
1881
1932
  description: |-
1882
1933
  Cursor for the next page. Absent on the last (or only) page. Pagination is **body-based**:
1883
1934
  POST this object back to the same endpoint as the next request body to fetch the next page.
1884
1935
  The object echoes the caller's filter plus a server-added watermark
1885
1936
  (`endedOnOrBefore`) that carries the cursor position. Single-page responses (typical for
1886
1937
  normal account sizes) omit this field entirely.
1887
- properties:
1888
- endedOnOrBefore:
1889
- type: string
1890
- format: date-time
1891
- description: Server-added cursor watermark — only runs with `endedAt <= this` are included on the next page.
1892
- examples:
1893
- - '2026-04-23T02:51:52.551Z'
1938
+ allOf:
1939
+ - $ref: '#/components/schemas/FlowRunsStatsRequest'
1894
1940
  JobsFamilyBatchRequest:
1895
1941
  type: array
1896
1942
  description: Array of job ids to fetch family information for (max 1000 ids per request).
@@ -1900,6 +1946,18 @@ components:
1900
1946
  x-celigo-refModel: jobs
1901
1947
  examples:
1902
1948
  - 69e981ee18808f3e5ed1b2fd
1949
+ JobWithChildren:
1950
+ allOf:
1951
+ - $ref: '#/components/schemas/Job'
1952
+ - type: object
1953
+ description: Job plus any child jobs (job family view).
1954
+ properties:
1955
+ children:
1956
+ type: array
1957
+ readOnly: true
1958
+ description: Child jobs (export/import) that are part of this job family.
1959
+ items:
1960
+ $ref: '#/components/schemas/Job'
1903
1961
  JobFilesSignedUrlRequest:
1904
1962
  type: object
1905
1963
  description: |